Skip to content

mxfdemux: Handle temporal reordering shift

This is similar to how the same issue was handled in qtdemux.

In order for the "DTS <= PTS" constraint to be respected, we calculate the maximum temporal reordering that can happen (via index tables).

If there is a non-0 temporal reordering, we:

  • Shift all outgoing PTS by that amount
  • Shift segment for that stream by that amount
  • Don't modify DTS (i.e. they might end up having negative running-time, before the start of the segment)

Fixes #584 (closed)

(and maybe a lot of other issues)

TODO:

  • Check if large gop can be spread across two tables, meaning we need to carry on the max temporal offset
  • Check sign in temporal offset assignment
  • Fix index->dts (assuming it's used)
  • Create gst-intergration-suite branch to get CI working
Edited by Edward Hervey

Merge request reports