media/libraries/common
ivanbuper e88d6fe459 Fix truncation error acumulation for Sonic's resampling algorithm
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
2024-09-12 08:14:25 -07:00
..
src Fix truncation error acumulation for Sonic's resampling algorithm 2024-09-12 08:14:25 -07:00
build.gradle Fix 'duplicate class' error caused by incomplete kt stdlib metadata 2024-07-10 10:20:12 -07:00
lint-baseline.xml Add lint base to make gradle lint run without errors 2022-06-15 15:27:34 +00:00
proguard-rules.txt Update to androidx.media3 2021-10-27 09:12:46 +01:00
README.md Fix javadoc links in media README files 2023-03-30 17:26:40 +00:00

Common module

Provides common code and utilities used by other media modules. Application code will not normally need to depend on this module directly.