From 1c1c961af4207d681f7053c62fa9d649c59967c9 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Mon, 5 Sep 2005 16:28:16 +0000 Subject: ext/dv/gstdvdemux.c (gst_dvdemux_chain): Move the pad adding here from the state change handler, so we fire signals w... Original commit message from CVS: 2005-09-05 Andy Wingo * ext/dv/gstdvdemux.c (gst_dvdemux_chain): Move the pad adding here from the state change handler, so we fire signals without holding the state lock. --- ext/dv/gstdvdemux.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'ext') diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index 8655f65d..ec509790 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -936,6 +936,10 @@ gst_dvdemux_chain (GstPad * pad, GstBuffer * buffer) dvdemux = GST_DVDEMUX (gst_pad_get_parent (pad)); + /* temporary hack? Can't do this from the state change */ + if (!dvdemux->videosrcpad) + gst_dvdemux_add_pads (dvdemux); + gst_adapter_push (dvdemux->adapter, buffer); /* Apparently dv_parse_header can read from the body of the frame @@ -965,8 +969,6 @@ gst_dvdemux_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_NULL_TO_READY: - if (!dvdemux->videosrcpad) - gst_dvdemux_add_pads (dvdemux); break; case GST_STATE_CHANGE_READY_TO_PAUSED: dvdemux->decoder = dv_decoder_new (0, FALSE, FALSE); -- cgit