diff options
author | David Schleef <ds@schleef.org> | 2004-05-14 19:26:35 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2004-05-14 19:26:35 +0000 |
commit | 63d2359147f38f65f2f92522ffb0db0f064cb924 (patch) | |
tree | 7d6dee44d5ed2464a12420b426272b1333cc5fa3 | |
parent | 5fa01401cc64b059324423d0168892ed34beac14 (diff) |
ext/esd/esdsink.c: Fix crash when ESD is killed while we're playing.
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().
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/esd/esdsink.c | 5 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 1 |
3 files changed, 12 insertions, 1 deletions
@@ -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 : diff --git a/ext/esd/esdsink.c b/ext/esd/esdsink.c index c6c5be4d..abb0b9b0 100644 --- a/ext/esd/esdsink.c +++ b/ext/esd/esdsink.c @@ -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; diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index e76c13fe..4afdf0cf 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -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 |