メディア モジュールは、メディア タイプとコーデックを処理し、ExoPlayer と対話し、トランスポート コントロールと再生情報をフレームワークに公開し、その他のメディア関連機能を実行します。
メディア コンポーネントは頻繁に攻撃の対象となります (最近のセキュリティ バグの多くはメディアに関連しています)。そのため、セキュリティ バグや機能の更新を加速してセキュリティを強化することで、攻撃によって悪用される可能性のあるセキュリティ バグの数を減らすことができます。メディア フレームワークは引き続き拡張可能です。パートナーは、メディア コーデックとメディア フォーマット エクストラクタを引き続き拡張できます。
メディア モジュールとコンポーネント
更新可能なメディア コンポーネントは、次のモジュールに存在します。
メディア モジュール。次のメディア コンポーネントが含まれます。
メディア エクストラクタは、さまざまな種類のメディアを処理します。各エクストラクタは、エクストラクタが特定のメディア ファイルを処理できるかどうかを判断するスニファ関数と、そのメディア ファイルのエクストラクタのインスタンスを作成するファクトリ関数を備えた個別の
.so
ファイルです。MediaSession2
API を使用すると、メディア アプリはトランスポート コントロールと再生情報を Android フレームワークや他のアプリなどの他のプロセスに公開できます。MediaParser
API(Android 11 の新機能)により、ExoPlayer はフレームワーク メディア コンテナ パーサーを効率的に使用して、メディア コンテナからメディア サンプルを抽出できます。互換性のあるメディア トランスコーディング(Android 12 の新機能)により、プラットフォームの互換性のあるメディア トランスコーディング機能が有効になります。
メディア コーデック モジュール。更新可能なソフトウェア Codec2 コンポーネントが含まれています。
これらのモジュールとコンポーネントの詳細については、メディアセクションを参照してください。
モジュール形式
Media モジュール ( com.android.media
) と Media Codec モジュール ( com.android.media.swcodec
) はAPEX形式であり、Android 10 以降を実行しているデバイスで使用できます。
カスタマイズ
カスタム エクストラクタとデコーダの追加の詳細については、メディア コンポーネントのカスタマイズを参照してください。