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"로 분할된 것으로 간주됩니다. 각 subSample은 암호화되지 않은 일반 바이트 실행과 암호화된 바이트 실행으로 시작합니다. 이러한 실행 중 하나가 비어 있을 수 있습니다. 패턴 암호화가 적용되는 경우 암호화된 각 실행은 "암호화" 및 "건너뛰기" 블록의 반복 패턴에 따라 부분적으로만 암호화됩니다. #numBytesOfClearData
는 모든 데이터가 암호화되었음을 나타내기 위해 null일 수 있으며 #numBytesOfEncryptedData
, 모든 데이터가 명확함을 나타내는 null일 수 있습니다. 및 #numBytesOfEncryptedData
중 #numBytesOfClearData
하나 이상은 null이 아니어야 합니다.
이 정보는 ISO/IEC FDIS 23001-7:2016 "ISO 기본 미디어 파일 형식 파일의 일반 암호화"에 설명된 대로 샘플별 메타데이터를 캡슐화합니다.
<h3>ISO-CENC Schemes</h3> ISO/IEC FDIS 23001-7:2016은 패턴화된 암호화가 존재하거나 없는 AES 모드의 가능한 각 조합에 해당하는 미디어를 암호화할 수 있는 네 가지 가능한 체계를 정의합니다.
<table style="width: 0%">thead><trth><> <</th th><>AES-CTR</th<>>AES-CBC</th<>/tr></thead<>tbody<>tr<>th>without Patterns</th><td>cenc</td td<>>cbc1</td<>/tr tr tr<>><th>with Patterns</th><td>cens</td td td<>>cbcs</td<>/tr<>/tbody></table>
의 경우 CryptoInfo
필드와 로 설정된 #setPattern
값의 #mode
조합으로 구성표가 암시적으로 선택됩니다. 패턴의 경우 패턴을 모든 0(즉, 및 blocksToSkip
모두 blocksToEncrypt
0)으로 설정하면 패턴을 완전히 해제하는 것으로 해석됩니다. 패턴을 사용하지 않는 체계(cenc 또는 cbc1)가 선택됩니다. 패턴을 0이 아닌 값으로 설정하면 패턴 지원 체계, cens 또는 cbcs 중 하나를 선택합니다. 가 호출되지 않는 경우 #setPattern
기본 패턴은 모두 0입니다.
<h4>HLS SAMPLE-AES Audio</h4> HLS SAMPLE-AES 오디오는 패턴화된 암호화를 사용하지 않는다는 점을 제외하고 cbcs 체계와 호환되는 방식으로 암호화됩니다. 그러나 가 패턴을 모든 0으로 설정하는 데 사용되는 경우 #setPattern
cbc1 스키마를 선택하는 것으로 해석됩니다. cbc1 스키마는 IO가 처리되는 방식의 차이로 인해 HLS SAMPLE-AES 오디오의 암호를 성공적으로 해독할 수 없습니다. 이러한 이유로 암호화된 블록 및 0
건너뛰기 블록 패턴을 1
HLS SAMPLE-AES 오디오와 함께 사용하는 것이 좋습니다. 그러면 모든 블록의 암호를 해독하는 동안 cbcs 모드를 사용하도록 암호 해독이 트리거됩니다.
에 대한 Java 설명서입니다 android.media.MediaCodec.CryptoInfo
.
이 페이지의 일부는 만들고 공유하며 에 설명된 용어에 따라 사용되는 작업을 기반으로 수정됩니다.
생성자
MediaCodec.CryptoInfo() |
속성
Class |
이 |
Handle |
기본 Android instance 대한 핸들입니다. (다음에서 상속됨 Object) |
Iv |
16비트 초기화 벡터 |
JniIdentityHashCode |
암호화된 입력 샘플의 구조를 설명하는 메타데이터입니다. (다음에서 상속됨 Object) |
JniPeerMembers |
암호화된 입력 샘플의 구조를 설명하는 메타데이터입니다. |
Key |
16 바이트 키 ID |
Mode |
적용된 암호화 유형은 , |
NumBytesOfClearData |
각 subSample의 암호화되지 않은 선행 바이트 수입니다. |
NumBytesOfEncryptedData |
각 subSample의 후행 암호화된 바이트 수입니다. |
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() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
Set(Int32, Int32[], Int32[], Byte[], Byte[], MediaCodecCryptoMode) |
instance 하위 샘플 수, 지우기/암호화된 크기, 키, IV 및 모드 필드를 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
SetPattern(MediaCodec+CryptoInfo+Pattern) |
암호화된 입력 샘플의 구조를 설명하는 메타데이터입니다. |
ToArray<T>() |
암호화된 입력 샘플의 구조를 설명하는 메타데이터입니다. (다음에서 상속됨 Object) |
ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
UnregisterFromRuntime() |
암호화된 입력 샘플의 구조를 설명하는 메타데이터입니다. (다음에서 상속됨 Object) |
Wait() |
현재 스레드가 각성될 때까지 대기하도록 합니다. 일반적으로 <알림을<> 받>거나<<> 중단/em>합니다. (다음에서 상속됨 Object) |
Wait(Int64) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>em>>을 받거나 <일정량의 실시간이 경과할 때까지 대기합니다. (다음에서 상속됨 Object) |
Wait(Int64, Int32) |
현재 스레드가 깨어날 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 중단</>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) |
암호화된 입력 샘플의 구조를 설명하는 메타데이터입니다. |