@stormstreaming/stormstreamer 0.9.0-beta.0 → 0.9.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,8 @@ import { StormStreamer } from "./StormStreamer";
2
2
  import { StreamerConfig } from "./types/StreamerConfig";
3
3
  export { StormStreamer } from "./StormStreamer";
4
4
  export { PublishState } from "./playback/enum/PublishState";
5
+ export { StreamerState } from "./playback/enum/StreamerState";
6
+ export { DeviceState } from "./playback/enum/DeviceState";
5
7
  export type { StreamerConfig } from "./types/StreamerConfig";
6
8
  export type { StormStreamerListener } from "./events/StormStreamerListener";
7
9
  export type { StormStreamerEvent } from "./events/StormStreamerEvent";
@@ -2,6 +2,8 @@ import { StormStreamer } from "./StormStreamer";
2
2
  import { StreamerConfig } from "./types/StreamerConfig";
3
3
  export { StormStreamer } from "./StormStreamer";
4
4
  export { PublishState } from "./playback/enum/PublishState";
5
+ export { StreamerState } from "./playback/enum/StreamerState";
6
+ export { DeviceState } from "./playback/enum/DeviceState";
5
7
  export type { StreamerConfig } from "./types/StreamerConfig";
6
8
  export type { StormStreamerListener } from "./events/StormStreamerListener";
7
9
  export type { StormStreamerEvent } from "./events/StormStreamerEvent";
@@ -0,0 +1,18 @@
1
+ import { AbstractSocket } from "./AbstractSocket";
2
+ import { StormServerItem } from "../model/StormServerItem";
3
+ import { StormStreamer } from "../StormStreamer";
4
+ export declare class WowzaStatusConnection extends AbstractSocket {
5
+ private readonly _main;
6
+ private readonly _networkController;
7
+ private _currServer;
8
+ constructor(main: StormStreamer, server: StormServerItem);
9
+ initialize(): void;
10
+ protected onSocketOpen(event: Event): void;
11
+ protected onSocketError(event: Event): void;
12
+ protected onSocketClose(event: CloseEvent): void;
13
+ protected onSocketMessage(event: MessageEvent): void;
14
+ private createURL;
15
+ isConnectionActive(): boolean;
16
+ getCurrentServer(): StormServerItem | null;
17
+ destroy(): void;
18
+ }
@@ -1,54 +1,90 @@
1
1
  import { Logger } from "../logger/Logger";
2
- import { IPlayer } from "./player/IPlayer";
3
2
  import { StormStreamer } from "../StormStreamer";
4
3
  import { InputDevice } from "./model/InputDevice";
5
4
  import { PublishState } from "./enum/PublishState";
5
+ import { StreamerState } from "./enum/StreamerState";
6
+ import { DeviceState } from "./enum/DeviceState";
6
7
  export declare class PlaybackController {
7
8
  private readonly _main;
8
9
  protected _logger: Logger;
9
- private _selectedPlayer;
10
10
  private _isWindowActive;
11
11
  private _peerConnection;
12
+ private _statusConnection;
12
13
  private _peerConnectionConfig;
13
14
  private _mungeSDP;
14
15
  private _selectedCamera;
15
16
  private _selectedMicrophone;
16
17
  private _isMicrophoneMuted;
18
+ private _pendingMicrophoneState;
17
19
  private _cameraList;
18
20
  private _microphoneList;
19
21
  private _stream;
20
22
  private _soundMeter;
23
+ private _permissionChecked;
21
24
  private _constraints;
25
+ private _restartTimer;
26
+ private _restartTimerCount;
27
+ private _restartTimerMaxCount;
22
28
  protected _publishState: PublishState;
29
+ protected _inputDeviceState: StreamerState;
30
+ protected _cameraState: DeviceState;
31
+ protected _microphoneState: DeviceState;
32
+ protected _publishTimer: number;
33
+ private _currentOrientation;
23
34
  constructor(main: StormStreamer);
24
35
  initialize(): void;
25
- private startWebRTC;
26
- publish(streamKey: string): void;
36
+ private initializeDevices;
37
+ requestPermissions(): Promise<boolean>;
38
+ private setupPermissionListeners;
39
+ private handlePermissionChange;
40
+ private onCameraStreamSuccess;
41
+ private initializeWebRTC;
42
+ publish(streamKey: string): boolean;
27
43
  unpublish(): void;
28
- private onUserMediaSuccess;
29
- onUserMediaError(error: any): void;
44
+ private setupOrientationListener;
45
+ private handleOrientationChange;
46
+ onUserMediaError(error: any): Promise<void>;
47
+ private checkIndividualDeviceAccess;
30
48
  onSocketMessage(data: any): void;
31
49
  private onConnectionStateChange;
32
50
  private onServerDisconnect;
33
- grabDevices(): void;
51
+ private onStreamKeyTaken;
52
+ grabDevices(): Promise<void>;
34
53
  selectCamera(cameraID: string): void;
35
- selectMicrophone(micID: string): void;
54
+ selectMicrophone(micID: string): Promise<void>;
55
+ private startCamera;
56
+ private updateWebRTCStream;
57
+ private closeStream;
36
58
  private pickCamera;
37
59
  private pickMicrophone;
38
- muteMicrophone(microphoneState: boolean): void;
60
+ clearSavedDevices(): void;
61
+ messSavedDevices(): void;
62
+ muteMicrophone(shouldMute: boolean): void;
63
+ private applyMicrophoneState;
64
+ isStreamReady(requireVideo?: boolean, requireAudio?: boolean): boolean;
39
65
  private onServerConnect;
66
+ private closeWebRTCConnection;
40
67
  private onDescriptionError;
41
68
  private onDescriptionSuccess;
42
69
  private onIceCandidate;
43
- private closeStream;
44
70
  private visibilityChange;
45
71
  private onWindowBlur;
46
72
  private onWindowFocus;
73
+ createStatusConnection(): void;
74
+ isMicrophoneMuted(): boolean;
47
75
  getCurrentCamera(): InputDevice | null;
48
76
  getCurrentMicrophone(): InputDevice | null;
49
77
  setPublishState(newState: PublishState): void;
78
+ setInputDeviceState(newState: StreamerState): void;
79
+ getInputDeviceState(): StreamerState;
80
+ setCameraState(newState: DeviceState): void;
81
+ getCamerState(): DeviceState;
82
+ setMicrophoneState(newState: DeviceState): void;
83
+ getMicrophoneState(): DeviceState;
50
84
  getCameraList(): InputDevice[];
51
85
  getMicrophoneList(): InputDevice[];
52
- getPlayer(): IPlayer | null;
86
+ getPublishState(): PublishState;
87
+ private stopCameraStream;
88
+ private forceStopAllStreams;
53
89
  destroy(): void;
54
90
  }
@@ -1,17 +1,17 @@
1
1
  import { StormStreamer } from "../StormStreamer";
2
2
  export declare class SoundMeter {
3
- private _main;
4
- private _stream;
3
+ private readonly _main;
4
+ private _audioContext;
5
+ private _analyser;
6
+ private _microphone;
7
+ private _lastEventTime;
8
+ private readonly THROTTLE_INTERVAL;
9
+ private _isMonitoring;
5
10
  private _instant;
6
11
  private _slow;
7
- private clip;
8
- private audioContext;
9
- private script;
10
- private microphone;
11
- private processor;
12
12
  constructor(main: StormStreamer);
13
13
  attach(stream: MediaStream): void;
14
14
  detach(): void;
15
15
  private clear;
16
- onAudioProcess(event: any): void;
16
+ private startMonitoring;
17
17
  }
@@ -0,0 +1,6 @@
1
+ export declare enum DeviceState {
2
+ NOT_INITIALIZED = "NOT_INITIALIZED",
3
+ ENABLED = "ENABLED",
4
+ ACCESS_DENIED = "ACCESS_DENIED",
5
+ NOT_FOUND = "NOT_FOUND"
6
+ }
@@ -3,6 +3,7 @@ export declare enum PublishState {
3
3
  INITIALIZED = "INITIALIZED",
4
4
  CONNECTING = "CONNECTING",
5
5
  PUBLISHED = "PUBLISHED",
6
+ PUBLISHED2 = "PUBLISHED2",
6
7
  UNPUBLISHED = "UNPUBLISHED",
7
8
  STOPPED = "STOPPED",
8
9
  UNKNOWN = "UNKNOWN",
@@ -0,0 +1,8 @@
1
+ export declare enum StreamerState {
2
+ NOT_INITIALIZED = "NOT_INITIALIZED",
3
+ INITIALIZED = "INITIALIZED",
4
+ READY = "READY",
5
+ UPDATING = "UPDATING",
6
+ INVALID = "INVALID",
7
+ UNKNOWN = "UNKNOWN"
8
+ }
@@ -18,15 +18,18 @@ export declare class StageController {
18
18
  private _main;
19
19
  protected _logger: Logger;
20
20
  private _resizeObserver;
21
+ private _isResizing;
21
22
  private _autoResizeEnabled;
23
+ private _parentOriginalOverflow;
22
24
  constructor(main: StormStreamer);
23
25
  initialize(): void;
24
- private onFullScreenChange;
25
26
  attachToParent(container: string | HTMLElement): boolean;
26
27
  detachFromParent(): boolean;
27
- onResize: () => void;
28
+ handleResize(): void;
29
+ private calculateNewDimensions;
28
30
  private resizeVideoContainer;
29
31
  private scaleVideo;
32
+ private onFullScreenChange;
30
33
  enterFullScreen(): void;
31
34
  exitFullScreen(): void;
32
35
  isFullScreenMode(): boolean;
@@ -6,5 +6,6 @@ export declare class StorageManager {
6
6
  private logger;
7
7
  constructor(main: StormStreamer);
8
8
  saveField(name: string, value: string): void;
9
+ removeField(name: string): void;
9
10
  getField(name: string): string | null;
10
11
  }
@@ -7,7 +7,9 @@ export type SettingsConfig = {
7
7
  autoStart?: boolean;
8
8
  restartOnFocus?: boolean;
9
9
  restartOnError?: boolean;
10
+ cancelPublishOnError?: boolean;
10
11
  reconnectTime?: number;
12
+ preselectDevices?: boolean;
11
13
  video?: VideoConfig;
12
14
  audio?: AudioConfig;
13
15
  storage?: StorageConfig;