mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
baseparse: jump over large skips in pull mode
This bypasses the dumping of buffers we still have to do in push mode. https://bugzilla.gnome.org/show_bug.cgi?id=730053
This commit is contained in:
parent
e4d6896d0c
commit
dd40d99710
1 changed files with 6 additions and 0 deletions
|
@ -3237,6 +3237,12 @@ gst_base_parse_scan_frame (GstBaseParse * parse, GstBaseParseClass * klass)
|
||||||
if (ret != GST_FLOW_OK)
|
if (ret != GST_FLOW_OK)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* If a large amount of data was requested to be skipped, _handle_buffer
|
||||||
|
might have set the priv->skip flag to an extra amount on top of skip.
|
||||||
|
In pull mode, we can just pull from the new offset directly. */
|
||||||
|
parse->priv->offset += parse->priv->skip;
|
||||||
|
parse->priv->skip = 0;
|
||||||
|
|
||||||
/* something flushed means something happened,
|
/* something flushed means something happened,
|
||||||
* and we should bail out of this loop so as not to occupy
|
* and we should bail out of this loop so as not to occupy
|
||||||
* the task thread indefinitely */
|
* the task thread indefinitely */
|
||||||
|
|
Loading…
Reference in a new issue