347 {
"IART",
"artist" },
348 {
"ICMT",
"comment" },
349 {
"ICOP",
"copyright" },
352 {
"ILNG",
"language" },
356 {
"ISFT",
"encoder" },
357 {
"ITCH",
"encoded_by"},
362 "IARL",
"IART",
"ICMS",
"ICMT",
"ICOP",
"ICRD",
"ICRP",
"IDIM",
"IDPI",
363 "IENG",
"IGNR",
"IKEY",
"ILGT",
"ILNG",
"IMED",
"INAM",
"IPLT",
"IPRD",
364 "IPRT",
"ISBJ",
"ISFT",
"ISHP",
"ISRC",
"ISRF",
"ITCH",
390 int bps, blkalign, bytespersec;
392 int waveformatextensible;
394 uint8_t *riff_extradata= temp;
395 uint8_t *riff_extradata_start= temp;
403 if (waveformatextensible) {
448 bytestream_put_le16(&riff_extradata, 1);
449 bytestream_put_le32(&riff_extradata, 2);
450 bytestream_put_le16(&riff_extradata, 1152);
451 bytestream_put_le16(&riff_extradata, 1);
452 bytestream_put_le16(&riff_extradata, 1393);
455 bytestream_put_le16(&riff_extradata, 2);
456 bytestream_put_le32(&riff_extradata, enc->
bit_rate);
457 bytestream_put_le16(&riff_extradata, enc->
channels == 2 ? 1 : 8);
458 bytestream_put_le16(&riff_extradata, 0);
459 bytestream_put_le16(&riff_extradata, 1);
460 bytestream_put_le16(&riff_extradata, 16);
461 bytestream_put_le32(&riff_extradata, 0);
462 bytestream_put_le32(&riff_extradata, 0);
465 bytestream_put_le16(&riff_extradata, enc->
frame_size);
471 if(waveformatextensible) {
473 avio_wl16(pb, riff_extradata - riff_extradata_start + 22);
481 avio_wl16(pb, riff_extradata - riff_extradata_start);
483 avio_write(pb, riff_extradata_start, riff_extradata - riff_extradata_start);
515 #endif //CONFIG_MUXERS
543 cbSize =
FFMIN(size, cbSize);
544 if (cbSize >= 22 &&
id == 0xfffe) {
621 #endif // CONFIG_DEMUXERS
640 gcd=
av_gcd(*au_scale, *au_rate);
647 int64_t start, end, cur;
653 while ((cur =
avio_tell(pb)) >= 0 && cur <= end - 8 ) {
661 if (chunk_size > end || end - chunk_size < cur || chunk_size == UINT_MAX) {
666 chunk_size += (chunk_size & 1);
676 if (
avio_read(pb, value, chunk_size) != chunk_size) {
683 value[chunk_size] = 0;