[vlc-devel] [PATCH 00/17] RFC Split block_t into 2 different data containers

Denis Charmet typx at dinauz.org
Thu Apr 25 10:20:55 CEST 2019

On 2019-04-25 09:34, Francois Cartegnie wrote:
> The issue is with architecture itself.
> avformat uses avio abstraction layer for network access, but their 
> demux
> does depayloading directly and can handle discontinuities/packet 
> drops.
> (ex RTP).
> We have another abstraction layer in between.

Precisely. There is a chicken and egg issue when dealing with 
discontinuities inside the stream without knowing how the demux should 
handle it short of providing a discontinuity callback to the stream with 
all the "when should we trigger it" issues.

For now, without overhauling the whole stream process I don't see the 
point to keep flags which will be discarded anyway.

Even with a better architecture, knowing you have a discontinuity 
doesn't even mean you can recover. MKV could (and already does as best 
as he can without it since it doesn't trust anything). MP4 not segmented 
I'm afraid your index is screwed anyway. AVI (lol). Can't tell for ASF 
and all the other esoteric ones.

And to answer Thomas, adding a discontinuity packet for TS was, imho, 
the smartest way to do that.

Denis Charmet - TypX
Le mauvais esprit est un art de vivre

More information about the vlc-devel mailing list