diff options
author | Chih-Yu Huang <akahuang@google.com> | 2020-08-31 17:31:45 +0900 |
---|---|---|
committer | Chih-Yu Huang <akahuang@google.com> | 2020-09-03 18:10:54 +0900 |
commit | 9cf0ab57d14d9f74e834c36a2a1e0324e0482e89 (patch) | |
tree | 15b302105bc458b9189b9ea1fa3c39e9966c7183 /components/V4L2Decoder.cpp | |
parent | 842849a0ac0d2825f9af76357dcd8967150ff583 (diff) | |
download | v4l2_codec2-9cf0ab57d14d9f74e834c36a2a1e0324e0482e89.tar.gz |
Make VideoFramePool and C2VdaBqBlockPool non-blocking when fetching
Originally, when C2VdaBqBlockPool timed out to fetch a block, the
method is blocking to wait for buffer released. If this blocking
waiting also timed out, then VideoFramePool would retry again with
exponential backoff. We have 2 retry mechanisms for timed out in both
VideoFramePool and C2VdaBqBlockPool, which is redundant.
In this CL, the C2VdaBqBlockPool method return C2_TIMED_OUT directly
when there is no available block. Then VideoFramePool set a callback
to C2VdaBqBlockPool. When there is an available block,
C2VdaBqBlockPool will notify VideoFramePool via the callback.
Bug: 166072201
Test: pass tast.arc.VideoDecodeAccel.h264_vm
Change-Id: I27380f144a496457349799cf5ad15c5f8986e307
Diffstat (limited to 'components/V4L2Decoder.cpp')
0 files changed, 0 insertions, 0 deletions