From 274f80c7a18add42fd795dba60a04cfdd8aa350c Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Sun, 18 Apr 2010 20:46:37 +0300 Subject: [PATCH] adder: only accept seek-types none and set Previously we were also acting on cur and end, but treating them like none. --- gst/adder/gstadder.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gst/adder/gstadder.c b/gst/adder/gstadder.c index cdf9648..d5b7466 100644 --- a/gst/adder/gstadder.c +++ b/gst/adder/gstadder.c @@ -706,6 +706,19 @@ gst_adder_src_event (GstPad * pad, GstEvent * event) gst_event_parse_seek (event, &adder->segment_rate, NULL, &flags, &curtype, &cur, &endtype, &end); + if ((curtype != GST_SEEK_TYPE_NONE) && (curtype != GST_SEEK_TYPE_SET)) { + result = FALSE; + GST_DEBUG_OBJECT (adder, + "seeking failed, unhandled seek type for start: %d", curtype); + goto done; + } + if ((endtype != GST_SEEK_TYPE_NONE) && (endtype != GST_SEEK_TYPE_SET)) { + result = FALSE; + GST_DEBUG_OBJECT (adder, + "seeking failed, unhandled seek type for end: %d", endtype); + goto done; + } + flush = (flags & GST_SEEK_FLAG_FLUSH) == GST_SEEK_FLAG_FLUSH; /* check if we are flushing */ @@ -773,6 +786,8 @@ gst_adder_src_event (GstPad * pad, GstEvent * event) result = forward_event (adder, event, FALSE); break; } + +done: gst_object_unref (adder); return result; -- 2.7.4