This is an update of
d78d5896272d78df41e696fac929e7dfb3bb3dfa
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.
/* combine flows */
ret = gst_qtdemux_combine_flows (demux, stream, ret);
- if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED)
- goto non_ok_unlinked_flow;
} else {
/* skip this data, stream is EOS */
gst_adapter_flush (demux->adapter, demux->neededbytes);
}
goto eos;
}
+ if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) {
+ goto non_ok_unlinked_flow;
+ }
break;
}
default: