First try to let upstream handle the seek event, then fail if the event is
something we don't understand.
if (rate < 0.0 && parse->priv->pad_mode == GST_PAD_MODE_PUSH)
goto negative_rate;
- if (cur_type != GST_SEEK_TYPE_SET ||
- (stop_type != GST_SEEK_TYPE_SET && stop_type != GST_SEEK_TYPE_NONE))
- goto wrong_type;
-
/* For any format other than TIME, see if upstream handles
* it directly or fail. For TIME, try upstream, but do it ourselves if
* it fails upstream */
if (format != GST_FORMAT_TIME || res)
goto done;
+ if (cur_type != GST_SEEK_TYPE_SET ||
+ (stop_type != GST_SEEK_TYPE_SET && stop_type != GST_SEEK_TYPE_NONE))
+ goto wrong_type;
+
/* get flush flag */
flush = flags & GST_SEEK_FLAG_FLUSH;