aboutsummaryrefslogtreecommitdiff
path: root/components/V4L2Decoder.cpp
diff options
context:
space:
mode:
authorChih-Yu Huang <akahuang@google.com>2020-08-31 17:31:45 +0900
committerChih-Yu Huang <akahuang@google.com>2020-09-03 18:10:54 +0900
commit9cf0ab57d14d9f74e834c36a2a1e0324e0482e89 (patch)
tree15b302105bc458b9189b9ea1fa3c39e9966c7183 /components/V4L2Decoder.cpp
parent842849a0ac0d2825f9af76357dcd8967150ff583 (diff)
downloadv4l2_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