History

lavf: improve handling of sparse streams when muxing

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 a specified threshold. Original report of the issue and initial proposed solution by mus.svz@gmail.com.

Luca Barbato committed 12 years ago

Commit d9ae1031 parent 4c3e1955 files · +59 −4Browse files

Showing the changes to doc/APIchanges (1 of 5 files). Show all

Unified · Split

doc/APIchanges+4−0
@@ -13,6 +13,10 @@ libavutil: 2013-12-xx · 12 unmodified lines
1313
1414 API changes, most recent first:
1515
16+2014-02-xx - xxxxxxx - lavf 55.11.0 - avformat.h
17+ Add AVFormatContext.max_interleave_delta for controlling amount of buffering
18+ when interleaving.
19+
1620 2014-01-xx - xxxxxxx - lavc 55.32.1 - avcodec.h
1721 Edges are not required anymore on video buffers allocated by get_buffer2()
1822 (i.e. as if the CODEC_FLAG_EMU_EDGE flag was always on). Deprecate

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t