declare namespace GstPlay { class PlayColorBalanceType { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kHue": PlayColorBalanceType static readonly "kBrightness": PlayColorBalanceType static readonly "kSaturation": PlayColorBalanceType static readonly "kContrast": PlayColorBalanceType } class PlayError { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kFailed": PlayError } class PlayMessage { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kUriLoaded": PlayMessage static readonly "kPositionUpdated": PlayMessage static readonly "kDurationChanged": PlayMessage static readonly "kStateChanged": PlayMessage static readonly "kBuffering": PlayMessage static readonly "kEndOfStream": PlayMessage static readonly "kError": PlayMessage static readonly "kWarning": PlayMessage static readonly "kVideoDimensionsChanged": PlayMessage static readonly "kMediaInfoUpdated": PlayMessage static readonly "kVolumeChanged": PlayMessage static readonly "kMuteChanged": PlayMessage static readonly "kSeekDone": PlayMessage } class PlaySnapshotFormat { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kRawNative": PlaySnapshotFormat static readonly "kRawXRgb": PlaySnapshotFormat static readonly "kRawBgrx": PlaySnapshotFormat static readonly "kJpg": PlaySnapshotFormat static readonly "kPng": PlaySnapshotFormat } class PlayState { // Enumerations hack... toString(radix ? : number | undefined) : string; toFixed(fractionDigits ? : number | undefined) : string; toExponential(fractionDigits ? : number | undefined) : string; toPrecision(precision ? : number | undefined) : string; valueOf() : number; toLocaleString(locales ? : string | string[] | undefined, options ? : Intl.NumberFormatOptions | undefined) : string; static [s:number]: string; static readonly "kStopped": PlayState static readonly "kBuffering": PlayState static readonly "kPaused": PlayState static readonly "kPlaying": PlayState } class PlayVideoRenderer { } class PlayAudioInfoClass { } class PlayClass { } class PlayMediaInfoClass { } class PlaySignalAdapterClass { } class PlayStreamInfoClass { } class PlaySubtitleInfoClass { } class PlayVideoInfoClass { } class PlayVideoOverlayVideoRendererClass { } class PlayVideoRendererInterface { parentIface : GObject.TypeInterface; createVideoSink : void; } class PlayVisualization { name : string; description : string; copy(): GstPlay.PlayVisualization; free(): void; } class Play extends Gst.Object { constructor(initializerList ?: PlayCtor); audioVideoOffset : number | bigint; currentAudioTrack : GstPlay.PlayAudioInfo; currentSubtitleTrack : GstPlay.PlaySubtitleInfo; currentVideoTrack : GstPlay.PlayVideoInfo; duration : number | bigint; mediaInfo : GstPlay.PlayMediaInfo; mute : boolean; pipeline : Gst.Element; position : number | bigint; rate : number; subtitleVideoOffset : number | bigint; suburi : string; uri : string; videoMultiviewFlags : GstVideo.VideoMultiviewFlags; videoMultiviewMode : GstVideo.VideoMultiviewFramePacking; videoRenderer : GstPlay.PlayVideoRenderer; volume : number; static New(videoRenderer: GstPlay.PlayVideoRenderer | undefined | null): GstPlay.Play; static ConfigGetPositionUpdateInterval(config: Gst.Structure): number; static ConfigGetSeekAccurate(config: Gst.Structure): boolean; static ConfigGetUserAgent(config: Gst.Structure): string; static ConfigSetPositionUpdateInterval(config: Gst.Structure, interval: number): void; static ConfigSetSeekAccurate(config: Gst.Structure, accurate: boolean): void; static ConfigSetUserAgent(config: Gst.Structure, agent: string | undefined | null): void; static GetAudioStreams(info: GstPlay.PlayMediaInfo): GstPlay.PlayAudioInfo[]; static GetSubtitleStreams(info: GstPlay.PlayMediaInfo): GstPlay.PlaySubtitleInfo[]; static GetVideoStreams(info: GstPlay.PlayMediaInfo): GstPlay.PlayVideoInfo[]; static IsPlayMessage(msg: Gst.Message): boolean; static VisualizationsFree(viss: GstPlay.PlayVisualization): void; static VisualizationsGet(): GstPlay.PlayVisualization[]; getAudioVideoOffset(): number | bigint; getColorBalance(type: GstPlay.PlayColorBalanceType): number; getConfig(): Gst.Structure; getCurrentAudioTrack(): GstPlay.PlayAudioInfo; getCurrentSubtitleTrack(): GstPlay.PlaySubtitleInfo; getCurrentVideoTrack(): GstPlay.PlayVideoInfo; getCurrentVisualization(): string; getDuration(): number | bigint; getMediaInfo(): GstPlay.PlayMediaInfo; getMessageBus(): Gst.Bus; getMultiviewFlags(): GstVideo.VideoMultiviewFlags; getMultiviewMode(): GstVideo.VideoMultiviewFramePacking; getMute(): boolean; getPipeline(): Gst.Element; getPosition(): number | bigint; getRate(): number; getSubtitleUri(): string; getSubtitleVideoOffset(): number | bigint; getUri(): string; getVideoSnapshot(format: GstPlay.PlaySnapshotFormat, config: Gst.Structure | undefined | null): Gst.Sample; getVolume(): number; hasColorBalance(): boolean; pause(): void; play(): void; seek(position: number | bigint): void; setAudioTrack(streamIndex: number): boolean; setAudioTrackEnabled(enabled: boolean): void; setAudioVideoOffset(offset: number | bigint): void; setColorBalance(type: GstPlay.PlayColorBalanceType, value: number): void; setConfig(config: Gst.Structure): boolean; setMultiviewFlags(flags: GstVideo.VideoMultiviewFlags): void; setMultiviewMode(mode: GstVideo.VideoMultiviewFramePacking): void; setMute(val: boolean): void; setRate(rate: number): void; setSubtitleTrack(streamIndex: number): boolean; setSubtitleTrackEnabled(enabled: boolean): void; setSubtitleUri(uri: string | undefined | null): void; setSubtitleVideoOffset(offset: number | bigint): void; setUri(uri: string | undefined | null): void; setVideoTrack(streamIndex: number): boolean; setVideoTrackEnabled(enabled: boolean): void; setVisualization(name: string | undefined | null): boolean; setVisualizationEnabled(enabled: boolean): void; setVolume(val: number): void; stop(): void; //TypeScript is complete garbage: } class PlayCtor { name ?: string; parent ?: Gst.Object; videoRenderer ?: GstPlay.PlayVideoRenderer; uri ?: string; suburi ?: string; position ?: number; duration ?: number; mediaInfo ?: GstPlay.PlayMediaInfo; currentAudioTrack ?: GstPlay.PlayAudioInfo; currentVideoTrack ?: GstPlay.PlayVideoInfo; currentSubtitleTrack ?: GstPlay.PlaySubtitleInfo; volume ?: number; mute ?: boolean; rate ?: number; pipeline ?: Gst.Element; videoMultiviewMode ?: GstVideo.VideoMultiviewFramePacking; videoMultiviewFlags ?: GstVideo.VideoMultiviewFlags; audioVideoOffset ?: number | bigint; subtitleVideoOffset ?: number | bigint; } class PlayAudioInfo extends GstPlay.PlayStreamInfo { constructor(initializerList ?: PlayAudioInfoCtor); getBitrate(): number; getChannels(): number; getLanguage(): string; getMaxBitrate(): number; getSampleRate(): number; //TypeScript is complete garbage: } class PlayAudioInfoCtor { } class PlayMediaInfo extends GObject.Object { constructor(initializerList ?: PlayMediaInfoCtor); getAudioStreams(): GstPlay.PlayAudioInfo[]; getContainerFormat(): string; getDuration(): number | bigint; getImageSample(): Gst.Sample; getNumberOfAudioStreams(): number; getNumberOfStreams(): number; getNumberOfSubtitleStreams(): number; getNumberOfVideoStreams(): number; getStreamList(): GstPlay.PlayStreamInfo[]; getSubtitleStreams(): GstPlay.PlaySubtitleInfo[]; getTags(): Gst.TagList; getTitle(): string; getUri(): string; getVideoStreams(): GstPlay.PlayVideoInfo[]; isLive(): boolean; isSeekable(): boolean; //TypeScript is complete garbage: } class PlayMediaInfoCtor { } class PlaySignalAdapter extends GObject.Object { constructor(initializerList ?: PlaySignalAdapterCtor); play : GstPlay.Play; static New(play: GstPlay.Play): GstPlay.PlaySignalAdapter; static NewSyncEmit(play: GstPlay.Play): GstPlay.PlaySignalAdapter; static NewWithMainContext(play: GstPlay.Play, context: AuGlibEx.MainContext): GstPlay.PlaySignalAdapter; getPlay(): GstPlay.Play; //TypeScript is complete garbage: } class PlaySignalAdapterCtor { play ?: GstPlay.Play; } class PlaySignalAdapterEventListener extends AuGlibEx.IEventListener { buffering(object: number): void; durationChanged(object: number | bigint): void; endOfStream(): void; error(object: AuGlibEx.Error, p0: Gst.Structure): void; mediaInfoUpdated(object: GstPlay.PlayMediaInfo): void; muteChanged(object: boolean): void; positionUpdated(object: number | bigint): void; seekDone(object: number | bigint): void; stateChanged(object: GstPlay.PlayState): void; uriLoaded(object: string): void; videoDimensionsChanged(object: number, p0: number): void; volumeChanged(object: number): void; warning(object: AuGlibEx.Error, p0: Gst.Structure): void; } class PlayStreamInfo extends GObject.Object { constructor(initializerList ?: PlayStreamInfoCtor); getCaps(): Gst.Caps; getCodec(): string; getIndex(): number; getStreamType(): string; getTags(): Gst.TagList; //TypeScript is complete garbage: } class PlayStreamInfoCtor { } class PlaySubtitleInfo extends GstPlay.PlayStreamInfo { constructor(initializerList ?: PlaySubtitleInfoCtor); getLanguage(): string; //TypeScript is complete garbage: } class PlaySubtitleInfoCtor { } class PlayVideoInfo extends GstPlay.PlayStreamInfo { constructor(initializerList ?: PlayVideoInfoCtor); getBitrate(): number; getFramerate(fpsN: number, fpsD: number): void; getHeight(): number; getMaxBitrate(): number; getPixelAspectRatio(parN: number, parD: number): void; getWidth(): number; //TypeScript is complete garbage: } class PlayVideoInfoCtor { } class PlayVideoOverlayVideoRenderer extends GObject.Object implements GstPlay.PlayVideoRenderer { constructor(initializerList ?: PlayVideoOverlayVideoRendererCtor); videoSink : Gst.Element; windowHandle : void; static New(): GstPlay.PlayVideoRenderer; static NewWithSink(videoSink: Gst.Element): GstPlay.PlayVideoRenderer; expose(): void; getRenderRectangle(x ?: number, y ?: number, width ?: number, height ?: number): void; getWindowHandle(): void; setRenderRectangle(x: number, y: number, width: number, height: number): void; setWindowHandle(): void; //TypeScript is complete garbage: } class PlayVideoOverlayVideoRendererCtor { windowHandle ?: number | bigint; videoSink ?: Gst.Element; } }