メディア

メディア モジュールは、メディアタイプとコーデックの処理、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 以降を搭載したデバイスで使用できます。

カスタマイズ

カスタムのエクストラクタとデコーダの追加について詳しくは、メディア コンポーネントのカスタマイズをご覧ください。