--- libavformat/mov.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/libavformat/mov.c b/libavformat/mov.c index 2b90e31170..1f9163d658 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2095,6 +2095,8 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb, uint8_t codec_name[32] = { 0 }; int64_t stsd_start; unsigned int len; + int32_t id = 0; + char vendor_id[5]; /* The first 16 bytes of the video sample description are already * read in ff_mov_read_stsd_entries() */ @@ -2102,7 +2104,15 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb, avio_rb16(pb); /* version */ avio_rb16(pb); /* revision level */ - avio_rb32(pb); /* vendor */ + id = avio_rb32(pb); /* vendor */ + if (id != 0) { + vendor_id[0] = (id >> 24) & 0xff; + vendor_id[1] = (id >> 16) & 0xff; + vendor_id[2] = (id >> 8) & 0xff; + vendor_id[3] = (id >> 0) & 0xff; + vendor_id[4] = 0; + av_dict_set(&st->metadata, "vendor_id", vendor_id, 0); + } avio_rb32(pb); /* temporal quality */ avio_rb32(pb); /* spatial quality */ @@ -2150,10 +2160,20 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb, { int bits_per_sample, flags; uint16_t version = avio_rb16(pb); + int32_t id = 0; + char vendor_id[5]; AVDictionaryEntry *compatible_brands = av_dict_get(c->fc->metadata, "compatible_brands", NULL, AV_DICT_MATCH_CASE); avio_rb16(pb); /* revision level */ - avio_rb32(pb); /* vendor */ + id = avio_rb32(pb); /* vendor */ + if (id != 0) { + vendor_id[0] = (id >> 24) & 0xff; + vendor_id[1] = (id >> 16) & 0xff; + vendor_id[2] = (id >> 8) & 0xff; + vendor_id[3] = (id >> 0) & 0xff; + vendor_id[4] = 0; + av_dict_set(&st->metadata, "vendor_id", vendor_id, 0); + } st->codecpar->channels = avio_rb16(pb); /* channel count */ st->codecpar->bits_per_coded_sample = avio_rb16(pb); /* sample size */ -- 2.29.2.299.gdc1121823c-goog _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".