diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-08-09 18:12:56 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-09-07 00:28:27 +0200 |
commit | 007c22ce09db678a9d64705ba49dcdf058cd7d4d (patch) | |
tree | 317d5c16b31e277622fe3e4e259ad57b6a128288 | |
parent | 05ae0ccad93011ca6378342706040947f31ca39f (diff) |
avformat/matroskadec: Move reading color space to a better place
Namely to a place after the AVStream has already been created,
so that it can be directly attached to it.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavformat/matroskadec.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 854b225c9e..21a0a1ecd5 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2817,7 +2817,6 @@ static int matroska_parse_tracks(AVFormatContext *s) MatroskaTrackEncoding *encodings = encodings_list->elem; AVCodecParameters *par; int extradata_offset = 0; - uint32_t fourcc = 0; AVStream *st; FFStream *sti; char* key_id_base64 = NULL; @@ -2867,8 +2866,6 @@ static int matroska_parse_tracks(AVFormatContext *s) track->video.display_width = track->video.pixel_width; if (track->video.display_height == -1) track->video.display_height = track->video.pixel_height; - if (track->video.color_space.size == 4) - fourcc = AV_RL32(track->video.color_space.data); } else if (track->type == MATROSKA_TRACK_TYPE_AUDIO) { if (!track->audio.out_samplerate) track->audio.out_samplerate = track->audio.samplerate; @@ -2955,7 +2952,6 @@ static int matroska_parse_tracks(AVFormatContext *s) par = st->codecpar; par->codec_id = codec_id; - par->codec_tag = fourcc; if (track->flag_default) st->disposition |= AV_DISPOSITION_DEFAULT; @@ -3003,6 +2999,9 @@ static int matroska_parse_tracks(AVFormatContext *s) if (ret == SKIP_TRACK) continue; } else if (track->type == MATROSKA_TRACK_TYPE_VIDEO) { + if (track->video.color_space.size == 4) + par->codec_tag = AV_RL32(track->video.color_space.data); + ret = mkv_parse_video_codec(track, par, matroska, &extradata_offset); if (ret < 0) |