summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2004-05-14 19:26:35 +0000
committerDavid Schleef <ds@schleef.org>2004-05-14 19:26:35 +0000
commit63d2359147f38f65f2f92522ffb0db0f064cb924 (patch)
tree7d6dee44d5ed2464a12420b426272b1333cc5fa3
parent5fa01401cc64b059324423d0168892ed34beac14 (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--ChangeLog7
-rw-r--r--ext/esd/esdsink.c5
-rw-r--r--gst/qtdemux/qtdemux.c1
3 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5327fdc2..913ba5ac 100644
--- 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 :
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