@playkit-js/kaltura-player-js
Version:
[](https://github.com/kaltura/kaltura-player-js/actions/workflows/run_canary.yaml) [ • 2.91 kB
text/typescript
import { BaseRemotePlayer } from './base-remote-player';
import { RemoteSession } from './remote-session';
import { PlayerSnapshot } from './player-snapshot';
import { RemotePlayerUI } from './remote-player-ui';
/**
* @class RemotePayload
* @param {BaseRemotePlayer} player - The active remote player.
*/
class RemotePayload {
private _player: BaseRemotePlayer;
constructor(player: BaseRemotePlayer) {
this._player = player;
}
/**
* The active remote player.
* @type {BaseRemotePlayer}
* @instance
* @memberof RemotePayload
*/
public get player(): BaseRemotePlayer {
return this._player;
}
}
/**
* @class RemoteConnectedPayload
* @param {BaseRemotePlayer} player - The active remote player.
* @param {RemoteSession} session - The remote session.
* @param {RemotePlayerUI} [ui] - Optional remote player UI preset.
* @extends RemotePayload
*/
class RemoteConnectedPayload extends RemotePayload {
private _ui: RemotePlayerUI | undefined;
private _session: RemoteSession;
constructor(player: BaseRemotePlayer, session: RemoteSession, ui?: RemotePlayerUI) {
super(player);
this._session = session;
if (ui) {
this._ui = ui;
}
}
/**
* Remote player UI preset.
* @type {?RemotePlayerUI}
* @instance
* @memberof RemoteConnectedPayload
*/
public get ui(): RemotePlayerUI | undefined {
return this._ui;
}
/**
* Remote session.
* @type {RemoteSession}
* @instance
* @memberof RemoteConnectedPayload
*/
public get session(): RemoteSession {
return this._session;
}
}
/**
* @class RemoteDisconnectedPayload
* @param {BaseRemotePlayer} player - The active remote player.
* @param {PlayerSnapshot} snapshot - The remote player snapshot.
* @extends RemotePayload
*/
class RemoteDisconnectedPayload extends RemotePayload {
private readonly _snapshot: PlayerSnapshot;
constructor(player: BaseRemotePlayer, snapshot: PlayerSnapshot) {
super(player);
this._snapshot = snapshot;
}
/**
* Remote player snapshot.
* @type {PlayerSnapshot}
* @instance
* @memberof RemoteDisconnectedPayload
*/
public get snapshot(): PlayerSnapshot {
return this._snapshot;
}
}
/**
* @class RemoteAvailablePayload
* @param {BaseRemotePlayer} player - The active remote player.
* @param {boolean} available - Remote player availability.
* @extends RemotePayload
*/
class RemoteAvailablePayload extends RemotePayload {
private readonly _available: boolean;
constructor(player: BaseRemotePlayer, available: boolean) {
super(player);
this._available = available;
}
/**
* Remote player availability.
* @type {boolean}
* @instance
* @memberof RemoteAvailablePayload
*/
public get available(): boolean {
return this._available;
}
}
export { RemotePayload, RemoteConnectedPayload, RemoteDisconnectedPayload, RemoteAvailablePayload };