pulsesink: use acquired flag when checking valid state
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 18 Nov 2009 11:22:10 +0000 (12:22 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Wed, 18 Nov 2009 16:27:19 +0000 (17:27 +0100)
Use the acquired field of the ringbuffer in get_time to know when we are in an
invalid state. We don't clear the rate flag when releasing the ringbuffer so
this values is not usable.

Avoids some error messages being posted because the pulseaudio connection is
down.

ext/pulse/pulsesink.c

index aec5da6..ecf18ea 100644 (file)
@@ -1591,7 +1591,7 @@ gst_pulsesink_get_time (GstClock * clock, GstBaseAudioSink * sink)
   GstPulseRingBuffer *pbuf;
   pa_usec_t time;
 
-  if (sink->ringbuffer == NULL || sink->ringbuffer->spec.rate == 0)
+  if (!sink->ringbuffer || !sink->ringbuffer->acquired)
     return GST_CLOCK_TIME_NONE;
 
   pbuf = GST_PULSERING_BUFFER_CAST (sink->ringbuffer);