avauddec: fix unnecessary reconfiguration if the audio layout isn't specified

It would constantly want to renegotiate (and spam the debug log) even
though the channel layout hasn't actually changed. We use the same
fallback in gst_ffmpegauddec_negotiate() already.

This happens with WMA files for example.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3105>
This commit is contained in:
Tim-Philipp Müller 2022-09-29 12:42:21 +01:00
parent 6b316052dc
commit 67245861a2

View file

@ -357,6 +357,9 @@ settings_changed (GstFFMpegAudDec * ffmpegdec, AVFrame * frame)
GstAudioLayout layout;
gint channels = av_get_channel_layout_nb_channels (frame->channel_layout);
if (channels == 0)
channels = frame->channels;
format = gst_ffmpeg_smpfmt_to_audioformat (frame->format, &layout);
if (format == GST_AUDIO_FORMAT_UNKNOWN)
return TRUE;