MediaCodec.CryptoInfo クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
暗号化された入力サンプルの構造を記述するメタデータ。
[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
- 継承
- 属性
注釈
暗号化された入力サンプルの構造を記述するメタデータ。
バッファーのデータは、"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 |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
Iv |
16 バイト初期化ベクトル |
JniIdentityHashCode |
暗号化された入力サンプルの構造を記述するメタデータ。 (継承元 Object) |
JniPeerMembers |
暗号化された入力サンプルの構造を記述するメタデータ。 |
Key |
16 バイトのキー ID |
Mode |
適用されている暗号化の種類については、、および を参照してください |
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、モードの各フィールドを |
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) |
暗号化された入力サンプルの構造を記述するメタデータ。 |