mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avformat/matroskaenc: Check return value of ff_isom_write_hvcc()
The Matroska muxer currently does not check the return value of
ff_isom_write_hvcc(), the function used to write mp4-style
HEVC-extradata as Matroska also uses it. This was intentionally done in
7a5356c72
to allow remuxing from mpeg-ts.
But if ff_isom_write_hvcc() fails, it has not output anything and the
file ends up without CodecPrivate and, if the input was Annex B, with
Annex B data, which is against the spec. So check the return value
again.
The underlying issue of not having extradata seems to have been fixed by
the introduction of the extract_extradata bitstream filter.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Reviewed-by: "mypopy@gmail.com" <mypopy@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
2968da7d9e
commit
34e3810b04
@ -748,9 +748,8 @@ static int mkv_write_native_codecprivate(AVFormatContext *s, AVIOContext *pb,
|
||||
return ff_isom_write_avcc(dyn_cp, par->extradata,
|
||||
par->extradata_size);
|
||||
case AV_CODEC_ID_HEVC:
|
||||
ff_isom_write_hvcc(dyn_cp, par->extradata,
|
||||
return ff_isom_write_hvcc(dyn_cp, par->extradata,
|
||||
par->extradata_size, 0);
|
||||
return 0;
|
||||
case AV_CODEC_ID_AV1:
|
||||
if (par->extradata_size)
|
||||
return ff_isom_write_av1c(dyn_cp, par->extradata,
|
||||
|
Loading…
Reference in New Issue
Block a user