diff options
author | Andy Wingo <wingo@pobox.com> | 2005-09-05 16:28:16 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2005-09-05 16:28:16 +0000 |
commit | 1c1c961af4207d681f7053c62fa9d649c59967c9 (patch) | |
tree | 6bd4714534b97f70563832176c7ae74c1a50bf12 /ext/dv | |
parent | bcf4791a47962b5c06dcb6d2e92542e4bc81da24 (diff) |
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 <wingo@pobox.com>
* 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.
Diffstat (limited to 'ext/dv')
-rw-r--r-- | ext/dv/gstdvdemux.c | 6 |
1 files changed, 4 insertions, 2 deletions
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); |