@phenixrts/sdk
Version:
JavaScript SDK
14 lines (13 loc) • 682 B
TypeScript
import IDisposable from '../../lang/IDisposable';
import ReadOnlySubject from '../../rx/ReadOnlySubject';
export type ProtectionConfiguration = {
streamId: string;
};
interface IProtectionStrategy<ProtectionSessionConfiguration extends ProtectionConfiguration = ProtectionConfiguration> extends IDisposable {
readonly protectionSystemName: string;
readonly keySession: ReadOnlySubject<MediaKeySession | null>;
initializeMediaKeys(): Promise<MediaKeys>;
createSession(mediaKeys: MediaKeys, configuration: ProtectionSessionConfiguration): void;
handleMediaElementEncryptedEvent(event: MediaEncryptedEvent): Promise<void>;
}
export default IProtectionStrategy;