[vlc-devel] [PATCH 2/3] avformat mux: Mark keyframe blocks as such.

Jean-Baptiste Kempf jb at videolan.org
Tue Sep 3 11:56:08 CEST 2013


On 03 Sep, Luca Barbato wrote :
> On 16/08/13 16:42, Steinar H. Gunderson wrote:
> > Some browsers, such as Firefox, are very picky about WebM streams needing to
> > start with a keyframe. To be able to handle this correctly when streaming,
> > the avformat mux needs to mark keyframe-containing blocks (or clusters, in
> > Matroska terminology) as such even after they have been muxed. The next patch
> > in the series will make httpd actually care about this flag.
> > 
> > Unfortunately, as avformat does not actually propagate this status, we need
> > to use some heuristics to figure out which blocks contain keyframes. The natural
> > thing to do would be to say that when we write a keyframe, the block that comes
> > back has to be a keyframe block, but the WebM/Matroska muxer thwarts this by
> > having its own internal buffering of clusters, flushing the _previous_ cluster
> > when we send it a keyframe. Thus, we need to explicitly send a flush (a NULL
> > packet) before the one that comes back when we mux a keyframe.
> > ---
> >  modules/demux/avformat/mux.c |   21 ++++++++++++++++++++-
> >  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> Still looks fine to me =)

I will apply unless there are important objections.

Best regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device



More information about the vlc-devel mailing list