Sprache

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 werden als partitioniert in "SubSamples" betrachtet. Jedes SubSample beginnt mit einer Ausführung von einfachen, unverschlüsselten Bytes gefolgt von einer Ausführung verschlüsselter Bytes. Eine dieser Ausführungen ist möglicherweise leer. Wenn die Musterverschlüsselung gilt, wird jede verschlüsselte Ausführung nur teilweise verschlüsselt, entsprechend einem wiederholten Muster von "verschlüsseln"- und "überspringen"-Blöcken. #numBytesOfClearData kann NULL sein, um anzugeben, dass alle Daten verschlüsselt sind und #numBytesOfEncryptedData null sein können, um anzugeben, dass alle Daten klar sind. Mindestens einer von #numBytesOfClearData und #numBytesOfEncryptedData muss nicht null sein.

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

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

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

Für CryptoInfo, das Schema wird implizit durch die Kombination des #mode Felds und den wert festgelegt mit #setPattern. Für das Muster wird das Festlegen des Musters auf alle Nullen (d. h. beide blocksToEncrypt und blocksToSkip null) als vollständiges Deaktivieren von Mustern interpretiert. Ein Schema, das keine Muster verwendet, wird entweder cenc oder cbc1 ausgewählt. Wenn Sie das Muster auf einen beliebigen Wert ungleich Null festlegen, wählen Sie eines der mustergestützten 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 auf eine Weise verschlüsselt, die mit dem cbcs-Schema kompatibel ist, mit der Ausnahme, dass keine musterierte Verschlüsselung verwendet wird. Wenn #setPattern jedoch zum Festlegen des Musters auf alle Nullen verwendet wird, wird dies als Auswahl des cbc1-Schemas interpretiert. Das cbc1-Schema kann HLS SAMPLE-AES Audio aufgrund von Unterschieden bei der Behandlung der IVs nicht erfolgreich entschlüsseln. Aus diesem Grund wird empfohlen, ein Muster von 1 verschlüsselten Block- und 0 Skip-Blöcken mit HLS SAMPLE-AES Audio 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 auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
MediaCodec.CryptoInfo()

Eigenschaften

Name Beschreibung
Class

Gibt die Laufzeitklasse dieses Werts Objectzurück.

(Geerbt von Object)
Handle

Das Handle für die zugrunde liegende Android-Instanz.

(Geerbt von Object)
Iv

Ein 16-Byte-Initialisierungsvektor

JniIdentityHashCode

Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist.

(Geerbt von Object)
JniManagedPeerState

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

(Geerbt von JavaObject)
JniPeerMembers

Ruft die JNI-Metadaten ab, die für den Zugriff auf Member dieser Java Bindung verwendet werden.

Key

Eine 16-Byte-Schlüssel-ID

Mode

Der Typ der Verschlüsselung, die angewendet wurde, siehe #CRYPTO_MODE_UNENCRYPTEDund #CRYPTO_MODE_AES_CTR#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 Untersamples, aus denen der Inhalt des Puffers besteht.

PeerReference

Ruft den JNI-Objektverweis für diesen Java Peer ab.

(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

Name Beschreibung
Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

(Geerbt von JavaObject)
Dispose()

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
Dispose(Boolean)

Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden.

(Geerbt von Object)
DisposeUnlessReferenced()

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

(Geerbt von JavaObject)
Equals(Object)

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

(Geerbt von JavaObject)
Equals(Object)

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

(Geerbt von Object)
GetHashCode()

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

(Geerbt von Object)
GetPattern()

Gibt das Verschlüsselungsmuster zurück.

JavaFinalize()
Veraltet.

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise 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 Anzahl der Unterstempel, die Lösch-/verschlüsselten Größen, schlüssel, IV und die Modusfelder einer MediaCodec.CryptoInfo Instanz fest.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

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

Legen Sie das Verschlüsselungsmuster für eine MediaCodec.CryptoInfo-Instanz fest.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(Geerbt von JavaObject)
ToArray<T>()

Erstellt ein verwaltetes Array aus diesem Java Arraywrapper.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><>

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

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

(Geerbt von JavaObject)
IJavaPeerable.Finalized()

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

(Geerbt von JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

(Geerbt von JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Geerbt von JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Geerbt von JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Geerbt von JavaObject)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: