mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
qtdemux: Update variables before early exit
This is an update of d78d589627
We still exit as early as possible in case of non-ok/non-unlinked combined
flow, but we first make sure that we update the internal position variables.
This ensures that if upstreams "ignores" the flow return (and carries on pushing),
we don't end up processing data with completely bogus variables/positions.
This commit is contained in:
parent
a9f26c2a14
commit
1e4cdc6d6f
1 changed files with 3 additions and 2 deletions
|
@ -6871,8 +6871,6 @@ gst_qtdemux_process_adapter (GstQTDemux * demux, gboolean force)
|
||||||
|
|
||||||
/* combine flows */
|
/* combine flows */
|
||||||
ret = gst_qtdemux_combine_flows (demux, stream, ret);
|
ret = gst_qtdemux_combine_flows (demux, stream, ret);
|
||||||
if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED)
|
|
||||||
goto non_ok_unlinked_flow;
|
|
||||||
} else {
|
} else {
|
||||||
/* skip this data, stream is EOS */
|
/* skip this data, stream is EOS */
|
||||||
gst_adapter_flush (demux->adapter, demux->neededbytes);
|
gst_adapter_flush (demux->adapter, demux->neededbytes);
|
||||||
|
@ -6898,6 +6896,9 @@ gst_qtdemux_process_adapter (GstQTDemux * demux, gboolean force)
|
||||||
}
|
}
|
||||||
goto eos;
|
goto eos;
|
||||||
}
|
}
|
||||||
|
if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) {
|
||||||
|
goto non_ok_unlinked_flow;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue