media/libraries
christosts 0221e0e159 Async buffer queueing: do not throw from flush/shutdown
The asynchronous MediaCodec adapter queues input buffers in a
background thread. If a codec queueuing operation throws an exception,
the buffer enqueuer will store it as a pending exception and re-throw it
the next time the adapter will attempt to queue another input buffer.

The buffer enqueuer's flush() and shutdown() may throw an exception if
the pending error is set. This is subject to a race-condition in which
the pending error can be set while the adapter is flushing/shutting down
the enqueuer, e.g., if an input buffer is still being queued and the
codec throws an exception. As a result, the adapter cannot flush or
shutdown gracefully.

This change makes the buffer enqueuer to ignore any pending error
when flushing/shuttinf down so that the adapter can flush/release
gracefully even if a queueing error was detected.

PiperOrigin-RevId: 409113054
2021-11-19 14:39:00 +00:00
..
cast Migrate usages of Window-based Player methods 2021-11-09 10:07:30 +00:00
common Make TrackSelectionOverride.getTrackType public 2021-11-19 14:37:58 +00:00
database Update to androidx.media3 2021-10-27 09:12:46 +01:00
datasource Add contract tests for DataSource#getResponseHeaders 2021-11-19 14:33:46 +00:00
datasource_cronet Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
datasource_okhttp Update to androidx.media3 2021-10-27 09:12:46 +01:00
datasource_rtmp Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
decoder Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
decoder_av1 Update to androidx.media3 2021-10-27 09:12:46 +01:00
decoder_ffmpeg Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
decoder_flac Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
decoder_opus Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
decoder_vp9 Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
exoplayer Async buffer queueing: do not throw from flush/shutdown 2021-11-19 14:39:00 +00:00
exoplayer_dash Plumb PlayerId to MediaSource. 2021-11-19 14:35:52 +00:00
exoplayer_hls Plumb PlayerId to MediaSource. 2021-11-19 14:35:52 +00:00
exoplayer_ima Add @Deprecated to MediaSourceFactory deprecated overrides 2021-11-09 10:10:11 +00:00
exoplayer_rtsp Add missing RetentionPolicy for IntDef 2021-11-09 10:09:13 +00:00
exoplayer_smoothstreaming Add @Deprecated to MediaSourceFactory deprecated overrides 2021-11-09 10:10:11 +00:00
exoplayer_workmanager Update to androidx.media3 2021-10-27 09:12:46 +01:00
extractor Merge pull request #9543 from KasemJaffer:rf64 2021-11-19 14:29:19 +00:00
session Remove statically initialized SessionResult 2021-11-09 10:10:10 +00:00
test_data Merge pull request #9543 from KasemJaffer:rf64 2021-11-19 14:29:19 +00:00
test_exoplayer_playback Make package in test manifest consistent 2021-11-08 15:18:26 +00:00
test_session_common Migrate media3.session references from Window to MediaItem 2021-11-08 15:13:41 +00:00
test_session_current Use app target sdk of 29 everywhere. 2021-11-09 10:10:10 +00:00
test_utils Plumb PlayerId to MediaSource. 2021-11-19 14:35:52 +00:00
test_utils_robolectric Migrate usages of Window-based Player methods 2021-11-09 10:07:30 +00:00
transformer Split VideoSamplePipeline from TransformerTranscodingVideoRenderer. 2021-11-19 14:28:03 +00:00
ui Migrate usages of Window-based Player methods 2021-11-09 10:07:30 +00:00
ui_leanback Suppress lint warnings in leanback module. 2021-11-09 10:09:13 +00:00