ext/esd/esdsink.c: Fix crash when ESD is killed while we're playing.
authorDavid Schleef <ds@schleef.org>
Fri, 14 May 2004 19:26:35 +0000 (19:26 +0000)
committerDavid Schleef <ds@schleef.org>
Fri, 14 May 2004 19:26:35 +0000 (19:26 +0000)
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD
is killed while we're playing.
* gst/qtdemux/qtdemux.c: (qtdemux_parse): call
gst_element_no_more_pads().

ChangeLog
ext/esd/esdsink.c
gst/qtdemux/qtdemux.c

index 5327fdc..913ba5a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-05-14  David Schleef  <ds@schleef.org>
+
+       * ext/esd/esdsink.c: (gst_esdsink_chain): Fix crash when ESD
+       is killed while we're playing.
+       * gst/qtdemux/qtdemux.c: (qtdemux_parse): call
+       gst_element_no_more_pads().
+
 2004-05-14  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
 
        * gst-libs/gst/riff/riff-read.c :
index c6c5be4..abb0b9b 100644 (file)
@@ -296,7 +296,10 @@ gst_esdsink_chain (GstPad * pad, GstData * _data)
           if (errno == EINTR) {
             goto done;
           }
-          g_assert_not_reached ();
+          /* connection closed? */
+          GST_ELEMENT_ERROR (esdsink, RESOURCE, WRITE, (NULL),
+              ("communication with ESD failed"));
+          return;
         }
 
         to_write -= done;
index e76c13f..4afdf0c 100644 (file)
@@ -1722,6 +1722,7 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
   while ((trak = qtdemux_tree_get_sibling_by_type (trak, FOURCC_trak)) != NULL)
     qtdemux_parse_trak (qtdemux, trak);
 
+  gst_element_no_more_pads (GST_ELEMENT (qtdemux));
 }
 
 static void