From 9c580660a82b27baaaa98f9f58467b7c1a44fdcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 21 Dec 2005 10:25:34 +0000 Subject: [PATCH] ext/mpeg2dec/gstmpeg2dec.c: When getting a seek event, first check if the upstream element can handle it and only do ... Original commit message from CVS: * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_event): When getting a seek event, first check if the upstream element can handle it and only do our own seek stuff when it can't (should fix #322856). --- ChangeLog | 7 +++++++ ext/mpeg2dec/gstmpeg2dec.c | 15 +++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index f70c407ebf..9eddba603b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-12-21 Tim-Philipp Müller + + * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_event): + When getting a seek event, first check if the upstream element + can handle it and only do our own seek stuff when it can't + (should fix #322856). + 2005-12-21 Josef Zlomek Reviewed by: Tim-Philipp Müller diff --git a/ext/mpeg2dec/gstmpeg2dec.c b/ext/mpeg2dec/gstmpeg2dec.c index 122658bbdd..af2e94846d 100644 --- a/ext/mpeg2dec/gstmpeg2dec.c +++ b/ext/mpeg2dec/gstmpeg2dec.c @@ -1325,14 +1325,17 @@ gst_mpeg2dec_src_event (GstPad * pad, GstEvent * event) switch (GST_EVENT_TYPE (event)) { /* the all-formats seek logic */ - case GST_EVENT_SEEK: - if (mpeg2dec->index) - res = index_seek (pad, event); - else - res = normal_seek (pad, event); - + case GST_EVENT_SEEK:{ + gst_event_ref (event); + if (!(res = gst_pad_event_default (pad, event))) { + if (mpeg2dec->index) + res = index_seek (pad, event); + else + res = normal_seek (pad, event); + } gst_event_unref (event); break; + } case GST_EVENT_NAVIGATION: /* Forward a navigation event unchanged */ default: