[gst-cvs] gst-plugins-bad: shmsink: Don't block on EOS in non-blocking mode

Olivier Crête tester at kemper.freedesktop.org
Thu Jun 3 12:28:13 PDT 2010


Module: gst-plugins-bad
Branch: master
Commit: 663a8eac54c0259b651dae30c67e0e745b8be7ed
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=663a8eac54c0259b651dae30c67e0e745b8be7ed

Author: Olivier Crête <olivier.crete at collabora.co.uk>
Date:   Tue Nov  3 16:31:37 2009 -0500

shmsink: Don't block on EOS in non-blocking mode

---

 gst/shm/gstshmsink.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/gst/shm/gstshmsink.c b/gst/shm/gstshmsink.c
index 9a0233b..2423512 100644
--- a/gst/shm/gstshmsink.c
+++ b/gst/shm/gstshmsink.c
@@ -542,7 +542,8 @@ gst_shm_sink_event (GstBaseSink * bsink, GstEvent * event)
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_EOS:
       GST_OBJECT_LOCK (self);
-      while (sp_writer_pending_writes (self->pipe) && !self->unlock)
+      while (self->wait_for_connection && sp_writer_pending_writes (self->pipe)
+          && !self->unlock)
         g_cond_wait (self->cond, GST_OBJECT_GET_LOCK (self));
       GST_OBJECT_UNLOCK (self);
       break;





More information about the Gstreamer-commits mailing list