qtdemux: Add a minimum buffer size for raw audio to not output one buffer per frame
qtdemux: Merge sample tables for raw audio streams with one container sample per audio sample Instead of having chunks with one sample per raw audio sample, have chunks with a single sample that contains lots of raw audio samples. If necessary these are still split again later when reading the stream. With this we are allocating a lot less memory for the parsed sample tables and can play files that previously triggered our limit of 200MB for the sample table. For example, one file here would previously allocate 3.5GB for the sample table and now only allocates 70KB.
qtdemux: Add a minimum buffer size for raw audio to not output one buffer per frame Outputting 48000 buffers per second is not a good idea performance-wise. If a container sample is less than 1024 raw audio frames, combine multiple samples to get at least 1024 raw audio samples as long as they're stored contiguous in the file. For the other direction, if a container sample contains more than 4096 samples there is already code for splitting them up. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692750