The AsynchronousMediaCodecAdapter's queuing thread stores any exceptions raised by MediaCodec and re-throws them on the next call to queueInputBuffer()/queueSecureInputBuffer(). However, if MediaCodec raises and error while queueing, it goes into a failed state and does not announce available input buffers. If there is no input available input buffer, the MediaCodecRenderer will never call queueInputBuffer()/queueSecureInputBuffer(), hence playback is stalled. This change surfaces the queueing error through the adapter's dequeueing methods. PiperOrigin-RevId: 508637346 (cherry picked from commit a5f4651d)
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| all | Loading commit data... | |
| common | Loading commit data... | |
| core | Loading commit data... | |
| dash | Loading commit data... | |
| database | Loading commit data... | |
| datasource | Loading commit data... | |
| decoder | Loading commit data... | |
| effect | Loading commit data... | |
| extractor | Loading commit data... | |
| hls | Loading commit data... | |
| rtsp | Loading commit data... | |
| smoothstreaming | Loading commit data... | |
| transformer | Loading commit data... | |
| ui | Loading commit data... | |
| README.md | Loading commit data... |