DescriptionMediaCodecPlayer - preroll and reconfiguration fixes
Now the decision to do preroll is controlled by two variables:
the preroll timestamp, which is set by seek, and the MediaCodec
state "is_prepared" - it is considered prepared after we got
the output buffer.
With these changes preroll won't be done again if the decoder is
already prerolled (thus there might be a case where only one
stream is prerolled, e.g. the one that is drained, for 2 streams
A/V playback). Also the preroll timestamp is not reset when the
preroll starts, only when it is done or flush happens.
Added more unit tests for decoder reconfiguration.
BUG=407577
Committed: https://crrev.com/4b000195a8d27e9c3c4bfdd77113674840286a48
Cr-Commit-Position: refs/heads/master@{#347780}
Patch Set 1 #Patch Set 2 : Tests cleanup, added simultaneous config change unit test #Patch Set 3 : Rebased #Patch Set 4 : Added more unit tests #
Total comments: 8
Patch Set 5 : Addressed Min's comments, small changes in stop sequence #
Total comments: 8
Patch Set 6 : Rebased #
Messages
Total messages: 15 (4 generated)
|