ext/alsa/gstalsasink.c: Add some more debug info.
authorTommi Myöhänen <ext-tommi.myohanen@nokia.com>
Wed, 13 Feb 2008 14:34:55 +0000 (14:34 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Wed, 13 Feb 2008 14:34:55 +0000 (14:34 +0000)
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_delay):
Add some more debug info.
Make sure we never return a negative delay. Fixes #516246.

ChangeLog
ext/alsa/gstalsasink.c

index c504e1f..3fcf558 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-13  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
+
+       * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_delay):
+       Add some more debug info.
+       Make sure we never return a negative delay. Fixes #516246.
+
 2008-02-12  Tim-Philipp Müller  <tim at centricular dot net>
 
        * ext/alsa/gstalsasink.c: (gst_alsasink_delay):
index 35347f4..b4e3413 100644 (file)
@@ -397,6 +397,7 @@ retry:
       buffer_time = -1;
       goto retry;
     }
+    GST_DEBUG_OBJECT (alsa, "buffer time %u", buffer_time);
   }
   if (period_time != -1) {
     /* set the period time */
@@ -409,6 +410,7 @@ retry:
       period_time = -1;
       goto retry;
     }
+    GST_DEBUG_OBJECT (alsa, "period time %u", period_time);
   }
 
   /* write the parameters to device */
@@ -858,9 +860,15 @@ gst_alsasink_delay (GstAudioSink * asink)
 
   res = snd_pcm_delay (alsa->handle, &delay);
   if (G_UNLIKELY (res < 0)) {
+    /* on errors, report 0 delay */
     GST_DEBUG_OBJECT (alsa, "snd_pcm_delay returned %d", res);
     delay = 0;
   }
+  if (G_UNLIKELY (delay < 0)) {
+    /* make sure we never return a negative delay */
+    GST_WARNING_OBJECT (alsa, "snd_pcm_delay returned negative delay");
+    delay = 0;
+  }
 
   return delay;
 }