Skip to content

av1parse: Don't immediately reset timestamp in presence of TD

Nicolas Dufresne requested to merge ndufresne/gstreamer:av1-timestamp-fixup into main

When a TD is being processed, it is not always pushed immediatly. Resetting the time information lead to lost of timestamp in TU to Frame conversion. The TU would be formed by buffer of [TD][Frame], and the timestamp taken from the TU buffer was lost then the TD was handled.

The handling of TS should be entirely done by the 3 functions:

  • gst_av1_parse_handle_obu_to_obu() (direct input to output)
  • gst_av1_parse_handle_to_big_align() Reset DTS on detected TU or TD
  • gst_av1_parse_handle_to_small_and_equal_align() PTS on show frame, flat DTS

Fixes: 79312357

cc @bilboed

p.s. ideally some unit test are added.

Edited by Nicolas Dufresne

Merge request reports

Loading