• Andreas Rheinhardt's avatar
    avformat/matroskaenc: Pass dispositions through unchanged by default · 750631b0
    Andreas Rheinhardt authored
    Up until now, the Matroska muxer did not use the dispositions it is
    given as-is; instead it by default overrode the disposition of the first
    track of a kind (audio, video, subtitles) if no track of this kind has
    the default disposition set. And up until recently, it also enforced
    by default that no more than one track of each kind be marked as
    default.
    
    The rationale for the former is that there are lots of containers which
    lack the concept of default streams, so that it is not uncommon for no
    stream to be marked as default at all; the rationale for the latter was
    that up until recently, it was dubious whether the Matroska specification
    allowed more than one default stream for track type (e.g. mkvmerge
    disallowed it). It was this point which led to the implementation of
    the above mentioned behaviour inspired by mkvmerge.
    
    Yet the Matroska specifications have changed and now explicitly allow
    to set more than one track of each type as default, so that the main
    reason of not using the dispositions as-is was rendered moot. Therefore
    this commit changes the default to pass the disposition through.
    
    The matroska-mpegts-remux FATE-test has been updated to still use the
    old "infer" mode so that it is still covered by FATE; the
    matroska-zero-length-block test has also been updated to cover
    the infer_no_subs mode. The references for lots of other FATE tests
    needed to be updated because of a newly added FlagDefault element with
    value zero (whereas a FlagDefault with value 1 needn't be coded at all,
    as it coincided with the default value of said element).
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
    750631b0
wavpack.mak 5.67 KB