ekiga r7207 - in trunk: . lib/engine/audiooutput/skel



Author: mschneid
Date: Sun Oct 12 09:13:33 2008
New Revision: 7207
URL: http://svn.gnome.org/viewvc/ekiga?rev=7207&view=rev

Log:
Fix playing of audio files with samplerate != 8000Hz on windows (#555832).


Modified:
   trunk/ChangeLog
   trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp

Modified: trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp
==============================================================================
--- trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp	(original)
+++ trunk/lib/engine/audiooutput/skel/audiooutput-core.cpp	Sun Oct 12 09:13:33 2008
@@ -474,16 +474,17 @@
 {
   unsigned long pos = 0;
   unsigned bytes_written = 0;
+  unsigned buffer_size = (unsigned)((float)sample_rate/25);
 
   if (!internal_open ( ps, channels, sample_rate, bps))
     return;
 
   if (current_manager[ps]) {
-    current_manager[ps]->set_buffer_size (ps, 320, 4);
+    current_manager[ps]->set_buffer_size (ps, buffer_size, 4);
     do {
-      if (!current_manager[ps]->set_frame_data(ps, buffer+pos, std::min((unsigned)320, (unsigned) (len - pos)), bytes_written))
+      if (!current_manager[ps]->set_frame_data(ps, buffer+pos, std::min(buffer_size, (unsigned) (len - pos)), bytes_written))
         break;
-      pos += 320;
+      pos += buffer_size;
     } while (pos < len);
   }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]