ac3parse: fix not-linked handling causing glitches when selecting stream

Fix chain function not handling not-linked from baseparse.

When an input data is separated into 2 buffers, the second buffer
would not be pushed into the adapter if baseparse returns not-linked
for first buffer.

This caused glitches when switching streams and selecting
a stream that was previously unselected.

https://bugzilla.gnome.org/show_bug.cgi?id=786268
This commit is contained in:
Sky Juan 2017-08-14 15:28:22 +08:00 committed by Tim-Philipp Müller
parent 1de2df03be
commit bc290059a4

View file

@ -728,7 +728,7 @@ gst_ac3_parse_chain_priv (GstPad * pad, GstObject * parent, GstBuffer * buf)
GST_BUFFER_DTS (subbuf) = GST_CLOCK_TIME_NONE; GST_BUFFER_DTS (subbuf) = GST_CLOCK_TIME_NONE;
GST_BUFFER_PTS (subbuf) = GST_CLOCK_TIME_NONE; GST_BUFFER_PTS (subbuf) = GST_CLOCK_TIME_NONE;
ret = ac3parse->baseparse_chainfunc (pad, parent, subbuf); ret = ac3parse->baseparse_chainfunc (pad, parent, subbuf);
if (ret != GST_FLOW_OK) { if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED) {
gst_buffer_unref (buf); gst_buffer_unref (buf);
goto done; goto done;
} }