MediaCodec.CryptoInfo Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 |
| 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 |
| 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 |
| 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 |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| 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 |