diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | ext/dv/gstdvdemux.c | 6 |
2 files changed, 14 insertions, 2 deletions
@@ -1,3 +1,13 @@ +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. + +2005-09-02 Andy Wingo <wingo@pobox.com> + + * All plugins updated for element state changes. + 2005-09-01 Thomas Vander Stichele <thomas at apestaart dot org> * Makefile.am: 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); |