[FFmpeg-cvslog] avformat/flacdec: Also set channels when setting channel_layout
Andreas Rheinhardt
git at videolan.org
Fri Oct 8 00:22:44 EEST 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sun Aug 29 11:01:16 2021 +0200| [fadefe356ac82cf5ceab12068b9fea6d1d9c70f0] | committer: Andreas Rheinhardt
avformat/flacdec: Also set channels when setting channel_layout
This brings the FLAC demuxer in line with all the other demuxers.
Furthermore, if it is not done and the FLAC decoder is disabled,
the FLAC parser will overwrite the channel layout with the standard
channel layout for that number of channels.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fadefe356ac82cf5ceab12068b9fea6d1d9c70f0
---
libavformat/flacdec.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
index 04d3cadf1c..3401aebe8d 100644
--- a/libavformat/flacdec.c
+++ b/libavformat/flacdec.c
@@ -19,6 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/channel_layout.h"
#include "libavcodec/flac.h"
#include "avformat.h"
#include "flac_picture.h"
@@ -191,6 +192,7 @@ static int flac_read_header(AVFormatContext *s)
"Invalid value of WAVEFORMATEXTENSIBLE_CHANNEL_MASK\n");
} else {
st->codecpar->channel_layout = mask;
+ st->codecpar->channels = av_get_channel_layout_nb_channels(mask);
av_dict_set(&s->metadata, "WAVEFORMATEXTENSIBLE_CHANNEL_MASK", NULL, 0);
}
}
More information about the ffmpeg-cvslog
mailing list