Handle VIDIOC_REQBUFS response properly

EVS reference HAL implementation assumes that the target device always
grants the number of buffers the client requests.  However, when the
device grants more than what EVS requested, EVS fails to operate a
target video stream and behaves unexpectedly.

This change therefore reads back what VIDIOC_REQBUFS ioctl command
returns and allocates the resources to run the target device properly.

Fix: 162253137
Test: go/aaos-evs-vivid
Change-Id: I011f427a98d295690393932ba3db8f4194a7cff2
3 files changed
tree: 9a5c4be6c2ed3b14777b858689b498de63aa1224
  1. car-bugreportd/
  2. car-default-input-service/
  3. car-internal-lib/
  4. car-lib/
  5. car-maps-placeholder/
  6. car-systemtest-lib/
  7. car-test-lib/
  8. car-usb-handler/
  9. car_product/
  10. computepipe/
  11. EncryptionRunner/
  12. evs/
  13. experimental/
  14. FrameworkPackageStubs/
  15. obd2-lib/
  16. procfs-inspector/
  17. service/
  18. surround_view/
  19. tests/
  20. tools/
  21. user/
  22. vehicle-hal-support-lib/
  23. watchdog/
  24. .clang-format
  25. .gitignore
  26. Android.mk
  27. CleanSpec.mk
  28. CPPLINT.cfg
  29. OWNERS
  30. PREUPLOAD.cfg
  31. README.md
  32. TEST_MAPPING
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.