MediaCodec.CryptoInfo Klasse

Definition

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

[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
Vererbung
MediaCodec.CryptoInfo
Attribute

Hinweise

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

Die Daten eines Puffers gelten als partitioniert in "subSamples". Jedes subSample beginnt mit einer Ausführung von einfachen, unverschlüsselten Bytes, gefolgt von einer Ausführung verschlüsselter Bytes. Jede dieser Ausführungen kann leer sein. Wenn die Musterverschlüsselung zutrifft, wird jede der verschlüsselten Ausführungen nur teilweise verschlüsselt, entsprechend einem sich wiederholenden Muster von "Verschlüsseln"- und "Überspringen"-Blöcken. #numBytesOfClearData kann NULL sein, um anzugeben, dass alle Daten verschlüsselt sind, und #numBytesOfEncryptedData null, um anzugeben, dass alle Daten eindeutig sind. Mindestens eine von #numBytesOfClearData und #numBytesOfEncryptedData muss ungleich NULL sein.

Diese Informationen kapseln die Metadaten pro Beispiel, wie in ISO/IEC FDIS 23001-7:2016 "Allgemeine Verschlüsselung in ISO-Basismediendateidateien" beschrieben.

<h3>ISO-CENC Schemes</h3> ISO/IEC FDIS 23001-7:2016 definiert vier mögliche Schemas, durch die Medien verschlüsselt werden können, die jeder möglichen Kombination eines AES-Modus mit dem Vorhandensein oder Fehlen einer musterten Verschlüsselung entsprechen.

<table style="width: 0%"><thead><tr><th> </th>th AES-CTR</th<>th>AES-CBC</th></tr<>/thead><tbody<>tr<>th>Ohne Muster</th><td>cenc</td td<>td>cbc1</td<>/tr><tr<>th>Mit Mustern</th<>td>cens</td td>><cbcs</td></tr></tbody></table><>

Für CryptoInfowird das Schema implizit durch die Kombination des Felds #mode und des Mit #setPatternfestgelegten Werts ausgewählt. Für das Muster wird das Festlegen des Musters auf alle Nullen (d. h. sowohl als auch blocksToEncryptblocksToSkip null) so interpretiert, dass Muster vollständig deaktiviert werden. Es wird ein Schema ausgewählt, das keine Muster verwendet, entweder cenc oder cbc1. Wenn Sie das Muster auf einen beliebigen Wert ohne Zero festlegen, wählen Sie eines der Muster unterstützenden Schemas( cens oder cbcs) aus. Das Standardmuster, wenn #setPattern nie aufgerufen wird, sind alle Nullen.

<h4>HLS SAMPLE-AES Audio</h4> HLS SAMPLE-AES Audio wird in einer Weise verschlüsselt, die mit dem cbcs-Schema kompatibel ist, mit der Ausnahme, dass es keine musterbasierte Verschlüsselung verwendet. Wenn #setPattern jedoch zum Festlegen des Musters auf alle Nullen verwendet wird, wird dies als Auswählen des cbc1-Schemas interpretiert. Das cbc1-Schema kann hlS SAMPLE-AES-Audio aufgrund von Unterschieden in der Behandlung der IVs nicht erfolgreich entschlüsseln. Aus diesem Grund wird empfohlen, mit HLS SAMPLE-AES Audio ein Muster von 1 verschlüsselten Block- und 0 Skip-Blöcken zu verwenden. Dadurch wird die Entschlüsselung ausgelöst, um den cbcs-Modus zu verwenden und gleichzeitig jeden Block zu entschlüsseln.

Java-Dokumentation für android.media.MediaCodec.CryptoInfo.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

MediaCodec.CryptoInfo()

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle zum zugrunde liegenden Android-instance.

(Geerbt von Object)
Iv

Ein Initialisierungsvektor mit 16 Byte

JniIdentityHashCode

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
JniPeerMembers

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

Key

Eine 16-Byte-Schlüssel-ID

Mode

Der Angewendete Verschlüsselungstyp finden Sie unter #CRYPTO_MODE_UNENCRYPTED, #CRYPTO_MODE_AES_CTR und #CRYPTO_MODE_AES_CBC

NumBytesOfClearData

Die Anzahl der führenden unverschlüsselten Bytes in jedem subSample.

NumBytesOfEncryptedData

Die Anzahl der nachgestellten verschlüsselten Bytes in jedem SubSample.

NumSubSamples

Die Anzahl der SubSamples, aus denen der Inhalt des Puffers besteht.

PeerReference

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)
ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

(Geerbt von Object)

Methoden

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Dispose()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
Dispose(Boolean)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt diesem "gleich" ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
GetPattern()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
Set(Int32, Int32[], Int32[], Byte[], Byte[], MediaCodecCryptoMode)

Legen Sie die Unterstichprobenanzahl, eindeutige/verschlüsselte Größen, Schlüssel, IV und Modusfelder einer MediaCodec.CryptoInfo instance fest.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
SetPattern(MediaCodec+CryptoInfo+Pattern)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

ToArray<T>()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
IJavaPeerable.Finalized()

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Für Android-Runtime überprüfte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

GetJniTypeName(IJavaPeerable)

Metadaten, die die Struktur eines verschlüsselten Eingabebeispiels beschreiben.

Gilt für: