DescriptionMediaCodecPlayer implementation (stage 3 - browser seek and surface change)
We initiate a browser seek if at the time of video codec
reconfiguration the frame that would be the first one is not
a key frame. This usually happens when we replace video surface
in the middle of the playback.
In this implementation when the video surface is changed during
the playback both audio and video streams are stopped and then both
are restarted.
BUG=407577
Committed: https://crrev.com/0b80663bae09866fb8a5aa5431312c957e3f0f4e
Cr-Commit-Position: refs/heads/master@{#341223}
Patch Set 1 #Patch Set 2 : Restored log verbosity level for per-frame info #Patch Set 3 : Fixed unit tests #Patch Set 4 : Fixed the check whether surface is empty, faster stopping after SyncStop, cleanup #
Total comments: 4
Patch Set 5 : Addressed Min comments, added unit tests. #
Total comments: 1
Patch Set 6 : Rebased, DepleteOutputBuffer() cleanup #Patch Set 7 : Fixed SeekTo() followed by Release() and added uunit tests for this case #
Total comments: 14
Patch Set 8 : Addressed Matt's comments, do not swallow seek completed reply in the error state #
Total comments: 7
Patch Set 9 : Rebased, changed DCHECKs. #
Dependent Patchsets: Messages
Total messages: 19 (4 generated)
|