+2005-10-08 Wim Taymans <wim@fluendo.com>
+
+ * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_stop):
+ Only actually wait for the thread to be stopped if it's
+ running.
+
2005-10-08 Wim Taymans <wim@fluendo.com>
* gst-libs/gst/audio/gstbaseaudiosink.c:
{
GstAudioSink *sink;
GstAudioSinkClass *csink;
+ GstAudioRingBuffer *abuf;
sink = GST_AUDIO_SINK (GST_OBJECT_PARENT (buf));
csink = GST_AUDIO_SINK_GET_CLASS (sink);
+ abuf = GST_AUDIORING_BUFFER (buf);
/* unblock any pending writes to the audio device */
if (csink->reset) {
GST_DEBUG ("reset done");
}
- GST_DEBUG ("stop, waiting...");
- GST_AUDIORING_BUFFER_WAIT (buf);
- GST_DEBUG ("stopped");
+ if (abuf->running) {
+ GST_DEBUG ("stop, waiting...");
+ GST_AUDIORING_BUFFER_WAIT (buf);
+ GST_DEBUG ("stopped");
+ }
return TRUE;
}