From: <wt...@fr...> - 2005-10-08 12:02:30
|
CVS Root: /cvs/gstreamer Module: gst-plugins-base Changes by: wtay Date: Sat Oct 08 2005 05:02:20 PDT Log message: * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_stop): Only actually wait for the thread to be stopped if it's running. Modified files: . : ChangeLog gst-libs/gst/audio: gstaudiosink.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/ChangeLog.diff?r1=1.1961&r2=1.1962 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/gst-libs/gst/audio/gstaudiosink.c.diff?r1=1.14&r2=1.15 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-base/ChangeLog,v retrieving revision 1.1961 retrieving revision 1.1962 diff -u -d -r1.1961 -r1.1962 --- ChangeLog 8 Oct 2005 11:47:51 -0000 1.1961 +++ ChangeLog 8 Oct 2005 12:02:08 -0000 1.1962 @@ -1,5 +1,11 @@ 2005-10-08 Wim Taymans <wi...@fl...> + * 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 <wi...@fl...> * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_event), (gst_base_audio_sink_render): If we receive EOS we can start playback of what we had. Index: gstaudiosink.c RCS file: /cvs/gstreamer/gst-plugins-base/gst-libs/gst/audio/gstaudiosink.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- gstaudiosink.c 2 Oct 2005 15:58:57 -0000 1.14 +++ gstaudiosink.c 8 Oct 2005 12:02:08 -0000 1.15 @@ -381,9 +381,11 @@ { 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) { @@ -392,9 +394,11 @@ 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; } |