mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00

The existing logic was not working sometimes because: 1. The repeated scheduling in releaseAllFramesFromMediaCodec was starving the thread on which the SurfaceTexture frameAvailableListener was called. 2. The case where a pending frame arrives on the surface after flush finishes executing was not handled. The consequence of both problems is that availableFrameCount ended up being > pendingFrames.size(). PiperOrigin-RevId: 668916256