Skip to content

fmp4mux: Implement a better strategy for splitting fragments and deciding...

fmp4mux: Implement a better strategy for splitting fragments and deciding which buffers go into which fragment

It is now guaranteed that each fragment is at most fragment-duration long unless the one and only GOP of the fragment is longer than that. The first (non-EOS) stream determines the duration of each fragment and all other streams are drained to at most the fragment end timestamp determined this way.

In addition the next fragment's target time is now at the end of the previous fragment plus fragment-duration instead of using first-fragment + N*fragment-duration regardless of where fragments were split before.

That is, fmp4mux now uses the same strategy as used by splitmuxsink and as is required e.g. by HLS with regards to the target duration.

Merge request reports