-
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. Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
afac3fec