Commit 63c4a2a0 authored by George Kiagiadakis's avatar George Kiagiadakis

gstaudiodecoder: do not aggregate output if buffers are planar

Aggregation will break the layout, as it concatenates buffers,
and fixing it here would be much more inefficient than configuring
the actual decoder implementation to output larger buffers.
parent d217d811
......@@ -93,7 +93,10 @@
*
* In non-live pipelines, baseclass can also (configurably) arrange for
* output buffer aggregation which may help to redue large(r) numbers of
* small(er) buffers being pushed and processed downstream.
* small(er) buffers being pushed and processed downstream. Note that this
* feature is only available if the buffer layout is interleaved. For planar
* buffers, the decoder implementation is fully responsible for the output
* buffer size.
*
* On the other hand, it should be noted that baseclass only provides limited
* seeking support (upon explicit subclass request), as full-fledged support
......@@ -985,7 +988,8 @@ gst_audio_decoder_output (GstAudioDecoder * dec, GstBuffer * buf)
again:
inbuf = NULL;
if (priv->agg && dec->priv->latency > 0) {
if (priv->agg && dec->priv->latency > 0 &&
priv->ctx.info.layout == GST_AUDIO_LAYOUT_INTERLEAVED) {
gint av;
gboolean assemble = FALSE;
const GstClockTimeDiff tol = 10 * GST_MSECOND;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment