1# 5\. Multimedia Compatibility
2
3Device implementations:
4
5*   [C-0-1] MUST support the media formats, encoders, decoders, file types,
6    and container formats defined in [section 5.1](#5_1_media-codecs.md)
7    for each and every codec declared by `MediaCodecList`.
8*   [C-0-2] MUST declare and report support of the encoders, decoders available
9    to third-party applications via [`MediaCodecList`](
10    http://developer.android.com/reference/android/media/MediaCodecList.html).
11*   [C-0-3] MUST be able to properly decode and make available to third-party
12    apps all the formats it can encode. This includes all bitstreams that its
13    encoders generate and the profiles reported in its [`CamcorderProfile`](
14    http://developer.android.com/reference/android/media/CamcorderProfile.html).
15
16Device implementations:
17
18*   SHOULD aim for minimum codec latency, in others words, they
19    *   SHOULD NOT consume and store input buffers and return input buffers only
20    once processed.
21    *   SHOULD NOT hold onto decoded buffers for longer than as specified by the
22    standard (e.g. SPS).
23    *   SHOULD NOT hold onto encoded buffers longer than required by the GOP
24    structure.
25
26All of the codecs listed in the section below are provided as software
27implementations in the preferred Android implementation from the Android Open
28Source Project.
29
30Please note that neither Google nor the Open Handset Alliance make any
31representation that these codecs are free from third-party patents. Those
32intending to use this source code in hardware or software products are advised
33that implementations of this code, including in open source software or
34shareware, may require patent licenses from the relevant patent holders.
35