From bc290059a4d1fd2fb1ffa229ed307efc2daa3972 Mon Sep 17 00:00:00 2001 From: Sky Juan Date: Mon, 14 Aug 2017 15:28:22 +0800 Subject: [PATCH] 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 --- gst/audioparsers/gstac3parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/audioparsers/gstac3parse.c b/gst/audioparsers/gstac3parse.c index ae750389c0..afc8770bcc 100644 --- a/gst/audioparsers/gstac3parse.c +++ b/gst/audioparsers/gstac3parse.c @@ -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_PTS (subbuf) = GST_CLOCK_TIME_NONE; 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); goto done; }