1. 14 Apr, 2017 1 commit
    • Sebastian Dröge's avatar
      qtmux: Fix timescale of timecode tracks · e51c08b0
      Sebastian Dröge authored
      They should have ideally the same timescale of the video track, which we
      can't guarantee here as in theory timecode configuration and video
      framerate could be different. However we should set a correct timescale
      based on the framerate given in the timecode configuration, and not just
      use the framerate numerator.
      e51c08b0
  2. 08 Mar, 2017 2 commits
  3. 02 Mar, 2017 1 commit
  4. 08 Feb, 2017 1 commit
  5. 27 Jan, 2017 1 commit
  6. 24 Jan, 2017 1 commit
  7. 12 Jan, 2017 1 commit
  8. 07 Jan, 2017 1 commit
  9. 02 Jan, 2017 1 commit
    • Jan Schmidt's avatar
      qtmux: Remove bogus check in atom_stsc_add_new_entry() · db0eddb1
      Jan Schmidt authored
      Remove an old check from atom_stsc_add_new_entry() that
      extends the last entry in the STSC if the samples per chunk
      matches, as the new interleave merging logic requires that
      the final entry by updateable. There's already code
      below which simply merges the final entry into the previous
      one when needed, so rely on that instead.
      
      Fixes asserts like:
      
      ERROR:atoms.c:2940:atom_stsc_update_entry: assertion failed:
      (atom_array_index (&stsc->entries, len - 1).first_chunk == first_chunk)
      db0eddb1
  10. 01 Nov, 2016 7 commits
  11. 19 Aug, 2016 1 commit
  12. 17 Aug, 2016 1 commit
  13. 10 Dec, 2015 1 commit
  14. 19 Nov, 2015 3 commits
  15. 15 Nov, 2015 1 commit
  16. 07 Jul, 2015 1 commit
  17. 11 Jun, 2015 4 commits
  18. 08 Jun, 2015 2 commits
    • Jan Schmidt's avatar
      isomp4: Implement robust muxing using ping-pong strategy · 1d058c7d
      Jan Schmidt authored
      Implement a robust recording mode, where the output
      file is always in a playable state, seeking and rewriting
      the moov header at a configurable interval. Rewriting
      moov is done using reserved space at the start of
      the file, and a ping-pong strategy where the moov
      is replaced atomically so it's never invalid.
      
      Track when tags have actually changed, and don't write them into
      the moov unless they've changed. Clear any existing tags when
      re-writing them, so we can do progressive moov updating in robust
      recording mode.
      
      Write placeholder mdat as a free atom plus a 32-bit mdat
      with '0' size, which means "rest of the file" in the spec.
      
      Re-write it later to a full 64-bit extended size atom if needed.
      1d058c7d
    • Jan Schmidt's avatar
      isomp4: Update edit list when re-writing moov · 3d7b3435
      Jan Schmidt authored
      Correctly update any edit lists each time the moov is recalculated,
      updating existing table entries if they already exist instead of just
      adding new ones.
      3d7b3435
  19. 31 Jan, 2015 1 commit
  20. 21 Jan, 2015 1 commit
  21. 23 Sep, 2014 1 commit
  22. 18 Sep, 2014 1 commit
  23. 16 Apr, 2014 2 commits
  24. 07 Feb, 2014 1 commit
  25. 09 Jan, 2014 1 commit
  26. 21 Nov, 2013 1 commit