On 20/01/14 14:29, Anton Khirnov wrote:
> From: Luca Barbato <[email protected]>
> 
> Currently ff_interleave_packet_per_dts() waits until it gets a frame for
> each stream before outputting packets in interleaved order.
> 
> Sparse streams (i.e. streams with much fewer packets than the other
> streams, like subtitles or audio with DTX) tend to add up latency and in
> specific cases end up allocating a large amount of memory.
> 
> Emit the top packet from the packet_buffer if it has a time delta
> larger than max_delay.
> 
> Original report of the issue and initial proposed solution by
> [email protected].
> 
> Bug-id: 31
> Signed-off-by: Anton Khirnov <[email protected]>
> ---
> A revival of a patch from 2 years back.
> 
> I've recently encountered this problem again and it's pretty annoying and 
> should
> be fixed one way or another.
> 
> One thing I'd especially welcome comments about is the use of max_delay for
> controlling this behavior. Currently, it's set to -1 (disabled) by default, 
> but
> avconv explicitly overrides that to 0.7 sec.
> I think sparse stream detection should be enable by default for all callers, 
> not
> just avconv. So we could either change the default for max_delay (though that 
> is
> also used by some muxers, so it might affect them in undesired way) or use a
> new fields for controlling this.
> Or maybe someone else has other suggestions?

Probably adding some documentation would be enough. I'm obviously ok and
thankful for reviving my patch.

lu


_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to