• Andreas Rheinhardt's avatar
    avformat/matroskaenc: Don't use size of inexistent Cluster · 4dd63ae8
    Andreas Rheinhardt authored
    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: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
    4dd63ae8
matroskaenc.c 101 KB