diff options
author | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-04-29 21:33:06 +0300 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@gmail.com> | 2020-05-06 11:38:53 +0300 |
commit | 8370c9c206367acaec1130fe47582590123b1b64 (patch) | |
tree | 39347fd68b59cc4c64683b6dd85aa4410f188c89 | |
parent | 3122dcf2fe54c427aecdbba2ee85788981e3236b (diff) |
avformat/matroskaenc: Simplify writing buffer
If one already has the contents of a master elements in a buffer of
known size, then writing a EBML master element is no different from
writing an EBML binary element. It is overtly complicated to use
start/end_ebml_master() as these functions first write an unkown-length
size field of the appropriate length, then write the buffer's contents,
followed by a seek to the length field to overwrite it with the real
size (obtained via avio_tell() although it was already known in
advance), followed by another seek to the previous position. Just use
put_ebml_binary() instead.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r-- | libavformat/matroskaenc.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index e404b4d97f..1d155bc5c2 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -893,9 +893,7 @@ static void mkv_write_video_color(AVIOContext *pb, const AVCodecParameters *par, colorinfo_size = avio_tell(dyn_cp); if (colorinfo_size) { - ebml_master colorinfo = start_ebml_master(pb, MATROSKA_ID_VIDEOCOLOR, colorinfo_size); - avio_write(pb, colour, colorinfo_size); - end_ebml_master(pb, colorinfo); + put_ebml_binary(pb, MATROSKA_ID_VIDEOCOLOR, colour, colorinfo_size); } } |