X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Friffenc.c;h=c96329da48786767688492ec6226241b0d2ac4ef;hb=9e1ddc08208d7b484d5d97d4e169c75b91e3ff21;hp=36e6ac7455451d8a2fd1fd683aa8ae71dfc50a42;hpb=6e76c9c45018b9cea383ff1c3f17d08792623509;p=ffmpeg diff --git a/libavformat/riffenc.c b/libavformat/riffenc.c index 36e6ac74554..c96329da487 100644 --- a/libavformat/riffenc.c +++ b/libavformat/riffenc.c @@ -71,6 +71,8 @@ int ff_put_wav_header(AVFormatContext *s, AVIOContext *pb, frame_size = av_get_audio_frame_duration2(par, par->block_align); waveformatextensible = (par->channels > 2 && par->channel_layout) || + par->channels == 1 && par->channel_layout && par->channel_layout != AV_CH_LAYOUT_MONO || + par->channels == 2 && par->channel_layout && par->channel_layout != AV_CH_LAYOUT_STEREO || par->sample_rate > 48000 || par->codec_id == AV_CODEC_ID_EAC3 || av_get_bits_per_sample(par->codec_id) > 16; @@ -304,7 +306,8 @@ void ff_riff_write_info_tag(AVIOContext *pb, const char *tag, const char *str) } static const char riff_tags[][5] = { - "IARL", "IART", "ICMS", "ICMT", "ICOP", "ICRD", "ICRP", "IDIM", "IDPI", + "IARL", "IART", "IAS1", "IAS2", "IAS3", "IAS4", "IAS5", "IAS6", "IAS7", + "IAS8", "IAS9", "ICMS", "ICMT", "ICOP", "ICRD", "ICRP", "IDIM", "IDPI", "IENG", "IGNR", "IKEY", "ILGT", "ILNG", "IMED", "INAM", "IPLT", "IPRD", "IPRT", "ITRK", "ISBJ", "ISFT", "ISHP", "ISMP", "ISRC", "ISRF", "ITCH", { 0 }