メディア モジュールは、メディアタイプとコーデックの処理、ExoPlayer とのインタラクション、フレームワークへのトランスポート コントロールと再生情報の公開、その他のメディア関連機能を実行します。
メディア コンポーネントは、高頻度で攻撃の標的になる(最近発見されたセキュリティ バグの多くはメディアに関連している)ため、セキュリティ バグと機能の更新をスピードアップしてセキュリティを強化すると、攻撃で悪用される可能性のあるセキュリティ バグの数が減少します。メディア フレームワークは引き続き拡張可能です。パートナーは、メディア コーデックとメディア形式エクストラクタを引き続き拡張できます。
メディア モジュールとメディア コンポーネント
更新可能なメディア コンポーネントは、次のモジュールに格納されています。
メディア モジュール。以下のメディア コンポーネントが含まれています。
メディア エクストラクタは、さまざまな種類のメディアを処理します。各エクストラクタは、エクストラクタが特定のメディア ファイルを処理できるかどうかを判断する sniffer 関数と、そのメディア ファイルのエクストラクタのインスタンスを作成する factory 関数を含む個別の
.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 以降を搭載したデバイスで使用できます。
カスタマイズ
カスタムのエクストラクタとデコーダの追加について詳しくは、メディア コンポーネントのカスタマイズをご覧ください。