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 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
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 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource Add nullness annotations to SimpleCache 2023-08-22 15:33:08 +01:00
datasource_cronet Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource_okhttp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
datasource_rtmp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
decoder Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_av1 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_ffmpeg Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_flac Add more data to e2etest dumps 2023-07-13 15:33:33 +01:00
decoder_midi Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_opus Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_vp9 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
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 Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
extractor Add BmpExtractor 2023-09-04 10:37:28 -07:00
muxer Only set hadKeyframe flag to true if we end up muxing the frame. 2023-08-10 12:00:51 +00:00
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 Add android.namespace to all build.gradle files 2023-05-19 17:19:15 +01:00
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 Set signal on renderer once it's allowed to render start of stream 2023-07-13 15:59:00 +01:00
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