media/libraries
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
..
cast Populate DeviceInfo in CastPlayer using MediaRouter2 info 2024-09-05 10:38:08 -07:00
common Fix truncation error acumulation for Sonic's resampling algorithm 2024-09-12 08:14:25 -07:00
common_ktx Add jvmTarget and kotlin-android plugin to common_ktx module 2024-08-15 10:36:10 -07:00
container Rename Atom to Mp4Box, and move it to container module 2024-08-15 05:44:32 -07:00
database Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource Downscale bitmaps during decoding in Transformer 2024-09-03 07:53:13 -07:00
datasource_cronet Run CronetDataSource contract test for all Cronet providers 2024-08-01 10:49:37 -07:00
datasource_okhttp Automated Code Change 2024-08-07 12:28:25 -07:00
datasource_rtmp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
decoder MediaCodecVideoRenderer skips decoder inputs unused as reference 2024-07-09 03:43:06 -07:00
decoder_av1 Fix erroneous use of "cpu_features" in AV1 JNI exports. 2024-09-12 07:30:47 -07:00
decoder_ffmpeg Replace or suppress deprecated usages 2024-01-26 10:06:18 -08:00
decoder_flac Remove Multidex 2024-07-24 16:17:00 +01:00
decoder_iamf Fix WrongConstant lint failure for IamfDecoder#OUTPUT_PCM_ENCODING 2024-09-02 10:20:55 -07:00
decoder_midi Add missing module registrations 2024-05-23 04:50:01 -07:00
decoder_opus Remove Multidex 2024-07-24 16:17:00 +01:00
decoder_vp9 Remove Multidex 2024-07-24 16:17:00 +01:00
effect Stop rejecting frames later in ExternalTextureManager 2024-09-10 04:29:48 -07:00
exoplayer Fix preroll sample handling for non-keyframe media start positions 2024-09-11 11:02:39 -07:00
exoplayer_dash Report initial discontinuity for DASH periods that require preroll 2024-08-29 01:57:15 -07:00
exoplayer_hls Automated Code Change 2024-08-07 12:28:25 -07:00
exoplayer_ima Remove Multidex 2024-07-24 16:17:00 +01:00
exoplayer_rtsp Import correct nullable annotation 2024-08-28 10:54:29 -07:00
exoplayer_smoothstreaming Report initial discontinuity for DASH periods that require preroll 2024-08-29 01:57:15 -07:00
exoplayer_workmanager Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
extractor Fix preroll sample handling for non-keyframe media start positions 2024-09-11 11:02:39 -07:00
muxer Read NAL unit data as 4 byte integer 2024-09-10 10:57:22 -07:00
session Handle HEADSETHOOK as 'play' in MediaButtonReceiver.onReceive 2024-08-13 07:53:04 -07:00
test_data Fix truncation error acumulation for Sonic's resampling algorithm 2024-09-12 08:14:25 -07:00
test_exoplayer_playback Revert erroneous changes 2024-07-24 16:17:02 +01:00
test_session_common Improve automatic error replication for legacy browsers 2024-07-01 09:47:25 -07:00
test_session_current Revert changes to androidx.media3.session.legacy 2024-07-24 16:17:02 +01:00
test_utils Fix preroll sample handling for non-keyframe media start positions 2024-09-11 11:02:39 -07:00
test_utils_robolectric Bump minSdk to 21 and remove resulting simple dead code 2024-07-12 08:11:01 -07:00
transformer Fix truncation error acumulation for Sonic's resampling algorithm 2024-09-12 08:14:25 -07:00
ui Make PlayerView Compose workaround opt-in 2024-09-04 07:24:27 -07:00
ui_leanback Bump effect and leanback minSdk to 19 2024-01-10 07:22:00 -08:00
lint.xml Update recommended way to suppress @UnstableApi errors in lint.xml 2023-11-15 02:34:40 -08:00