1. 23 Apr, 2020 5 commits
  2. 22 Apr, 2020 15 commits
  3. 21 Apr, 2020 16 commits
  4. 20 Apr, 2020 4 commits
    • Andreas Rheinhardt's avatar
      avformat/matroskaenc: Improve Cues in case of no video · 945b9287
      Andreas Rheinhardt authored
      The Matroska muxer currently only adds CuePoints in three cases:
      a) For video keyframes. b) For the first audio frame in a new Cluster if
      in DASH-mode. c) For subtitles. This means that ordinary Matroska audio
      files won't have any Cues which impedes seeking.
      
      This commit changes this. For every track in a file without video track
      it is checked and tracked whether a Cue entry has already been added
      for said track for the current Cluster. This is used to add a Cue entry
      for each first packet of each track in each Cluster.
      
      Implements #3149.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      945b9287
    • Andreas Rheinhardt's avatar
      avformat/matroskaenc: Remove limit on the number of tracks · 13c12cd4
      Andreas Rheinhardt authored
      The Matroska file format has practically no limit on the number of
      tracks (the current limit is 2^56 - 1); yet because they are encoded in
      a variable length format in (Simple)Blocks this muxer has simply imposed
      a limit on the number of tracks in order to ensure that they can always
      be written on one byte in order to simplify the muxing process.
      
      This commit removes said limit.
      
      Also, zero is an invalid TrackNumber, so disallow this value in the
      dash_track_number option.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      13c12cd4
    • Andreas Rheinhardt's avatar
      avformat/matroskaenc: Refactor writing EBML lengths · 112afacc
      Andreas Rheinhardt authored
      This commit factors the ability to write ordinary EBML numbers out of
      the functions for writing EBML lengths. This is in preparation for
      future commits.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      112afacc
    • Andreas Rheinhardt's avatar
      avformat/matroskaenc: Rename functions to better reflect what they do · 40d038a6
      Andreas Rheinhardt authored
      EBML uses variable length integers both for the EBML IDs as well as for
      the EBML lengths; Matroska also uses them for the TrackNumber in
      (Simple)Blocks and for the lengths of laces when EBML lacing is used.
      
      When encoding EBML lengths, certain encodings have a special meaning,
      namely that the element has an unknown length. This is not so when
      encoding general EBML variable length integers.
      
      Yet the functions called ebml_num_size() and put_ebml_num() had this
      special meaning hardcoded, i.e. they are there to write EBML lengths and
      not general EBML numbers. So rename them.
      Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
      40d038a6