MediaCodec.CryptoInfo クラス

定義

暗号化された入力サンプルの構造を記述するメタデータ。

[Android.Runtime.Register("android/media/MediaCodec$CryptoInfo", DoNotGenerateAcw=true)]
public sealed class MediaCodec.CryptoInfo : Java.Lang.Object
[<Android.Runtime.Register("android/media/MediaCodec$CryptoInfo", DoNotGenerateAcw=true)>]
type MediaCodec.CryptoInfo = class
    inherit Object
継承
MediaCodec.CryptoInfo
属性

注釈

暗号化された入力サンプルの構造を記述するメタデータ。

バッファーのデータは、"subSamples" にパーティション分割されていると見なされます。 各サブサンプルは、プレーンで暗号化されていないバイトの実行から始まり、その後に暗号化されたバイトの実行が続きます。 これらの実行のいずれかが空の場合があります。 パターン暗号化が適用される場合、"encrypt" ブロックと "skip" ブロックの繰り返しパターンに従って、暗号化された各実行の一部のみが暗号化されます。 #numBytesOfClearData すべてのデータが暗号化 #numBytesOfEncryptedData されていることを示す場合は null、すべてのデータが明確であることを示す場合は null にすることができます。 と の#numBytesOfClearData#numBytesOfEncryptedData少なくとも 1 つは null 以外である必要があります。

この情報は、ISO/IEC FDIS 23001-7:2016 「ISO ベース メディア ファイル形式ファイルでの一般的な暗号化」で説明されているように、サンプルごとのメタデータをカプセル化します。

<h3>ISO-CENC スキーム</h3> ISO/IEC FDIS 23001-7:2016 では、パターン化された暗号化の有無を含む AES モードの可能な各組み合わせに対応して、メディアを暗号化できる 4 つのスキームが定義されています。

<table style="width: 0%"><thead><tr><th> </th th>><AES-CTR</th><>AES-CBC</th></tr></thead<>tbody<>tr<>th>Without Patterns</th><td>cenc</td><td>cbc1</td<>/tr tr><<>th>With Patterns</th><td>cens</td><td cbcs</td<>>/tr<>/tbody></table>

の場合CryptoInfo、スキームは フィールドと で設定#setPatternされた値の#mode組み合わせによって暗黙的に選択されます。 パターンの場合、パターンをすべてのゼロ (つまり、両方 blocksToEncrypt とも blocksToSkip ゼロ) に設定すると、完全にオフのパターンとして解釈されます。 パターンを使用しないスキームが選択されます (cenc または cbc1)。 パターンを 0 以外の値に設定すると、パターンをサポートするスキーム (cens または cbcs) のいずれかを選択します。 が呼び出されない場合 #setPattern の既定のパターンはすべてゼロです。

<h4>HLS SAMPLE-AES Audio</h4> HLS SAMPLE-AES オーディオは、パターン暗号化を使用しない点を除き、cbcs スキームと互換性のある方法で暗号化されます。 ただし、 を使用してすべてのゼロにパターンを設定する場合 #setPattern 、これは cbc1 スキームを選択すると解釈されます。 Cbc1 スキームでは、IV の処理方法が異なるため、HLS SAMPLE-AES オーディオの暗号化を正常に解除できません。 このため、HLS SAMPLE-AES オーディオでは、暗号化されたブロックと0スキップ ブロックの1パターンを使用することをお勧めします。 これにより、すべてのブロックの暗号化を解除しながら、cbcs モードを使用するように復号化がトリガーされます。

の Java ドキュメント android.media.MediaCodec.CryptoInfo

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

MediaCodec.CryptoInfo()

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
Iv

16 バイト初期化ベクトル

JniIdentityHashCode

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
JniPeerMembers

暗号化された入力サンプルの構造を記述するメタデータ。

Key

16 バイトのキー ID

Mode

適用されている暗号化の種類については、、および を参照してください#CRYPTO_MODE_UNENCRYPTED#CRYPTO_MODE_AES_CTR#CRYPTO_MODE_AES_CBC

NumBytesOfClearData

各サブサンプルの先頭の暗号化されていないバイト数。

NumBytesOfEncryptedData

各サブサンプル内の末尾の暗号化されたバイト数。

NumSubSamples

バッファーの内容を構成するサブサンプルの数。

PeerReference

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

(継承元 Object)
ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

(継承元 Object)

メソッド

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Dispose()

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
Dispose(Boolean)

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetPattern()

暗号化された入力サンプルの構造を記述するメタデータ。

JavaFinalize()

ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。

(継承元 Object)
Set(Int32, Int32[], Int32[], Byte[], Byte[], MediaCodecCryptoMode)

インスタンスのサブサンプル数、クリア/暗号化されたサイズ、キー、IV、モードの各フィールドを MediaCodec.CryptoInfo 設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPattern(MediaCodec+CryptoInfo+Pattern)

暗号化された入力サンプルの構造を記述するメタデータ。

ToArray<T>()

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
IJavaPeerable.Finalized()

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

暗号化された入力サンプルの構造を記述するメタデータ。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

暗号化された入力サンプルの構造を記述するメタデータ。

GetJniTypeName(IJavaPeerable)

暗号化された入力サンプルの構造を記述するメタデータ。

適用対象