@nodert-win10-au/windows.media.streaming.adaptive
Version:
Use the Windows.Media.Streaming.Adaptive UWP API directly from Node.js
165 lines (124 loc) • 5.64 kB
TypeScript
declare module "windows.media.streaming.adaptive" {
export enum AdaptiveMediaSourceCreationStatus {
success,
manifestDownloadFailure,
manifestParseFailure,
unsupportedManifestContentType,
unsupportedManifestVersion,
unsupportedManifestProfile,
unknownFailure,
}
export enum AdaptiveMediaSourceResourceType {
manifest,
initializationSegment,
mediaSegment,
key,
initializationVector,
}
export class AdaptiveMediaSource {
initialBitrate: Number;
inboundBitsPerSecondWindow: Number;
desiredLiveOffset: Number;
desiredMaxBitrate: Number;
desiredMinBitrate: Number;
currentPlaybackBitrate: Number;
audioOnlyPlayback: Boolean;
inboundBitsPerSecond: Number;
availableBitrates: Object;
currentDownloadBitrate: Number;
isLive: Boolean;
advancedSettings: AdaptiveMediaSourceAdvancedSettings;
constructor();
static createFromUriAsync(uri: Object, callback: (error: Error, result: AdaptiveMediaSourceCreationResult) => void): void ;
static createFromUriAsync(uri: Object, httpClient: Object, callback: (error: Error, result: AdaptiveMediaSourceCreationResult) => void): void ;
static createFromStreamAsync(stream: Object, uri: Object, contentType: String, callback: (error: Error, result: AdaptiveMediaSourceCreationResult) => void): void ;
static createFromStreamAsync(stream: Object, uri: Object, contentType: String, httpClient: Object, callback: (error: Error, result: AdaptiveMediaSourceCreationResult) => void): void ;
static isContentTypeSupported(contentType: String): Boolean;
addListener(type: "DownloadBitrateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "DownloadBitrateChanged", listener: (ev: Event) => void): void ;
on(type: "DownloadBitrateChanged", listener: (ev: Event) => void): void ;
off(type: "DownloadBitrateChanged", listener: (ev: Event) => void): void ;
addListener(type: "DownloadCompleted", listener: (ev: Event) => void): void ;
removeListener(type: "DownloadCompleted", listener: (ev: Event) => void): void ;
on(type: "DownloadCompleted", listener: (ev: Event) => void): void ;
off(type: "DownloadCompleted", listener: (ev: Event) => void): void ;
addListener(type: "DownloadFailed", listener: (ev: Event) => void): void ;
removeListener(type: "DownloadFailed", listener: (ev: Event) => void): void ;
on(type: "DownloadFailed", listener: (ev: Event) => void): void ;
off(type: "DownloadFailed", listener: (ev: Event) => void): void ;
addListener(type: "DownloadRequested", listener: (ev: Event) => void): void ;
removeListener(type: "DownloadRequested", listener: (ev: Event) => void): void ;
on(type: "DownloadRequested", listener: (ev: Event) => void): void ;
off(type: "DownloadRequested", listener: (ev: Event) => void): void ;
addListener(type: "PlaybackBitrateChanged", listener: (ev: Event) => void): void ;
removeListener(type: "PlaybackBitrateChanged", listener: (ev: Event) => void): void ;
on(type: "PlaybackBitrateChanged", listener: (ev: Event) => void): void ;
off(type: "PlaybackBitrateChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class AdaptiveMediaSourceCreationResult {
httpResponseMessage: Object;
mediaSource: AdaptiveMediaSource;
status: AdaptiveMediaSourceCreationStatus;
constructor();
}
export class AdaptiveMediaSourceDownloadBitrateChangedEventArgs {
newValue: Number;
oldValue: Number;
constructor();
}
export class AdaptiveMediaSourcePlaybackBitrateChangedEventArgs {
audioOnly: Boolean;
newValue: Number;
oldValue: Number;
constructor();
}
export class AdaptiveMediaSourceDownloadRequestedEventArgs {
resourceByteRangeLength: Number;
resourceByteRangeOffset: Number;
resourceType: AdaptiveMediaSourceResourceType;
resourceUri: Object;
result: AdaptiveMediaSourceDownloadResult;
constructor();
getDeferral(): AdaptiveMediaSourceDownloadRequestedDeferral;
}
export class AdaptiveMediaSourceDownloadCompletedEventArgs {
httpResponseMessage: Object;
resourceByteRangeLength: Number;
resourceByteRangeOffset: Number;
resourceType: AdaptiveMediaSourceResourceType;
resourceUri: Object;
constructor();
}
export class AdaptiveMediaSourceDownloadFailedEventArgs {
httpResponseMessage: Object;
resourceByteRangeLength: Number;
resourceByteRangeOffset: Number;
resourceType: AdaptiveMediaSourceResourceType;
resourceUri: Object;
constructor();
}
export class AdaptiveMediaSourceAdvancedSettings {
desiredBitrateHeadroomRatio: Number;
bitrateDowngradeTriggerRatio: Number;
allSegmentsIndependent: Boolean;
constructor();
}
export class AdaptiveMediaSourceDownloadResult {
resourceUri: Object;
inputStream: Object;
extendedStatus: Number;
contentType: String;
buffer: Object;
resourceByteRangeOffset: Number;
resourceByteRangeLength: Number;
constructor();
}
export class AdaptiveMediaSourceDownloadRequestedDeferral {
constructor();
complete(): void;
}
}