[mediacodec] Begin stress tests of codecs.

This CL begins a test suite of StreamProcessor
implementations.

Testing a StreamProcessor is hard because there
is a lot to keep track of. This CL features a
StreamRunner that takes a description of
intended behavior in data, so that tests can just
specify a config for the stream run.

StreamRunner is generic over elementary stream.
All that is required of new codecs to fit into
the StreamRunner is implementing the
ElementaryStream trait for some test data stream.

A test spec type is defined that allows testers
to specify the elementary streams to run,
the options with which to run them, and a set of
validators for the behavior of the stream.

This is all needed because the scenarios we need
to run for stress tests involve complex scenarios
with many concurrent streams. To keep that under
control it is easiest to define them
declaratively.

Change-Id: Iab9d27448166881ca37fbbe64fb44c4f2495c967
18 files changed
tree: da371ffbce9375c6da51c163192b3a80ea3d210d
  1. .clang-format
  2. .clang-tidy
  3. .dir-locals.el
  4. .gitattributes
  5. .gitignore
  6. .gn
  7. AUTHORS
  8. BUILD.gn
  9. CODE_OF_CONDUCT.md
  10. CONTRIBUTING.md
  11. LICENSE
  12. OWNERS
  13. PATENTS
  14. README.md
  15. boards/
  16. build/
  17. buildtools/
  18. bundles/
  19. docs/
  20. examples/
  21. garnet/
  22. infra/
  23. peridot/
  24. products/
  25. rustfmt.toml
  26. scripts/
  27. sdk/
  28. src/
  29. third_party/
  30. tools/
  31. zircon/
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.