Message ID | 20200101005837.11356-5-andreas.rheinhardt@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | Matroska muxer patches | expand |
Context | Check | Description |
---|---|---|
andriy/ffmpeg-patchwork | success | Make fate finished |
On Wed, Jan 01, 2020 at 01:58:21AM +0100, Andreas Rheinhardt wrote: > to its actual behaviour: That it uses the least amount of bytes unless > overridden. > > The current documentation leaves it undefined how many bytes will be used > when no number to use has been given explicitly. But several estimates > (used to write EBML Master elements with a small length field) require > this number to be the least amount of bytes to work. Therefore change > the documentation; and remove a comment about writing length fields > indicating "unkown length". It has been outdated since 0580a122. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> > --- > libavformat/matroskaenc.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) will apply thx [...]
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index d51c8cbebf..76c38b8d09 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -218,7 +218,7 @@ static int ebml_num_size(uint64_t num) * Write a number in EBML variable length format. * * @param bytes The number of bytes that need to be used to write the number. - * If zero, any number of bytes can be used. + * If zero, the minimal number of bytes will be used. */ static void put_ebml_num(AVIOContext *pb, uint64_t num, int bytes) { @@ -228,10 +228,9 @@ static void put_ebml_num(AVIOContext *pb, uint64_t num, int bytes) av_assert0(num < (1ULL << 56) - 1); if (bytes == 0) - // don't care how many bytes are used, so use the min bytes = needed_bytes; - // the bytes needed to write the given size would exceed the bytes - // that we need to use, so write unknown size. This shouldn't happen. + // The bytes needed to write the given size must not exceed + // the bytes that we ought to use. av_assert0(bytes >= needed_bytes); num |= 1ULL << bytes * 7;
to its actual behaviour: That it uses the least amount of bytes unless overridden. The current documentation leaves it undefined how many bytes will be used when no number to use has been given explicitly. But several estimates (used to write EBML Master elements with a small length field) require this number to be the least amount of bytes to work. Therefore change the documentation; and remove a comment about writing length fields indicating "unkown length". It has been outdated since 0580a122. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavformat/matroskaenc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)