Implement a fence-based frame delivery mechanism

For the clients that implement IEvsCameraStream v1.1 interface, this
change introduces new logic to deliver the imagery data.

While a previous logic keeps forwarding frames until the buffer pool is
running out, VirtualCamera instance requests a new frame and waits on a
fence that HalCamera instance returns.  HalCamera signals a fence when
new frame is delivered by EVS HW module and pending VirtualCamera
instances will forward a frame to the clients.

Bug: 142275664
Test: VtsHalEvsV1_1TargetTest
Change-Id: I181c31a56800fcf4de0cf74e530deb7ef8e227d4
Signed-off-by: Changyeon Jo <changyeon@google.com>
12 files changed
tree: c8d51872e9fb5d420a3c3d5ca0b67c048778a334
  1. car-bugreportd/
  2. car-default-input-service/
  3. car-lib/
  4. car-maps-placeholder/
  5. car-systemtest-lib/
  6. car-test-lib/
  7. car-usb-handler/
  8. car_product/
  9. computepipe/
  10. EncryptionRunner/
  11. evs/
  12. experimental/
  13. FrameworkPackageStubs/
  14. obd2-lib/
  15. procfs-inspector/
  16. service/
  17. tests/
  18. tools/
  19. user/
  20. vehicle-hal-support-lib/
  21. watchdog/
  22. .clang-format
  23. .gitignore
  24. Android.mk
  25. CleanSpec.mk
  26. OWNERS
  27. PREUPLOAD.cfg
  28. README.md
README.md

Native (C++) code format is required to be compatible with .clang-format file. Run

git clang-format --style=file --extension='h,cpp,cc' HEAD~

Note that clang-format is not desirable for Android java files. Therefore the command line above is limited to specific extensions.