diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gst/avi/gstavidemux.c | 5 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 9 |
3 files changed, 19 insertions, 2 deletions
@@ -2,6 +2,13 @@ * gst/avi/gstavidemux.c: * gst/qtdemux/qtdemux.c: + Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that + previous commit messed up. + +2007-11-12 Stefan Kost <ensonic@users.sf.net> + + * gst/avi/gstavidemux.c: + * gst/qtdemux/qtdemux.c: Sync _handle_src_event() with oggdemux. In avidemux also ref the element when we should, but not when we its not needed. diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index d37db1b5..06cf2140 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -602,6 +602,11 @@ gst_avi_demux_handle_src_event (GstPad * pad, GstEvent * event) res = gst_avi_demux_handle_seek (avi, pad, event); gst_event_unref (event); break; + case GST_EVENT_QOS: + case GST_EVENT_NAVIGATION: + res = FALSE; + gst_event_unref (event); + break; default: res = gst_pad_event_default (pad, event); break; diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index 169862f6..63dc97ec 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -842,14 +842,19 @@ gst_qtdemux_handle_src_event (GstPad * pad, GstEvent * event) GST_DEBUG_OBJECT (qtdemux, "cannot seek in streaming mode"); res = FALSE; } - gst_object_unref (qtdemux); + gst_event_unref (event); + break; + case GST_EVENT_QOS: + case GST_EVENT_NAVIGATION: + res = FALSE; + gst_event_unref (event); break; default: res = gst_pad_event_default (pad, event); break; } - gst_event_unref (event); + gst_object_unref (qtdemux); return res; } |