Commit 02faf854 authored by Pin-chih Lin's avatar Pin-chih Lin
Browse files

codec2: C2VDAComponent: support dynamic surface switching

Some GTS tests will try to switch surface while decoder is working. In ARC++
decoder case, we need to keep the same set of output buffers.

When block pool got the surface (producer) switch request from CCodec, the
block pool attaches current buffers to new surface and detaches from old
surface, then replace the surface.

The component will get noticed from block pool that surface is changed via
fetchGraphicBlock() call. The component should stop the dequeue loop and update
graphic block informations of new surface from block pool (implemented as
updateGraphicBlock()), and restart the dequeue loop then.

Bug: 116575263
Test: GtsExoPlayerTestCases on eve-arcnext w/ codec2 enabled
Test: com.google.android.exoplayer.gts.DashTest#testH264AdaptiveWithRendererDisabling
Test: com.google.android.exoplayer.gts.DashTest#testVp9AdaptiveWithRendererDisabling
Change-Id: I0e2cc0af19755c0f6a15d4dfd27ba7f52bb552b6
(cherry picked from commit bdf96463c905cd787be83259e32720ec36412b2a)
parent 3aff30be
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment