mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-12 10:39:57 +00:00
Reorganize shim files
This commit is contained in:
@@ -9,7 +9,7 @@ import { ReceiverSelectorMediaType } from "./background/receiverSelector";
|
|||||||
import { ReceiverSelection, ReceiverSelectionCast, ReceiverSelectionStop }
|
import { ReceiverSelection, ReceiverSelectionCast, ReceiverSelectionStop }
|
||||||
from "./background/receiverSelector/ReceiverSelector";
|
from "./background/receiverSelector/ReceiverSelector";
|
||||||
|
|
||||||
import Volume from "./shim/cast/classes/Volume";
|
import { Volume } from "./shim/cast/dataClasses";
|
||||||
import { MediaInfo } from "./shim/cast/media";
|
import { MediaInfo } from "./shim/cast/media";
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -270,9 +270,10 @@ async function registerMediaElementListeners() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
mediaElement.addEventListener("ratechange", () => {
|
mediaElement.addEventListener("ratechange", () => {
|
||||||
|
// TODO: Fix types
|
||||||
currentMedia._sendMediaMessage("SET_PLAYBACK_RATE", {
|
currentMedia._sendMediaMessage("SET_PLAYBACK_RATE", {
|
||||||
playbackRate: mediaElement.playbackRate
|
playbackRate: mediaElement.playbackRate
|
||||||
});
|
} as any);
|
||||||
});
|
});
|
||||||
|
|
||||||
mediaElement.addEventListener("volumechange", () => {
|
mediaElement.addEventListener("volumechange", () => {
|
||||||
|
|||||||
32
ext/src/shim/cast/classes/Session.ts → ext/src/shim/cast/Session.ts
Executable file → Normal file
32
ext/src/shim/cast/classes/Session.ts → ext/src/shim/cast/Session.ts
Executable file → Normal file
@@ -2,26 +2,11 @@
|
|||||||
|
|
||||||
import { v4 as uuid } from "uuid";
|
import { v4 as uuid } from "uuid";
|
||||||
|
|
||||||
import logger from "../../../lib/logger";
|
import logger from "../../lib/logger";
|
||||||
|
|
||||||
import _Error from "./Error";
|
|
||||||
import Image from "./Image";
|
|
||||||
import Receiver from "./Receiver";
|
|
||||||
import SenderApplication from "./SenderApplication";
|
|
||||||
import Volume from "./Volume";
|
|
||||||
|
|
||||||
import LoadRequest from "../media/classes/LoadRequest";
|
|
||||||
import Media from "../media/classes/Media";
|
|
||||||
import QueueLoadRequest from "../media/classes/QueueLoadRequest";
|
|
||||||
|
|
||||||
import { ErrorCode
|
|
||||||
, SessionStatus } from "../enums";
|
|
||||||
|
|
||||||
import { RepeatMode } from "../media/enums";
|
|
||||||
|
|
||||||
import { ListenerObject
|
import { ListenerObject
|
||||||
, onMessage
|
, onMessage
|
||||||
, sendMessageResponse } from "../../eventMessageChannel";
|
, sendMessageResponse } from "../eventMessageChannel";
|
||||||
|
|
||||||
import { Callbacks
|
import { Callbacks
|
||||||
, ErrorCallback
|
, ErrorCallback
|
||||||
@@ -29,7 +14,18 @@ import { Callbacks
|
|||||||
, MediaListener
|
, MediaListener
|
||||||
, MessageListener
|
, MessageListener
|
||||||
, SuccessCallback
|
, SuccessCallback
|
||||||
, UpdateListener } from "../../types";
|
, UpdateListener } from "../types";
|
||||||
|
|
||||||
|
import { Error as _Error
|
||||||
|
, Image, Receiver
|
||||||
|
, SenderApplication, Volume } from "./dataClasses";
|
||||||
|
import { ErrorCode, SessionStatus } from "./enums";
|
||||||
|
|
||||||
|
import { Media
|
||||||
|
, LoadRequest
|
||||||
|
, QueueLoadRequest
|
||||||
|
// Enums
|
||||||
|
, RepeatMode } from "./media";
|
||||||
|
|
||||||
|
|
||||||
type SessionSuccessCallback = (session: Session) => void;
|
type SessionSuccessCallback = (session: Session) => void;
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Session from "./Session";
|
|
||||||
import SessionRequest from "./SessionRequest";
|
|
||||||
|
|
||||||
import { AutoJoinPolicy
|
|
||||||
, DefaultActionPolicy } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class ApiConfig {
|
|
||||||
constructor(
|
|
||||||
public sessionRequest: SessionRequest
|
|
||||||
, public sessionListener: (session: Session) => void
|
|
||||||
, public receiverListener: (availability: string) => void
|
|
||||||
|
|
||||||
, public autoJoinPolicy: string
|
|
||||||
= AutoJoinPolicy.TAB_AND_ORIGIN_SCOPED
|
|
||||||
, public defaultActionPolicy: string
|
|
||||||
= DefaultActionPolicy.CREATE_SESSION) {}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.CredentialsData
|
|
||||||
export default class DialRequest {
|
|
||||||
constructor(
|
|
||||||
public credentials: string
|
|
||||||
, public credentialsData: string) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.DialRequest
|
|
||||||
export default class DialRequest {
|
|
||||||
constructor(
|
|
||||||
public appName: string
|
|
||||||
, public launchParameter: (string | null) = null) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Error
|
|
||||||
export default class Error {
|
|
||||||
constructor(
|
|
||||||
public code: string
|
|
||||||
, public description: (string | null) = null
|
|
||||||
, public details: any = null) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Image
|
|
||||||
export default class Image {
|
|
||||||
public width: (number | null) = null;
|
|
||||||
public height: (number | null) = null;
|
|
||||||
|
|
||||||
constructor(public url: string) {}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import ReceiverDisplayStatus from "./ReceiverDisplayStatus";
|
|
||||||
import Volume from "./Volume";
|
|
||||||
|
|
||||||
import { Capability, ReceiverType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Receiver
|
|
||||||
export default class Receiver {
|
|
||||||
public displayStatus: (ReceiverDisplayStatus | null) = null;
|
|
||||||
public isActiveInput: (boolean | null) = null;
|
|
||||||
public receiverType: string = ReceiverType.CAST;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public label: string
|
|
||||||
, public friendlyName: string
|
|
||||||
, public capabilities: Capability[] = []
|
|
||||||
, public volume: (Volume | null) = null) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "./Image";
|
|
||||||
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverDisplayStatus
|
|
||||||
export default class ReceiverDisplayStatus {
|
|
||||||
public showStop: (boolean | null) = null;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public statusText: string
|
|
||||||
, public appImages: Image[]) {}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SenderApplication
|
|
||||||
export default class SenderApplication {
|
|
||||||
public packageId: (string | null) = null;
|
|
||||||
public url: (string | null) = null;
|
|
||||||
|
|
||||||
constructor(public platform: string) {}
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import CredentialsData from "./CredentialsData";
|
|
||||||
import Timeout from "./Timeout";
|
|
||||||
|
|
||||||
import { Capability } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SessionRequest
|
|
||||||
export default class SessionRequest {
|
|
||||||
public language: (string | null) = null;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public appId: string
|
|
||||||
, public capabilities = [ Capability.VIDEO_OUT
|
|
||||||
, Capability.AUDIO_OUT ]
|
|
||||||
, public requestSessionTimeout = (new Timeout()).requestSession
|
|
||||||
, public androidReceiverCompatible = false
|
|
||||||
, public credentialsData: (CredentialsData | null) = null) {}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Timeout
|
|
||||||
export default class Timeout {
|
|
||||||
public leaveSession = 3000;
|
|
||||||
public requestSession = 60000;
|
|
||||||
public sendCustomMessage = 3000;
|
|
||||||
public setReceiverVolume = 3000;
|
|
||||||
public stopSession = 3000;
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import { VolumeControlType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
// https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Volume
|
|
||||||
export default class Volume {
|
|
||||||
public controlType?: VolumeControlType;
|
|
||||||
public stepInterval?: number;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public level: (number | null) = null
|
|
||||||
, public muted: (boolean | null) = null) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
114
ext/src/shim/cast/dataClasses.ts
Normal file
114
ext/src/shim/cast/dataClasses.ts
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
import Session from "./Session";
|
||||||
|
|
||||||
|
import { AutoJoinPolicy
|
||||||
|
, Capability
|
||||||
|
, DefaultActionPolicy
|
||||||
|
, ReceiverType
|
||||||
|
, VolumeControlType } from "./enums";
|
||||||
|
|
||||||
|
|
||||||
|
export class ApiConfig {
|
||||||
|
constructor(
|
||||||
|
public sessionRequest: SessionRequest
|
||||||
|
, public sessionListener: (session: Session) => void
|
||||||
|
, public receiverListener: (availability: string) => void
|
||||||
|
|
||||||
|
, public autoJoinPolicy: string
|
||||||
|
= AutoJoinPolicy.TAB_AND_ORIGIN_SCOPED
|
||||||
|
, public defaultActionPolicy: string
|
||||||
|
= DefaultActionPolicy.CREATE_SESSION) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class CredentialsData {
|
||||||
|
constructor(
|
||||||
|
public credentials: string
|
||||||
|
, public credentialsData: string) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class DialRequest {
|
||||||
|
constructor(
|
||||||
|
public appName: string
|
||||||
|
, public launchParameter: (string | null) = null) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Error {
|
||||||
|
constructor(
|
||||||
|
public code: string
|
||||||
|
, public description: (string | null) = null
|
||||||
|
, public details: any = null) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Image {
|
||||||
|
public width: (number | null) = null;
|
||||||
|
public height: (number | null) = null;
|
||||||
|
|
||||||
|
constructor(public url: string) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Receiver {
|
||||||
|
public displayStatus: (ReceiverDisplayStatus | null) = null;
|
||||||
|
public isActiveInput: (boolean | null) = null;
|
||||||
|
public receiverType: string = ReceiverType.CAST;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public label: string
|
||||||
|
, public friendlyName: string
|
||||||
|
, public capabilities: Capability[] = []
|
||||||
|
, public volume: (Volume | null) = null) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class ReceiverDisplayStatus {
|
||||||
|
public showStop: (boolean | null) = null;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public statusText: string
|
||||||
|
, public appImages: Image[]) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class SenderApplication {
|
||||||
|
public packageId: (string | null) = null;
|
||||||
|
public url: (string | null) = null;
|
||||||
|
|
||||||
|
constructor(public platform: string) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class SessionRequest {
|
||||||
|
public language: (string | null) = null;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public appId: string
|
||||||
|
, public capabilities = [ Capability.VIDEO_OUT
|
||||||
|
, Capability.AUDIO_OUT ]
|
||||||
|
, public requestSessionTimeout = (new Timeout()).requestSession
|
||||||
|
, public androidReceiverCompatible = false
|
||||||
|
, public credentialsData: (CredentialsData | null) = null) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Timeout {
|
||||||
|
public leaveSession = 3000;
|
||||||
|
public requestSession = 60000;
|
||||||
|
public sendCustomMessage = 3000;
|
||||||
|
public setReceiverVolume = 3000;
|
||||||
|
public stopSession = 3000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Volume {
|
||||||
|
public controlType?: VolumeControlType;
|
||||||
|
public stepInterval?: number;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public level: (number | null) = null
|
||||||
|
, public muted: (boolean | null) = null) {}
|
||||||
|
}
|
||||||
@@ -2,18 +2,22 @@
|
|||||||
|
|
||||||
import logger from "../../lib/logger";
|
import logger from "../../lib/logger";
|
||||||
|
|
||||||
import ApiConfig from "./classes/ApiConfig";
|
import { Receiver } from "../../types";
|
||||||
import CredentialsData from "./classes/CredentialsData";
|
import { onMessage, sendMessageResponse } from "../eventMessageChannel";
|
||||||
import DialRequest from "./classes/DialRequest";
|
|
||||||
import Error_ from "./classes/Error";
|
import Session from "./Session";
|
||||||
import Image_ from "./classes/Image";
|
|
||||||
import Receiver_ from "./classes/Receiver";
|
import { ApiConfig
|
||||||
import ReceiverDisplayStatus from "./classes/ReceiverDisplayStatus";
|
, CredentialsData
|
||||||
import SenderApplication from "./classes/SenderApplication";
|
, DialRequest
|
||||||
import Session from "./classes/Session";
|
, Error as Error_
|
||||||
import SessionRequest from "./classes/SessionRequest";
|
, Image as Image_
|
||||||
import Timeout from "./classes/Timeout";
|
, Receiver as Receiver_
|
||||||
import Volume from "./classes/Volume";
|
, ReceiverDisplayStatus
|
||||||
|
, SenderApplication
|
||||||
|
, SessionRequest
|
||||||
|
, Timeout
|
||||||
|
, Volume } from "./dataClasses";
|
||||||
|
|
||||||
import { AutoJoinPolicy
|
import { AutoJoinPolicy
|
||||||
, Capability
|
, Capability
|
||||||
@@ -27,10 +31,27 @@ import { AutoJoinPolicy
|
|||||||
, SessionStatus
|
, SessionStatus
|
||||||
, VolumeControlType } from "./enums";
|
, VolumeControlType } from "./enums";
|
||||||
|
|
||||||
import * as media from "./media";
|
|
||||||
|
|
||||||
import { Receiver } from "../../types";
|
export * as media from "./media";
|
||||||
import { onMessage, sendMessageResponse } from "../eventMessageChannel";
|
|
||||||
|
export {
|
||||||
|
// Enums
|
||||||
|
AutoJoinPolicy, Capability, DefaultActionPolicy, DialAppState, ErrorCode
|
||||||
|
, ReceiverAction, ReceiverAvailability, ReceiverType, SenderPlatform
|
||||||
|
, SessionStatus, VolumeControlType
|
||||||
|
|
||||||
|
// Classes
|
||||||
|
, ApiConfig, CredentialsData, DialRequest, ReceiverDisplayStatus
|
||||||
|
, SenderApplication, Session, SessionRequest, Timeout, Volume
|
||||||
|
|
||||||
|
, Error_ as Error
|
||||||
|
, Image_ as Image
|
||||||
|
, Receiver_ as Receiver
|
||||||
|
};
|
||||||
|
|
||||||
|
export let isAvailable = false;
|
||||||
|
export const timeout = new Timeout();
|
||||||
|
export const VERSION = [ 1, 2 ];
|
||||||
|
|
||||||
|
|
||||||
type ReceiverActionListener = (
|
type ReceiverActionListener = (
|
||||||
@@ -55,27 +76,6 @@ let sessionSuccessCallback: RequestSessionSuccessCallback;
|
|||||||
let sessionErrorCallback: ErrorCallback;
|
let sessionErrorCallback: ErrorCallback;
|
||||||
|
|
||||||
|
|
||||||
export {
|
|
||||||
// Enums
|
|
||||||
AutoJoinPolicy, Capability, DefaultActionPolicy, DialAppState, ErrorCode
|
|
||||||
, ReceiverAction, ReceiverAvailability, ReceiverType, SenderPlatform
|
|
||||||
, SessionStatus, VolumeControlType
|
|
||||||
|
|
||||||
// Classes
|
|
||||||
, ApiConfig, CredentialsData, DialRequest, ReceiverDisplayStatus
|
|
||||||
, SenderApplication, Session, SessionRequest, Timeout, Volume
|
|
||||||
|
|
||||||
, Error_ as Error
|
|
||||||
, Image_ as Image
|
|
||||||
, Receiver_ as Receiver
|
|
||||||
|
|
||||||
, media
|
|
||||||
};
|
|
||||||
|
|
||||||
export let isAvailable = false;
|
|
||||||
export const timeout = new Timeout();
|
|
||||||
export const VERSION = [ 1, 2 ];
|
|
||||||
|
|
||||||
export function addReceiverActionListener(
|
export function addReceiverActionListener(
|
||||||
listener: ReceiverActionListener): void {
|
listener: ReceiverActionListener): void {
|
||||||
|
|
||||||
|
|||||||
@@ -1,43 +1,42 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import logger from "../../../../lib/logger";
|
import logger from "../../../lib/logger";
|
||||||
|
|
||||||
import { v1 as uuid } from "uuid";
|
import { v1 as uuid } from "uuid";
|
||||||
|
|
||||||
import BreakStatus from "./BreakStatus";
|
import { BreakStatus
|
||||||
import EditTracksInfoRequest from "./EditTracksInfoRequest";
|
, EditTracksInfoRequest
|
||||||
import GetStatusRequest from "./GetStatusRequest";
|
, GetStatusRequest
|
||||||
import LiveSeekableRange from "./LiveSeekableRange";
|
, LiveSeekableRange
|
||||||
import MediaInfo from "./MediaInfo";
|
, MediaInfo
|
||||||
import PauseRequest from "./PauseRequest";
|
, PauseRequest
|
||||||
import PlayRequest from "./PlayRequest";
|
, PlayRequest
|
||||||
import QueueData from "./QueueData";
|
, QueueData
|
||||||
import QueueJumpRequest from "./QueueJumpRequest";
|
, QueueJumpRequest
|
||||||
import QueueInsertItemsRequest from "./QueueInsertItemsRequest";
|
, QueueInsertItemsRequest
|
||||||
import QueueItem from "./QueueItem";
|
, QueueItem
|
||||||
import QueueSetPropertiesRequest from "./QueueSetPropertiesRequest";
|
, QueueSetPropertiesRequest
|
||||||
import QueueRemoveItemsRequest from "./QueueRemoveItemsRequest";
|
, QueueRemoveItemsRequest
|
||||||
import QueueReorderItemsRequest from "./QueueReorderItemsRequest";
|
, QueueReorderItemsRequest
|
||||||
import QueueUpdateItemsRequest from "./QueueUpdateItemsRequest";
|
, QueueUpdateItemsRequest
|
||||||
import SeekRequest from "./SeekRequest";
|
, SeekRequest
|
||||||
import StopRequest from "./StopRequest";
|
, StopRequest
|
||||||
import VideoInformation from "./VideoInformation";
|
, VideoInformation
|
||||||
import VolumeRequest from "./VolumeRequest";
|
, VolumeRequest } from "./dataClasses";
|
||||||
|
|
||||||
import Volume from "../../classes/Volume";
|
import { Volume, Error as _Error } from "../dataClasses";
|
||||||
|
|
||||||
import { PlayerState
|
import { PlayerState
|
||||||
, RepeatMode } from "../enums";
|
, RepeatMode } from "./enums";
|
||||||
|
|
||||||
import _Error from "../../classes/Error";
|
import { ErrorCode } from "../enums";
|
||||||
import { ErrorCode } from "../../enums";
|
|
||||||
|
|
||||||
import { onMessage, sendMessageResponse } from "../../../eventMessageChannel";
|
import { onMessage, sendMessageResponse } from "../../eventMessageChannel";
|
||||||
|
|
||||||
import { Callbacks
|
import { Callbacks
|
||||||
, ErrorCallback
|
, ErrorCallback
|
||||||
, SuccessCallback
|
, SuccessCallback
|
||||||
, UpdateListener } from "../../../types";
|
, UpdateListener } from "../../types";
|
||||||
|
|
||||||
|
|
||||||
type MediaRequest =
|
type MediaRequest =
|
||||||
@@ -54,13 +53,12 @@ type MediaRequest =
|
|||||||
| StopRequest
|
| StopRequest
|
||||||
| VolumeRequest;
|
| VolumeRequest;
|
||||||
|
|
||||||
|
|
||||||
enum MediaMessageType {
|
enum MediaMessageType {
|
||||||
Play = "PLAY"
|
Play = "PLAY"
|
||||||
, Load = "LOAD"
|
, Load = "LOAD"
|
||||||
, Pause = "PAUSE"
|
, Pause = "PAUSE"
|
||||||
, Seek = "SEEK"
|
, Seek = "SEEK"
|
||||||
, StopMedia = "STOP_MEDIA"
|
, Stop = "STOP"
|
||||||
, MediaSetVolume = "MEDIA_SET_VOLUME"
|
, MediaSetVolume = "MEDIA_SET_VOLUME"
|
||||||
, MediaGetStatus = "MEDIA_GET_STATUS"
|
, MediaGetStatus = "MEDIA_GET_STATUS"
|
||||||
, EditTracksInfo = "EDIT_TRACKS_INFO"
|
, EditTracksInfo = "EDIT_TRACKS_INFO"
|
||||||
@@ -444,12 +442,16 @@ export default class Media {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public stop(
|
public stop(
|
||||||
stopRequest: StopRequest
|
stopRequest?: StopRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback): void {
|
||||||
|
|
||||||
|
if (!stopRequest) {
|
||||||
|
stopRequest = new StopRequest();
|
||||||
|
}
|
||||||
|
|
||||||
this._sendMediaMessage(
|
this._sendMediaMessage(
|
||||||
MediaMessageType.StopMedia
|
MediaMessageType.Stop
|
||||||
, stopRequest
|
, stopRequest
|
||||||
, () => {
|
, () => {
|
||||||
this.#isActive = false;
|
this.#isActive = false;
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class AudiobookChapterMediaMetadata {
|
|
||||||
public bookTitle?: string;
|
|
||||||
public chapterNumber?: number;
|
|
||||||
public chapterTitle?: string;
|
|
||||||
public images?: Image[];
|
|
||||||
public subtitle?: string;
|
|
||||||
public title?: string;
|
|
||||||
public type = MetadataType.AUDIOBOOK_CHAPTER;
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class AudiobookContainerMetadata {
|
|
||||||
public authors?: string[];
|
|
||||||
public narrators?: string[];
|
|
||||||
public publisher?: string;
|
|
||||||
public releaseDate?: string;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class Break {
|
|
||||||
public duration?: number;
|
|
||||||
public isEmbedded?: boolean;
|
|
||||||
public isWatched = false;
|
|
||||||
|
|
||||||
constructor(public id: string
|
|
||||||
, public breakClipIds: string[]
|
|
||||||
, public position: number) {}
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import VastAdsRequest from "./VastAdsRequest";
|
|
||||||
|
|
||||||
import { HlsSegmentFormat } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class BreakClip {
|
|
||||||
public clickThroughUrl?: string;
|
|
||||||
public contentId?: string;
|
|
||||||
public contentType?: string;
|
|
||||||
public contentUrl?: string;
|
|
||||||
public customData?: {};
|
|
||||||
public duration?: number;
|
|
||||||
public hlsSegmentFormat?: HlsSegmentFormat;
|
|
||||||
public posterUrl?: string;
|
|
||||||
public title?: string;
|
|
||||||
public vastAdsRequest?: VastAdsRequest;
|
|
||||||
public whenSkippable?: number;
|
|
||||||
|
|
||||||
constructor(public id: string) {}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class BreakStatus {
|
|
||||||
public breakClipId?: string;
|
|
||||||
public breakId?: string;
|
|
||||||
public currentBreakClipTime?: number;
|
|
||||||
public currentBreakTime?: number;
|
|
||||||
public whenSkippable?: number;
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
import MediaMetadata from "../classes/MediaMetadata";
|
|
||||||
|
|
||||||
import { ContainerType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class ContainerMetadata {
|
|
||||||
public containerDuration?: number;
|
|
||||||
public containerImages?: Image[];
|
|
||||||
public sections?: MediaMetadata[];
|
|
||||||
public title?: string;
|
|
||||||
|
|
||||||
constructor(public containerType: ContainerType
|
|
||||||
= ContainerType.GENERIC_CONTAINER) {}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class EditTracksInfoRequest {
|
|
||||||
public requestId = 0;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public activeTrackIds: (number[] | null) = null
|
|
||||||
, public textTrackStyle: (string | null) = null) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class GenericMediaMetadata {
|
|
||||||
public images: (Image[] | undefined) = undefined;
|
|
||||||
public metadataType: number = MetadataType.GENERIC;
|
|
||||||
public releaseDate: (string | undefined) = undefined;
|
|
||||||
public releaseYear: (number | undefined) = undefined;
|
|
||||||
public subtitle: (string | undefined) = undefined;
|
|
||||||
public title: (string | undefined) = undefined;
|
|
||||||
public type: number = MetadataType.GENERIC;
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class GetStatusRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class LiveSeekableRange {
|
|
||||||
constructor(
|
|
||||||
public start?: number
|
|
||||||
, public end?: number
|
|
||||||
, public isMovingWindow?: boolean
|
|
||||||
, public isLiveDone?: boolean) {}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import MediaInfo from "./MediaInfo";
|
|
||||||
|
|
||||||
|
|
||||||
export default class LoadRequest {
|
|
||||||
public activeTrackIds: (number[] | null) = null;
|
|
||||||
public atvCredentials?: string;
|
|
||||||
public atvCredentialsType?: string;
|
|
||||||
public autoplay: (boolean | null) = true;
|
|
||||||
public currentTime: (number | null) = null;
|
|
||||||
public customData: any = null;
|
|
||||||
public media: MediaInfo;
|
|
||||||
public requestId = 0;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public type = "LOAD";
|
|
||||||
|
|
||||||
constructor(mediaInfo: MediaInfo) {
|
|
||||||
this.media = mediaInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Break from "./Break";
|
|
||||||
import BreakClip from "./BreakClip";
|
|
||||||
import GenericMediaMetadata from "./GenericMediaMetadata";
|
|
||||||
import MovieMediaMetadata from "./MovieMediaMetadata";
|
|
||||||
import MusicTrackMediaMetadata from "./MusicTrackMediaMetadata";
|
|
||||||
import PhotoMediaMetadata from "./PhotoMediaMetadata";
|
|
||||||
import TvShowMediaMetadata from "./TvShowMediaMetadata";
|
|
||||||
import TextTrackStyle from "./TextTrackStyle";
|
|
||||||
import Track from "./Track";
|
|
||||||
import UserActionState from "./UserActionState";
|
|
||||||
import VastAdsRequest from "./VastAdsRequest";
|
|
||||||
|
|
||||||
import { HlsSegmentFormat
|
|
||||||
, HlsVideoSegmentFormat
|
|
||||||
, StreamType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
type Metadata =
|
|
||||||
GenericMediaMetadata
|
|
||||||
| MovieMediaMetadata
|
|
||||||
| MusicTrackMediaMetadata
|
|
||||||
| PhotoMediaMetadata
|
|
||||||
| TvShowMediaMetadata;
|
|
||||||
|
|
||||||
export default class MediaInfo {
|
|
||||||
public atvEntity?: string;
|
|
||||||
public breakClips?: BreakClip[];
|
|
||||||
public breaks?: Break[];
|
|
||||||
public customData: any = null;
|
|
||||||
public contentUrl?: string;
|
|
||||||
public duration: (number | null) = null;
|
|
||||||
public entity?: string;
|
|
||||||
public hlsSegmentFormat?: HlsSegmentFormat;
|
|
||||||
public hlsVideoSegmentFormat?: HlsVideoSegmentFormat;
|
|
||||||
public metadata: (Metadata | null) = null;
|
|
||||||
public startAbsoluteTime?: number;
|
|
||||||
public streamType: string = StreamType.BUFFERED;
|
|
||||||
public textTrackStyle: (TextTrackStyle | null) = null;
|
|
||||||
public tracks: (Track[] | null) = null;
|
|
||||||
public userActionStates?: UserActionState[];
|
|
||||||
public vmapAdsRequest?: VastAdsRequest;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public contentId: string
|
|
||||||
, public contentType: string) {}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class MediaMetadata {
|
|
||||||
public queueItemId?: number;
|
|
||||||
public sectionDuration?: number;
|
|
||||||
public sectionStartAbsoluteTime?: number;
|
|
||||||
public sectionStartTimeInContainer?: number;
|
|
||||||
public sectionStartTimeInMedia?: number;
|
|
||||||
public type: MetadataType;
|
|
||||||
public metadataType: MetadataType;
|
|
||||||
|
|
||||||
constructor(type: MetadataType) {
|
|
||||||
this.type = type;
|
|
||||||
this.metadataType = type;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class MovieMediaMetadata {
|
|
||||||
public images: (Image[] | undefined) = undefined;
|
|
||||||
public metadataType: number = MetadataType.MOVIE;
|
|
||||||
public releaseDate: (string | undefined) = undefined;
|
|
||||||
public releaseYear: (number | undefined) = undefined;
|
|
||||||
public studio: (string | undefined) = undefined;
|
|
||||||
public subtitle: (string | undefined) = undefined;
|
|
||||||
public title: (string | undefined) = undefined;
|
|
||||||
public type: number = MetadataType.MOVIE;
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class MusicTrackMediaMetadata {
|
|
||||||
public albumArtist: (string | undefined) = undefined;
|
|
||||||
public albumName: (string | undefined) = undefined;
|
|
||||||
public artist: (string | undefined) = undefined;
|
|
||||||
public artistName: (string | undefined) = undefined;
|
|
||||||
public composer: (string | undefined) = undefined;
|
|
||||||
public discNumber: (number | undefined) = undefined;
|
|
||||||
public images: (Image[] | undefined) = undefined;
|
|
||||||
public metadataType: number = MetadataType.MUSIC_TRACK;
|
|
||||||
public releaseDate: (string | undefined) = undefined;
|
|
||||||
public releaseYear: (number | undefined) = undefined;
|
|
||||||
public songName: (string | undefined) = undefined;
|
|
||||||
public title: (string | undefined) = undefined;
|
|
||||||
public trackNumber: (number | undefined) = undefined;
|
|
||||||
public type: number = MetadataType.MUSIC_TRACK;
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class PauseRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class PhotoMediaMetadata {
|
|
||||||
public artist: (string | undefined) = undefined;
|
|
||||||
public creationDateTime: (string | undefined) = undefined;
|
|
||||||
public height: (number | undefined) = undefined;
|
|
||||||
public images: (Image[] | undefined) = undefined;
|
|
||||||
public latitude: (number | undefined) = undefined;
|
|
||||||
public location: (string | undefined) = undefined;
|
|
||||||
public longitude: (number | undefined) = undefined;
|
|
||||||
public metadataType: number = MetadataType.PHOTO;
|
|
||||||
public title: (string | undefined) = undefined;
|
|
||||||
public type: number = MetadataType.PHOTO;
|
|
||||||
public width: (number | undefined) = undefined;
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class PlayRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import QueueItem from "./QueueItem";
|
|
||||||
|
|
||||||
import { RepeatMode } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class QueueData {
|
|
||||||
public shuffle = false;
|
|
||||||
|
|
||||||
constructor(public id?: string
|
|
||||||
, public name?: string
|
|
||||||
, public description?: string
|
|
||||||
, public repeatMode?: RepeatMode
|
|
||||||
, public items?: QueueItem[]
|
|
||||||
, public startIndex?: number
|
|
||||||
, public startTime?: number) {}
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import QueueItem from "./QueueItem";
|
|
||||||
|
|
||||||
|
|
||||||
export default class QueueInsertItemsRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
public insertBefore: (number | null) = null;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public type = "QUEUE_INSERT";
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public items: QueueItem[]) {}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import MediaInfo from "./MediaInfo";
|
|
||||||
|
|
||||||
|
|
||||||
export default class QueueItem {
|
|
||||||
public activeTrackIds: (number[] | null) = null;
|
|
||||||
public autoplay = true;
|
|
||||||
public customData: any = null;
|
|
||||||
public itemId: (number | null) = null;
|
|
||||||
public media: MediaInfo;
|
|
||||||
public playbackDuration: (number | null) = null;
|
|
||||||
public preloadTime = 0;
|
|
||||||
public startTime = 0;
|
|
||||||
|
|
||||||
constructor(mediaInfo: MediaInfo) {
|
|
||||||
this.media = mediaInfo;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import QueueItem from "./QueueItem";
|
|
||||||
|
|
||||||
import { RepeatMode } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class QueueJumpRequest {
|
|
||||||
public jump: (number | null) = null;
|
|
||||||
public currentItemId: (number | null) = null;
|
|
||||||
public sessionId: (number | null) = null;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
|
|
||||||
public type = "QUEUE_UPDATE";
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import QueueItem from "./QueueItem";
|
|
||||||
|
|
||||||
import { RepeatMode } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class QueueLoadRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
public repeatMode: string = RepeatMode.OFF;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public startIndex = 0;
|
|
||||||
public type = "QUEUE_LOAD";
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public items: QueueItem[]) {}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class QueueRemoveItemsRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public type = "QUEUE_REMOVE";
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public itemIds: number[]) {}
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class QueueReorderItemsRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
public insertBefore: (number | null) = null;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public type = "QUEUE_REORDER";
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public itemIds: number[]) {}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class QueueSetPropertiesRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
public repeatMode: (string | null) = null;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public type = "QUEUE_UPDATE";
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import QueueItem from "./QueueItem";
|
|
||||||
|
|
||||||
|
|
||||||
export default class QueueUpdateItemsRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
public requestId: (number | null) = null;
|
|
||||||
public sessionId: (string | null) = null;
|
|
||||||
public type = "QUEUE_UPDATE";
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public items: QueueItem[]) {}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class SeekRequest {
|
|
||||||
public currentTime: (number | null) = null;
|
|
||||||
public customData: any = null;
|
|
||||||
public resumeState: (string | null) = null;
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class StopRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class TextTrackStyle {
|
|
||||||
public backgroundColor: (string | null) = null;
|
|
||||||
public customData: any = null;
|
|
||||||
public edgeColor: (string | null) = null;
|
|
||||||
public edgeType: (string | null) = null;
|
|
||||||
public fontFamily: (string | null) = null;
|
|
||||||
public fontGenericFamily: (string | null) = null;
|
|
||||||
public fontScale: (number | null) = null;
|
|
||||||
public fontStyle: (string | null) = null;
|
|
||||||
public foregroundColor: (string | null) = null;
|
|
||||||
public windowColor: (string | null) = null;
|
|
||||||
public windowRoundedCornerRadius: (number | null) = null;
|
|
||||||
public windowType: (string | null) = null;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class Track {
|
|
||||||
public customData: any = null;
|
|
||||||
public language: (string | null) = null;
|
|
||||||
public name: (string | null) = null;
|
|
||||||
public subtype: (string | null) = null;
|
|
||||||
public trackContentId: (string | null) = null;
|
|
||||||
public trackContentType: (string | null) = null;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public trackId: number
|
|
||||||
, public type: string) {}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Image from "../../classes/Image";
|
|
||||||
|
|
||||||
import { MetadataType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class TvShowMediaMetadata {
|
|
||||||
public episode: (number | undefined) = undefined;
|
|
||||||
public episodeNumber: (number | undefined) = undefined;
|
|
||||||
public episodeTitle: (string | undefined) = undefined;
|
|
||||||
public images: (Image[] | undefined) = undefined;
|
|
||||||
public metadataType: number = MetadataType.TV_SHOW;
|
|
||||||
public originalAirdate: (string | undefined) = undefined;
|
|
||||||
public releaseYear: (number | undefined) = undefined;
|
|
||||||
public season: (number | undefined) = undefined;
|
|
||||||
public seasonNumber: (number | undefined) = undefined;
|
|
||||||
public seriesTitle: (string | undefined) = undefined;
|
|
||||||
public title: (string | undefined) = undefined;
|
|
||||||
public type: number = MetadataType.TV_SHOW;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import { UserAction } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class UserActionState {
|
|
||||||
public customData: any = null;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public userAction: UserAction) {}
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
export default class VastAdsRequest {
|
|
||||||
public adsResponse?: string;
|
|
||||||
public adTagUrl?: string;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import { HdrType } from "../enums";
|
|
||||||
|
|
||||||
|
|
||||||
export default class VideoInformation {
|
|
||||||
constructor(
|
|
||||||
public width: number
|
|
||||||
, public height: number
|
|
||||||
, public hdrType: HdrType) {}
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
|
|
||||||
import Volume from "../../classes/Volume";
|
|
||||||
|
|
||||||
|
|
||||||
export default class VolumeRequest {
|
|
||||||
public customData: any = null;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
public volume: Volume) {}
|
|
||||||
}
|
|
||||||
432
ext/src/shim/cast/media/dataClasses.ts
Normal file
432
ext/src/shim/cast/media/dataClasses.ts
Normal file
@@ -0,0 +1,432 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
import { Image, Volume } from "../dataClasses";
|
||||||
|
|
||||||
|
import { ContainerType
|
||||||
|
, HdrType
|
||||||
|
, HlsSegmentFormat
|
||||||
|
, HlsVideoSegmentFormat
|
||||||
|
, MetadataType
|
||||||
|
, RepeatMode
|
||||||
|
, StreamType
|
||||||
|
, UserAction } from "./enums";
|
||||||
|
|
||||||
|
|
||||||
|
export class AudiobookChapterMediaMetadata {
|
||||||
|
public bookTitle?: string;
|
||||||
|
public chapterNumber?: number;
|
||||||
|
public chapterTitle?: string;
|
||||||
|
public images?: Image[];
|
||||||
|
public subtitle?: string;
|
||||||
|
public title?: string;
|
||||||
|
public type = MetadataType.AUDIOBOOK_CHAPTER;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class AudiobookContainerMetadata {
|
||||||
|
public authors?: string[];
|
||||||
|
public narrators?: string[];
|
||||||
|
public publisher?: string;
|
||||||
|
public releaseDate?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Break {
|
||||||
|
public duration?: number;
|
||||||
|
public isEmbedded?: boolean;
|
||||||
|
public isWatched = false;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public id: string
|
||||||
|
, public breakClipIds: string[]
|
||||||
|
, public position: number) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class BreakClip {
|
||||||
|
public clickThroughUrl?: string;
|
||||||
|
public contentId?: string;
|
||||||
|
public contentType?: string;
|
||||||
|
public contentUrl?: string;
|
||||||
|
public customData?: {};
|
||||||
|
public duration?: number;
|
||||||
|
public hlsSegmentFormat?: HlsSegmentFormat;
|
||||||
|
public posterUrl?: string;
|
||||||
|
public title?: string;
|
||||||
|
public vastAdsRequest?: VastAdsRequest;
|
||||||
|
public whenSkippable?: number;
|
||||||
|
|
||||||
|
constructor(public id: string) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class BreakStatus {
|
||||||
|
public breakClipId?: string;
|
||||||
|
public breakId?: string;
|
||||||
|
public currentBreakClipTime?: number;
|
||||||
|
public currentBreakTime?: number;
|
||||||
|
public whenSkippable?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class ContainerMetadata {
|
||||||
|
public containerDuration?: number;
|
||||||
|
public containerImages?: Image[];
|
||||||
|
public sections?: MediaMetadata[];
|
||||||
|
public title?: string;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public containerType: ContainerType =
|
||||||
|
ContainerType.GENERIC_CONTAINER) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class EditTracksInfoRequest {
|
||||||
|
public requestId = 0;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public activeTrackIds: (number[] | null) = null
|
||||||
|
, public textTrackStyle: (string | null) = null) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class GenericMediaMetadata {
|
||||||
|
public images: (Image[] | undefined) = undefined;
|
||||||
|
public metadataType: number = MetadataType.GENERIC;
|
||||||
|
public releaseDate: (string | undefined) = undefined;
|
||||||
|
public releaseYear: (number | undefined) = undefined;
|
||||||
|
public subtitle: (string | undefined) = undefined;
|
||||||
|
public title: (string | undefined) = undefined;
|
||||||
|
public type: number = MetadataType.GENERIC;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class GetStatusRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class LiveSeekableRange {
|
||||||
|
constructor(
|
||||||
|
public start?: number
|
||||||
|
, public end?: number
|
||||||
|
, public isMovingWindow?: boolean
|
||||||
|
, public isLiveDone?: boolean) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class LoadRequest {
|
||||||
|
public activeTrackIds: (number[] | null) = null;
|
||||||
|
public atvCredentials?: string;
|
||||||
|
public atvCredentialsType?: string;
|
||||||
|
public autoplay: (boolean | null) = true;
|
||||||
|
public currentTime: (number | null) = null;
|
||||||
|
public customData: any = null;
|
||||||
|
public media: MediaInfo;
|
||||||
|
public requestId = 0;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public type = "LOAD";
|
||||||
|
|
||||||
|
constructor(mediaInfo: MediaInfo) {
|
||||||
|
this.media = mediaInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type Metadata =
|
||||||
|
GenericMediaMetadata
|
||||||
|
| MovieMediaMetadata
|
||||||
|
| MusicTrackMediaMetadata
|
||||||
|
| PhotoMediaMetadata
|
||||||
|
| TvShowMediaMetadata;
|
||||||
|
|
||||||
|
export class MediaInfo {
|
||||||
|
public atvEntity?: string;
|
||||||
|
public breakClips?: BreakClip[];
|
||||||
|
public breaks?: Break[];
|
||||||
|
public customData: any = null;
|
||||||
|
public contentUrl?: string;
|
||||||
|
public duration: (number | null) = null;
|
||||||
|
public entity?: string;
|
||||||
|
public hlsSegmentFormat?: HlsSegmentFormat;
|
||||||
|
public hlsVideoSegmentFormat?: HlsVideoSegmentFormat;
|
||||||
|
public metadata: (Metadata | null) = null;
|
||||||
|
public startAbsoluteTime?: number;
|
||||||
|
public streamType: string = StreamType.BUFFERED;
|
||||||
|
public textTrackStyle: (TextTrackStyle | null) = null;
|
||||||
|
public tracks: (Track[] | null) = null;
|
||||||
|
public userActionStates?: UserActionState[];
|
||||||
|
public vmapAdsRequest?: VastAdsRequest;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public contentId: string
|
||||||
|
, public contentType: string) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class MediaMetadata {
|
||||||
|
public queueItemId?: number;
|
||||||
|
public sectionDuration?: number;
|
||||||
|
public sectionStartAbsoluteTime?: number;
|
||||||
|
public sectionStartTimeInContainer?: number;
|
||||||
|
public sectionStartTimeInMedia?: number;
|
||||||
|
public type: MetadataType;
|
||||||
|
public metadataType: MetadataType;
|
||||||
|
|
||||||
|
constructor(type: MetadataType) {
|
||||||
|
this.type = type;
|
||||||
|
this.metadataType = type;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class MovieMediaMetadata {
|
||||||
|
public images: (Image[] | undefined) = undefined;
|
||||||
|
public metadataType: number = MetadataType.MOVIE;
|
||||||
|
public releaseDate: (string | undefined) = undefined;
|
||||||
|
public releaseYear: (number | undefined) = undefined;
|
||||||
|
public studio: (string | undefined) = undefined;
|
||||||
|
public subtitle: (string | undefined) = undefined;
|
||||||
|
public title: (string | undefined) = undefined;
|
||||||
|
public type: number = MetadataType.MOVIE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class MusicTrackMediaMetadata {
|
||||||
|
public albumArtist: (string | undefined) = undefined;
|
||||||
|
public albumName: (string | undefined) = undefined;
|
||||||
|
public artist: (string | undefined) = undefined;
|
||||||
|
public artistName: (string | undefined) = undefined;
|
||||||
|
public composer: (string | undefined) = undefined;
|
||||||
|
public discNumber: (number | undefined) = undefined;
|
||||||
|
public images: (Image[] | undefined) = undefined;
|
||||||
|
public metadataType: number = MetadataType.MUSIC_TRACK;
|
||||||
|
public releaseDate: (string | undefined) = undefined;
|
||||||
|
public releaseYear: (number | undefined) = undefined;
|
||||||
|
public songName: (string | undefined) = undefined;
|
||||||
|
public title: (string | undefined) = undefined;
|
||||||
|
public trackNumber: (number | undefined) = undefined;
|
||||||
|
public type: number = MetadataType.MUSIC_TRACK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class PauseRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class PhotoMediaMetadata {
|
||||||
|
public artist: (string | undefined) = undefined;
|
||||||
|
public creationDateTime: (string | undefined) = undefined;
|
||||||
|
public height: (number | undefined) = undefined;
|
||||||
|
public images: (Image[] | undefined) = undefined;
|
||||||
|
public latitude: (number | undefined) = undefined;
|
||||||
|
public location: (string | undefined) = undefined;
|
||||||
|
public longitude: (number | undefined) = undefined;
|
||||||
|
public metadataType: number = MetadataType.PHOTO;
|
||||||
|
public title: (string | undefined) = undefined;
|
||||||
|
public type: number = MetadataType.PHOTO;
|
||||||
|
public width: (number | undefined) = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class PlayRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueData {
|
||||||
|
public shuffle = false;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public id?: string
|
||||||
|
, public name?: string
|
||||||
|
, public description?: string
|
||||||
|
, public repeatMode?: RepeatMode
|
||||||
|
, public items?: QueueItem[]
|
||||||
|
, public startIndex?: number
|
||||||
|
, public startTime?: number) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueInsertItemsRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
public insertBefore: (number | null) = null;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public type = "QUEUE_INSERT";
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public items: QueueItem[]) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueItem {
|
||||||
|
public activeTrackIds: (number[] | null) = null;
|
||||||
|
public autoplay = true;
|
||||||
|
public customData: any = null;
|
||||||
|
public itemId: (number | null) = null;
|
||||||
|
public media: MediaInfo;
|
||||||
|
public playbackDuration: (number | null) = null;
|
||||||
|
public preloadTime = 0;
|
||||||
|
public startTime = 0;
|
||||||
|
|
||||||
|
constructor(mediaInfo: MediaInfo) {
|
||||||
|
this.media = mediaInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueJumpRequest {
|
||||||
|
public jump: (number | null) = null;
|
||||||
|
public currentItemId: (number | null) = null;
|
||||||
|
public sessionId: (number | null) = null;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
|
||||||
|
public type = "QUEUE_UPDATE";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueLoadRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
public repeatMode: string = RepeatMode.OFF;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public startIndex = 0;
|
||||||
|
public type = "QUEUE_LOAD";
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public items: QueueItem[]) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueRemoveItemsRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public type = "QUEUE_REMOVE";
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public itemIds: number[]) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueReorderItemsRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
public insertBefore: (number | null) = null;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public type = "QUEUE_REORDER";
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public itemIds: number[]) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueSetPropertiesRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
public repeatMode: (string | null) = null;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public type = "QUEUE_UPDATE";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class QueueUpdateItemsRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
public requestId: (number | null) = null;
|
||||||
|
public sessionId: (string | null) = null;
|
||||||
|
public type = "QUEUE_UPDATE";
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public items: QueueItem[]) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class SeekRequest {
|
||||||
|
public currentTime: (number | null) = null;
|
||||||
|
public customData: any = null;
|
||||||
|
public resumeState: (string | null) = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class StopRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class TextTrackStyle {
|
||||||
|
public backgroundColor: (string | null) = null;
|
||||||
|
public customData: any = null;
|
||||||
|
public edgeColor: (string | null) = null;
|
||||||
|
public edgeType: (string | null) = null;
|
||||||
|
public fontFamily: (string | null) = null;
|
||||||
|
public fontGenericFamily: (string | null) = null;
|
||||||
|
public fontScale: (number | null) = null;
|
||||||
|
public fontStyle: (string | null) = null;
|
||||||
|
public foregroundColor: (string | null) = null;
|
||||||
|
public windowColor: (string | null) = null;
|
||||||
|
public windowRoundedCornerRadius: (number | null) = null;
|
||||||
|
public windowType: (string | null) = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class Track {
|
||||||
|
public customData: any = null;
|
||||||
|
public language: (string | null) = null;
|
||||||
|
public name: (string | null) = null;
|
||||||
|
public subtype: (string | null) = null;
|
||||||
|
public trackContentId: (string | null) = null;
|
||||||
|
public trackContentType: (string | null) = null;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public trackId: number
|
||||||
|
, public type: string) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class TvShowMediaMetadata {
|
||||||
|
public episode: (number | undefined) = undefined;
|
||||||
|
public episodeNumber: (number | undefined) = undefined;
|
||||||
|
public episodeTitle: (string | undefined) = undefined;
|
||||||
|
public images: (Image[] | undefined) = undefined;
|
||||||
|
public metadataType: number = MetadataType.TV_SHOW;
|
||||||
|
public originalAirdate: (string | undefined) = undefined;
|
||||||
|
public releaseYear: (number | undefined) = undefined;
|
||||||
|
public season: (number | undefined) = undefined;
|
||||||
|
public seasonNumber: (number | undefined) = undefined;
|
||||||
|
public seriesTitle: (string | undefined) = undefined;
|
||||||
|
public title: (string | undefined) = undefined;
|
||||||
|
public type: number = MetadataType.TV_SHOW;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class UserActionState {
|
||||||
|
public customData: any = null;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public userAction: UserAction) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class VastAdsRequest {
|
||||||
|
public adsResponse?: string;
|
||||||
|
public adTagUrl?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class VideoInformation {
|
||||||
|
constructor(
|
||||||
|
public width: number
|
||||||
|
, public height: number
|
||||||
|
, public hdrType: HdrType) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class VolumeRequest {
|
||||||
|
public customData: any = null;
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
public volume: Volume) {}
|
||||||
|
}
|
||||||
@@ -1,82 +1,12 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import AudiobookChapterMediaMetadata from "./classes/AudiobookChapterMediaMetadata";
|
import Media from "./Media";
|
||||||
import AudiobookContainerMetadata from "./classes/AudiobookContainerMetadata";
|
|
||||||
import Break from "./classes/Break";
|
|
||||||
import BreakClip from "./classes/BreakClip";
|
|
||||||
import BreakStatus from "./classes/BreakStatus";
|
|
||||||
import ContainerMetadata from "./classes/ContainerMetadata";
|
|
||||||
import EditTracksInfoRequest from "./classes/EditTracksInfoRequest";
|
|
||||||
import GenericMediaMetadata from "./classes/GenericMediaMetadata";
|
|
||||||
import GetStatusRequest from "./classes/GetStatusRequest";
|
|
||||||
import LiveSeekableRange from "./classes/LiveSeekableRange";
|
|
||||||
import LoadRequest from "./classes/LoadRequest";
|
|
||||||
import Media from "./classes/Media";
|
|
||||||
import MediaInfo from "./classes/MediaInfo";
|
|
||||||
import MediaMetadata from "./classes/MediaMetadata";
|
|
||||||
import MovieMediaMetadata from "./classes/MovieMediaMetadata";
|
|
||||||
import MusicTrackMediaMetadata from "./classes/MusicTrackMediaMetadata";
|
|
||||||
import PauseRequest from "./classes/PauseRequest";
|
|
||||||
import PhotoMediaMetadata from "./classes/PhotoMediaMetadata";
|
|
||||||
import PlayRequest from "./classes/PlayRequest";
|
|
||||||
import QueueData from "./classes/QueueData";
|
|
||||||
import QueueInsertItemsRequest from "./classes/QueueInsertItemsRequest";
|
|
||||||
import QueueItem from "./classes/QueueItem";
|
|
||||||
import QueueLoadRequest from "./classes/QueueLoadRequest";
|
|
||||||
import QueueRemoveItemsRequest from "./classes/QueueRemoveItemsRequest";
|
|
||||||
import QueueReorderItemsRequest from "./classes/QueueReorderItemsRequest";
|
|
||||||
import QueueSetPropertiesRequest from "./classes/QueueSetPropertiesRequest";
|
|
||||||
import QueueUpdateItemsRequest from "./classes/QueueUpdateItemsRequest";
|
|
||||||
import SeekRequest from "./classes/SeekRequest";
|
|
||||||
import StopRequest from "./classes/StopRequest";
|
|
||||||
import TextTrackStyle from "./classes/TextTrackStyle";
|
|
||||||
import Track from "./classes/Track";
|
|
||||||
import TvShowMediaMetadata from "./classes/TvShowMediaMetadata";
|
|
||||||
import UserActionState from "./classes/QueueItem";
|
|
||||||
import VastAdsRequest from "./classes/VastAdsRequest";
|
|
||||||
import VideoInformation from "./classes/VideoInformation";
|
|
||||||
import VolumeRequest from "./classes/VolumeRequest";
|
|
||||||
|
|
||||||
import { ContainerType
|
|
||||||
, HdrType
|
|
||||||
, HlsSegmentFormat
|
|
||||||
, HlsVideoSegmentFormat
|
|
||||||
, IdleReason
|
|
||||||
, MediaCommand
|
|
||||||
, MetadataType
|
|
||||||
, PlayerState
|
|
||||||
, QueueType
|
|
||||||
, RepeatMode
|
|
||||||
, ResumeState
|
|
||||||
, StreamType
|
|
||||||
, TextTrackEdgeType
|
|
||||||
, TextTrackFontGenericFamily
|
|
||||||
, TextTrackFontStyle
|
|
||||||
, TextTrackType
|
|
||||||
, TextTrackWindowType
|
|
||||||
, TrackType
|
|
||||||
, UserAction } from "./enums";
|
|
||||||
|
|
||||||
|
|
||||||
export {
|
export { Media };
|
||||||
// Enums
|
|
||||||
ContainerType, HdrType, HlsSegmentFormat, HlsVideoSegmentFormat, IdleReason
|
|
||||||
, MediaCommand, MetadataType, PlayerState, QueueType, RepeatMode, ResumeState
|
|
||||||
, StreamType, TextTrackEdgeType, TextTrackFontGenericFamily
|
|
||||||
, TextTrackFontStyle, TextTrackType, TextTrackWindowType, TrackType
|
|
||||||
, UserAction
|
|
||||||
|
|
||||||
// Classes
|
export * from "./dataClasses";
|
||||||
, AudiobookChapterMediaMetadata, AudiobookContainerMetadata, Break, BreakClip
|
export * from "./enums";
|
||||||
, BreakStatus, ContainerMetadata, EditTracksInfoRequest, GenericMediaMetadata
|
|
||||||
, GetStatusRequest, LiveSeekableRange, LoadRequest, Media, MediaInfo
|
|
||||||
, MediaMetadata, MovieMediaMetadata, MusicTrackMediaMetadata, PauseRequest
|
|
||||||
, PhotoMediaMetadata, PlayRequest, QueueInsertItemsRequest, QueueData
|
|
||||||
, QueueItem, QueueLoadRequest, QueueRemoveItemsRequest
|
|
||||||
, QueueReorderItemsRequest, QueueSetPropertiesRequest, QueueUpdateItemsRequest
|
|
||||||
, SeekRequest, StopRequest, TextTrackStyle, Track, TvShowMediaMetadata
|
|
||||||
, UserActionState, VastAdsRequest, VideoInformation, VolumeRequest
|
|
||||||
};
|
|
||||||
|
|
||||||
export const timeout = {
|
export const timeout = {
|
||||||
editTracksInfo: 0
|
editTracksInfo: 0
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
import _Error from "./cast/classes/Error";
|
import { Error as Error_ } from "./cast/dataClasses";
|
||||||
import Media from "./cast/media/classes/Media";
|
import { Media } from "./cast/media";
|
||||||
|
|
||||||
|
|
||||||
export type SuccessCallback = () => void;
|
export type SuccessCallback = () => void;
|
||||||
export type ErrorCallback = (err: _Error) => void;
|
export type ErrorCallback = (err: Error_) => void;
|
||||||
|
|
||||||
export type MediaListener = (media: Media) => void;
|
export type MediaListener = (media: Media) => void;
|
||||||
export type MessageListener = (namespace: string, message: string) => void;
|
export type MessageListener = (namespace: string, message: string) => void;
|
||||||
|
|||||||
Reference in New Issue
Block a user