On Wed, Jun 15, 2011 at 4:18 AM, Martin Storsjö <[email protected]> wrote:
> On Tue, 14 Jun 2011, Kieran Kunhya wrote: > > > >> What does everyone think? > > > > The proper fix is to follow the buffering model of the spec and > interleave > > ts packets appropriately. However, this will break iPhone, iPad and other > things because they don't follow the spec. > > Could this be settable via a muxer specific avoption, choosing between > apple-compatible or spec compliant mode? I think that the iPhone is compatible with streams with relatively little interleaving (the current mpegts muxer output) and with streams with a high degree of interleaving (my "fix" of removing the buffering of audio frames). Certainly, the streams that are produced by the mpegts muxer after my "fix" are playable on my iPhone. I took a look through the mpeg ps encoder (libavformat/mpegenc.c). It seems to require interleaving within .7 sec by default (max_delay). I think that it's reasonable to implement this for the mpegts muxer as well. max_delay also is configurable via ffmpeg's command-line, so people can set it to be whatever they want. I can create a patch for this, if it sounds reasonable to everyone. Tony
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
