
Sonic would accumulate truncation errors on float to int conversions that caused the final output sample count to drift noticeably, by hundreds of samples on streams of a few minutes of length. The fix now keeps track of the truncation error and compensates for it. Other small fixes include eliminating lossy operations (e.g. int division) and using doubles instead of floats for resampling where helpful. This CL also introduces `SonicParameterizedTest`, which helps test resampling on an arbitrary number of randomly generated parameters, with random sample data. `SonicParameterizedTest` uses `BigDecimal`s for calculating sample count values, as to avoid precision issues with large sample counts. PiperOrigin-RevId: 673852768
Test data module
Provides sample data for media unit and instrumentation tests.