V4L2DecodeComponent: polish the logic of start and stop

This CL polishes the logic of start and stop, including:
1. Remove timeout waiting:
CCodec framework already has timeout for calling component's method,
so we don't need the timeout again.

2. make release() not call stop().
Originally release() calls stop() directly, but release() can skip
some tasks in stop(). Actually release() should do the same clean-up
as destructor does.

Bug: 181541291
Test: android.media.cts.AdaptivePlaybackTest

Change-Id: I7cdb0037115ab308e7038fa95fdcfdf0133ac53e
2 files changed
tree: ca175367051b6b9ec245dd72ea46a0281b79ecd8
  1. accel/
  2. common/
  3. components/
  4. plugin_store/
  5. service/
  6. store/
  7. tests/
  8. .clang-format
  9. Android.bp
  10. METADATA
  11. MODULE_LICENSE_BSD
  12. NOTICE
  13. OWNERS
  14. PREUPLOAD.cfg
  15. README.md
README.md

V4L2-based Codec2 Component Implementation

Description of Sub-folders

  • accel/ Core V4L2 API and codec utilities, ported from Chromium project.

  • common/ Common helper classes for both components/ and store/.

  • components/ The C2Component implementations based on V4L2 API.

  • store/ The implementation of C2ComponentStore. It is used for creating all the C2Components implemented at components/ folder.

  • service/ The Codec2's V4L2 IComponentStore service. The service initiates the component store implemented at store/ folder, and registers it as the default service.