Module: sems
Branch: master
Commit: fd67ce67991487120b157f285ce8d993adbd7670
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=fd67ce67991487120b157f285ce8d993adbd7670

Author: Raphael Coeffic <[email protected]>
Committer: Raphael Coeffic <[email protected]>
Date:   Tue Mar 20 16:17:35 2012 +0100

b/f: read the proper number of samples according to output sample rate.

---

 apps/rtmp/RtmpAudio.cpp |    4 ++++
 core/AmRtpAudio.cpp     |    3 +++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/apps/rtmp/RtmpAudio.cpp b/apps/rtmp/RtmpAudio.cpp
index f52d18c..8095378 100644
--- a/apps/rtmp/RtmpAudio.cpp
+++ b/apps/rtmp/RtmpAudio.cpp
@@ -91,10 +91,14 @@ int RtmpAudio::get(unsigned long long system_ts, unsigned 
char* buffer,
   //DBG("get(%u, %u)\n",user_ts,nb_samples);
   process_recv_queue(user_ts);
 
+  nb_samples = (unsigned int)((float)nb_samples * (float)getSampleRate()
+                            / (float)output_sample_rate);
+
   u_int32_t size =
     PCM16_S2B(playout_buffer.read(user_ts,
                                  (ShortSample*)((unsigned char*)samples),
                                  nb_samples));
+
   if(output_sample_rate != getSampleRate()) {
     size = resampleOutput((unsigned char*)samples, size,
                          getSampleRate(), output_sample_rate);
diff --git a/core/AmRtpAudio.cpp b/core/AmRtpAudio.cpp
index fe8560c..37a9057 100644
--- a/core/AmRtpAudio.cpp
+++ b/core/AmRtpAudio.cpp
@@ -198,6 +198,9 @@ int AmRtpAudio::get(unsigned long long system_ts, unsigned 
char* buffer,
 {
   unsigned int user_ts = scaleSystemTS(system_ts);
 
+  nb_samples = (unsigned int)((float)nb_samples * (float)getSampleRate()
+                            / (float)output_sample_rate);
+
   u_int32_t size =
     PCM16_S2B(playout_buffer->read(user_ts,
                                   (ShortSample*)((unsigned char*)samples),

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to