winegstreamer: Read input in chunks of 256KiB instead of 512KiB.
Supersedes !8183 (closed).
JR East Train Simulator's IMFByteStream implementation relies on the following two properties:
- Reads are always aligned on a 256KiB boundary.
- Reads are never larger than 256KiB.
When chunking was initially benchmarked[1], a chunk size of 512KiB only performed marginally better than 256KiB, so this change has a negligible performance impact while being more correct.
I'm testing using a WAV handler here because it's easy to create the data for it in memory (avoids including a large video file in git), but the same behavior can be observed with other handlers, such as MP4.