]> git.sesse.net Git - ffmpeg/commit
avformat/matroskaenc: Don't use size of inexistent Cluster
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Wed, 22 Jan 2020 19:01:30 +0000 (20:01 +0100)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Tue, 21 Apr 2020 05:33:04 +0000 (07:33 +0200)
commit4dd63ae86c311da269426803d440d907cd9f66a2
tree0cdd80b2d9d2da454838fcbfeb172aa39bbd230b
parent86de864741fdc046f353a82da526445db44c4287
avformat/matroskaenc: Don't use size of inexistent Cluster

In order to determine whether the current Cluster needs to be closed
because of the limits on clustersize and clustertime,
mkv_write_packet() would first get the size of the current Cluster by
applying avio_tell() on the dynamic buffer holding the current Cluster.
It did this without checking whether there is a dynamic buffer for
writing Clusters open right now.

In this case (which happens when writing the first packet)
avio_tell() returned AVERROR(EINVAL); yet it is not good to rely on
avio_tell() (or actually, avio_seek()) to handle the situation
gracefully.

Fixing this is easy: Only check whether a Cluster needs to be closed
if a Cluster is in fact open.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/matroskaenc.c