media/libraries
tianyifeng 2554fe8f70 Recreate AudioTrack when ERROR_DEAD_OBJECT throws as writing PCM data
We have an existing logic for recovering the `AudioTrack` from the [ERROR_DEAD_OBJECT](https://developer.android.com/reference/android/media/AudioTrack#ERROR_DEAD_OBJECT)
throws. However, this only applies to the situation when the
`writtenEncodedFrames > 0`.

However, we have a case when `ERROR_DEAD_OBJECT` throws while writing
PCM data. When the `tunneling` is turned on, the `AudioTrack` is set the
flag `AUDIO_OUTPUT_FLAG_HW_AV_SYNC`, and further because of this flag,
it is forced the flag `AUDIO_OUTPUT_FLAG_DIRECT`. When the platform
invalidates the `AudioTrack`, the `AudioTrack` won't be restored by the
platform due to `AUDIO_OUTPUT_FLAG_DIRECT` flag, and `ERROR_DEAD_OBJECT`
is thrown.

Issue: androidx/media#431
PiperOrigin-RevId: 562582451
2023-09-04 10:41:48 -07:00
..
cast
common Renames containsKey to contains so it's more readable 2023-09-01 04:25:25 -07:00
container Remove duplication of various TestUtil methods 2023-08-31 08:23:33 -07:00
database
datasource Add nullness annotations to SimpleCache 2023-08-22 15:33:08 +01:00
datasource_cronet
datasource_okhttp
datasource_rtmp
decoder
decoder_av1
decoder_ffmpeg
decoder_flac
decoder_midi
decoder_opus
decoder_vp9
effect Overlay: Rename videoFrameAnchor to backgroundFrameAnchor. 2023-09-01 11:28:19 -07:00
exoplayer Recreate AudioTrack when ERROR_DEAD_OBJECT throws as writing PCM data 2023-09-04 10:41:48 -07:00
exoplayer_dash Add functionality to transmit CMCD data using query parameters 2023-08-31 02:11:12 -07:00
exoplayer_hls Add functionality to transmit CMCD data using query parameters 2023-08-31 02:11:12 -07:00
exoplayer_ima Add StreamEventListener for IMA SSAI source 2023-08-31 11:29:29 -07:00
exoplayer_rtsp Added condition to RtspMediaPeriod.isLoading to check RtspState 2023-08-30 06:29:53 -07:00
exoplayer_smoothstreaming Add functionality to transmit CMCD data using query parameters 2023-08-31 02:11:12 -07:00
exoplayer_workmanager
extractor Add BmpExtractor 2023-09-04 10:37:28 -07:00
muxer
session Set groupKey for media notification in DefaultMediaNotificationProvider 2023-08-29 09:10:12 -07:00
test_data Add BmpExtractor 2023-09-04 10:37:28 -07:00
test_exoplayer_playback
test_session_common Show play button during playback suppression by default 2023-08-15 17:15:38 +01:00
test_session_current De-flake MediaSessionCompatCallbackWithMediaControllerTest.onStop test 2023-08-29 04:28:16 -07:00
test_utils Conditionally output captured data in CapturingRenderersFactory 2023-09-01 09:26:33 -07:00
test_utils_robolectric
transformer Overlay: Rename videoFrameAnchor to backgroundFrameAnchor. 2023-09-01 11:28:19 -07:00
ui Show play button during playback suppression by default 2023-08-15 17:15:38 +01:00
ui_leanback Prevent forwarding of zero video size to Leanback 2023-08-30 12:20:51 -07:00