summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2007-11-12 17:21:59 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2007-11-12 17:21:59 +0000
commit8deb4fbd925656c38ad5b6553769e524e707dba9 (patch)
tree2a9474d1327ba74ca6798c8b0ae25f457a322975
parent8ae866e5c6ea204034e9fb371a66db2d34dbabec (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--ChangeLog7
-rw-r--r--gst/avi/gstavidemux.c5
-rw-r--r--gst/qtdemux/qtdemux.c9
3 files changed, 19 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 1d5bd560..5aaf4c31 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}