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 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 CryptoInfo
wird das Schema implizit durch die Kombination des Felds #mode
und des Mit #setPattern
festgelegten Werts ausgewählt. Für das Muster wird das Festlegen des Musters auf alle Nullen (d. h. sowohl als auch blocksToEncrypt
blocksToSkip
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 |
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 |
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 |
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. |