media/libraries
bachinger a8a4faa28c Do not setOffloadEndOfStream if AudioTrack is not playing
AudioTrack.setOffloadEndOfStream should be called after a track
has been buffered. Additionally, the AudioTrack must be playing.

It has been observed that for very short media (<1s), the AudioTrack
might not have started immediately after the read that buffered
the audio.

In such a situation, calling AudioTrack.setOffloadEndOfStream throws
and playback fails.

Avoid this failure by checking that the AudioTrack is playing before
calling setOffloadEndOfStream.

This means that very short gapless media will not be gapless, this was
deemed acceptable given that such very short media should be very rare
in offload.

PiperOrigin-RevId: 450431146
2022-05-23 15:13:43 +01:00
..
cast Create new class to store cues and timestamp. 2022-05-24 10:49:48 +01:00
common Remove 5G-NSA detection on API 29/30. 2022-05-24 11:06:09 +01:00
database Mark all non-public IntDefs as only TYPE_USE 2022-02-21 16:56:36 +00:00
datasource Disable transcoding when reading content URIs 2022-05-09 11:04:52 +01:00
datasource_cronet Remove references to deprecated DefaultDataSourceFactory from dev guide 2022-03-24 15:13:09 +00:00
datasource_okhttp Workaround for OkHttp Interrupt issues. 2022-05-09 10:59:41 +01:00
datasource_rtmp Remove references to deprecated DefaultDataSourceFactory from dev guide 2022-03-24 15:13:09 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:21:36 +01:00
decoder_av1 Make sure native library loads use correct class loader 2022-02-22 11:25:44 +00:00
decoder_ffmpeg Force CMake version 3.21.0+ for the FFMPEG extension 2022-03-14 13:42:31 +00:00
decoder_flac Make sure native library loads use correct class loader 2022-02-22 11:25:44 +00:00
decoder_opus Make sure native library loads use correct class loader 2022-02-22 11:25:44 +00:00
decoder_vp9 Make sure native library loads use correct class loader 2022-02-22 11:25:44 +00:00
exoplayer Do not setOffloadEndOfStream if AudioTrack is not playing 2022-05-23 15:13:43 +01:00
exoplayer_dash Remove @Nullable from some Dash/Hls/SsMediaSource.Factory methods 2022-05-24 11:07:57 +01:00
exoplayer_hls Remove @Nullable from some Dash/Hls/SsMediaSource.Factory methods 2022-05-24 11:07:57 +01:00
exoplayer_ima Remove @Nullable from MediaSource.Factory setters 2022-05-24 11:07:07 +01:00
exoplayer_rtsp Remove @Nullable from MediaSource.Factory setters 2022-05-24 11:07:07 +01:00
exoplayer_smoothstreaming Remove @Nullable from some Dash/Hls/SsMediaSource.Factory methods 2022-05-24 11:07:57 +01:00
exoplayer_workmanager Reformat some javadoc 2022-02-18 14:54:02 +00:00
extractor Refactor MIDI and Flac extractor loaders for deduplication 2022-05-24 10:33:06 +01:00
session Support custom actions with DefaultMediaNotificationProvider 2022-05-24 11:10:51 +01:00
test_data Combine multiple matrix transformations in one shader. 2022-05-24 10:44:15 +01:00
test_exoplayer_playback Move TrackGroupArray back to ExoPlayer 2022-03-17 13:08:56 +00:00
test_session_common Create new class to store cues and timestamp. 2022-05-24 10:49:48 +01:00
test_session_current Migrate leaf listeners of Player to new onCues override 2022-05-24 11:02:03 +01:00
test_utils Remove @Nullable from MediaSource.Factory setters 2022-05-24 11:07:07 +01:00
test_utils_robolectric Migrate leaf listeners of Player to new onCues override 2022-05-24 11:02:03 +01:00
transformer Skip performance tests if device is not capable. 2022-05-23 14:54:02 +01:00
ui Migrate leaf listeners of Player to new onCues override 2022-05-24 11:02:03 +01:00
ui_leanback Fixes for some minor misc issues 2021-11-19 14:44:25 +00:00