
When transmuxing, the `EncodedSampleExporter` maintains a queue of input buffers that get filled with encoded data by the asset loader. The number of buffers was limited to avoid using more and more memory if producer (asset loader) gets far ahead of the consumer (exporter). Previously this limit was fixed at 10 buffers, but increasing the number of buffers can make some transmux operations much faster. Allow allocating between a min and max number of buffers, and also set a target allocation size beyond which new buffers can't be allocated. This allows audio formats which require many small buffers to be processed more quickly, while preventing allocating too much memory for hypothetical very high bitrate formats. 'Remove video' edits on local videos in particular get much faster, because audio buffers are very short and there are lots of them. With a sample 10 minute video, a 'remove video' edit took 2 seconds (36 seconds before this change). With a sample 1 minute removing video took 0.25 seconds after this change (2.5 seconds before). The speed improvement is smaller for other types of edits that retain the video track. Transmuxing a 10 minute video retaining the video track took 26 seconds (40 seconds before). PiperOrigin-RevId: 583390284
Test data module
Provides sample data for media unit and instrumentation tests.