ekiga r7692 - in trunk: . lib/engine/components/ptlib



Author: dsandras
Date: Wed Feb 25 19:17:37 2009
New Revision: 7692
URL: http://svn.gnome.org/viewvc/ekiga?rev=7692&view=rev

Log:
Fixed problem introduced by the recent OpalMediaStream changes. Thanks
to Eugen for leading me in the right direction.


Modified:
   trunk/ChangeLog
   trunk/lib/engine/components/ptlib/audioinput-manager-ptlib.cpp
   trunk/lib/engine/components/ptlib/audiooutput-manager-ptlib.cpp

Modified: trunk/lib/engine/components/ptlib/audioinput-manager-ptlib.cpp
==============================================================================
--- trunk/lib/engine/components/ptlib/audioinput-manager-ptlib.cpp	(original)
+++ trunk/lib/engine/components/ptlib/audioinput-manager-ptlib.cpp	Wed Feb 25 19:17:37 2009
@@ -175,12 +175,13 @@
     if (ret) {
       bytes_read = input_device->GetLastReadCount();
     }
-    else {
+    if (bytes_read != size) {
       PTRACE(1, "GMAudioInputManager_ptlib\tEncountered error while trying to read data");
       runtime->run_in_main (sigc::bind (device_error.make_slot (), current_state.device, Ekiga::AI_ERROR_READ));
     }
   }
-  return ret;
+
+  return (ret || bytes_read == size);
 }
 
 void GMAudioInputManager_ptlib::set_volume (unsigned volume)

Modified: trunk/lib/engine/components/ptlib/audiooutput-manager-ptlib.cpp
==============================================================================
--- trunk/lib/engine/components/ptlib/audiooutput-manager-ptlib.cpp	(original)
+++ trunk/lib/engine/components/ptlib/audiooutput-manager-ptlib.cpp	Wed Feb 25 19:17:37 2009
@@ -159,9 +159,9 @@
 
 
 bool GMAudioOutputManager_ptlib::set_frame_data (Ekiga::AudioOutputPS ps, 
-                                   const char *data, 
-                                   unsigned size,
-				   unsigned & bytes_written)
+                                                 const char *data, 
+                                                 unsigned size,
+                                                 unsigned & bytes_written)
 {
   bool ret = false;
   bytes_written = 0;
@@ -176,13 +176,13 @@
     if (ret) {
       bytes_written = output_device[ps]->GetLastWriteCount();
     }
-    else {
+    if (bytes_written != size) {
       PTRACE(1, "GMAudioOutputManager_ptlib\tEncountered error while trying to write data");
       runtime->run_in_main (sigc::bind (device_error.make_slot (), ps, current_state[ps].device, Ekiga::AO_ERROR_WRITE));
-
     }
   }
-  return ret;
+
+  return (ret || bytes_written == size);
 }
 
 void GMAudioOutputManager_ptlib::set_volume (Ekiga::AudioOutputPS ps, unsigned volume )



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