diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2007-11-12 17:21:59 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2007-11-12 17:21:59 +0000 |
commit | 8deb4fbd925656c38ad5b6553769e524e707dba9 (patch) | |
tree | 2a9474d1327ba74ca6798c8b0ae25f457a322975 | |
parent | 8ae866e5c6ea204034e9fb371a66db2d34dbabec (diff) |
gst/: Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that previous commit messed up.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that
previous commit messed up.
-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; } |