@phenixrts/sdk
Version:
JavaScript SDK
23 lines (22 loc) • 1.09 kB
TypeScript
import ReadOnlySubject from '../../rx/ReadOnlySubject';
import IProtectionStrategy, { ProtectionConfiguration } from './IProtectionStrategy';
export type WidevineProtectionSessionConfiguration = ProtectionConfiguration & {
widevine?: {
licenseUrl: string;
};
};
export default class WidevineProtectionStrategy implements IProtectionStrategy<WidevineProtectionSessionConfiguration> {
private static readonly _widevineKeySystemIdentifier;
private static readonly _widevineMediaKeySystemConfigurations;
private readonly _logger;
private readonly _disposables;
private readonly _keySession;
private readonly _readOnlyKeySession;
static isSupported(): Promise<boolean>;
get protectionSystemName(): string;
get keySession(): ReadOnlySubject<MediaKeySession | null>;
initializeMediaKeys(): Promise<MediaKeys>;
createSession(mediaKeys: MediaKeys, configuration: WidevineProtectionSessionConfiguration): void;
handleMediaElementEncryptedEvent({ initDataType, initData }: MediaEncryptedEvent): Promise<void>;
dispose(): void;
}