@camera.ui/browser 0.0.37 → 0.0.39
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.
- package/dist/bundle.js +1 -1
- package/dist/client/node/src/proxy/cameraDevice/cameraDevice.browser.d.ts +1 -1
- package/dist/client/node/src/types.d.ts +1 -0
- package/dist/src/camera/index.d.ts +1 -1
- package/dist/src/camera/streaming/browser/browser-peer-connection.d.ts +4 -2
- package/dist/src/camera/streaming/browser/browser-streaming-session.d.ts +8 -2
- package/dist/src/camera/streaming/browser/webrtc-browser-connection.d.ts +3 -3
- package/dist/src/camera/types.d.ts +3 -1
- package/package.json +1 -1
- package/webpack.config.ts +0 -43
|
@@ -60,7 +60,7 @@ export declare class CameraDeviceClient implements CameraDevice {
|
|
|
60
60
|
getFfmpegPath(): Promise<string>;
|
|
61
61
|
getIceServers(): Promise<IceServer[]>;
|
|
62
62
|
createSession(): Promise<any>;
|
|
63
|
-
createBrowserSession(sourceName: string): Promise<BrowserStreamingSession>;
|
|
63
|
+
createBrowserSession(sourceName: string, videoElement: HTMLVideoElement): Promise<BrowserStreamingSession>;
|
|
64
64
|
streamVideo(sourceName: string, options: FfmpegOptions): Promise<any>;
|
|
65
65
|
recordToFile(sourceName: string, outputPath: string, duration?: number): Promise<void>;
|
|
66
66
|
getValue<T extends keyof StateValues>(stateName: T): StateValue<T>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DeviceManagerClient, PluginsManagerClient, SystemManagerClient } from './proxy';
|
|
2
2
|
import type { BaseLogger, CameraDevice } from '../../../shared/types';
|
|
3
3
|
export type { BaseLogger, BasicPeerConnection, CameraConfig, CameraDevice, Camera, CameraInput, FfmpegOptions, Go2RtcIceCandidateMessage, Go2RtcOfferMessage, Go2RtcAnswerMessage, Go2RtcIncomingMessage, Go2RtcOutgoingMessage, LightState, MotionState, AudioState, ObjectState, DoorbellState, SirenState, } from '../../../shared/types';
|
|
4
|
+
export { BrowserStreamingSession } from '../../../shared/types';
|
|
4
5
|
export interface ICameraDeviceClient extends CameraDevice {
|
|
5
6
|
refreshStates(): Promise<void>;
|
|
6
7
|
}
|
|
@@ -65,7 +65,7 @@ export declare class CameraController implements CameraDevice {
|
|
|
65
65
|
getFfmpegPath(): Promise<string>;
|
|
66
66
|
getIceServers(): Promise<IceServer[]>;
|
|
67
67
|
createSession(sourceName: string, options?: StreamingConnectionOptions): Promise<StreamingSession>;
|
|
68
|
-
createBrowserSession(): Promise<BrowserStreamingSession>;
|
|
68
|
+
createBrowserSession(sourceName: string, videoElement: HTMLVideoElement): Promise<BrowserStreamingSession>;
|
|
69
69
|
streamVideo(sourceName: string, options: FfmpegOptions): Promise<StreamingSession>;
|
|
70
70
|
recordToFile(sourceName: string, outputPath: string, duration?: number): Promise<void>;
|
|
71
71
|
getValue<T extends keyof StateValues>(stateName: T): StateValues[T];
|
|
@@ -10,7 +10,10 @@ export declare class BrowserPeerConnection extends Subscribed implements BasicBr
|
|
|
10
10
|
private cameraDevice;
|
|
11
11
|
private logger;
|
|
12
12
|
private pc;
|
|
13
|
-
|
|
13
|
+
private videoElement;
|
|
14
|
+
constructor(cameraDevice: CameraDevice, videoElement: HTMLVideoElement, iceServers: IceServer[], logger: BaseLogger);
|
|
15
|
+
enableMicrophone(track: MediaStreamTrack): void;
|
|
16
|
+
disableMicrophone(): void;
|
|
14
17
|
createOffer(): Promise<RTCSessionDescriptionInit>;
|
|
15
18
|
acceptAnswer(answer: {
|
|
16
19
|
type: 'answer';
|
|
@@ -18,5 +21,4 @@ export declare class BrowserPeerConnection extends Subscribed implements BasicBr
|
|
|
18
21
|
}): Promise<void>;
|
|
19
22
|
addIceCandidate(candidate: RTCIceCandidateInit): Promise<void>;
|
|
20
23
|
close(): void;
|
|
21
|
-
private createPeerCoonection;
|
|
22
24
|
}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
import { ReplaySubject } from 'rxjs';
|
|
1
|
+
import { ReplaySubject, Observable } from 'rxjs';
|
|
2
2
|
import { Subscribed } from '../../utils/subscribed';
|
|
3
3
|
import type { BaseLogger, CameraDevice } from '../../types';
|
|
4
4
|
import type { WebrtcBrowserConnection } from './webrtc-browser-connection';
|
|
5
5
|
export declare class BrowserStreamingSession extends Subscribed {
|
|
6
|
+
readonly onCallAnswered: ReplaySubject<void>;
|
|
6
7
|
readonly onCallEnded: ReplaySubject<void>;
|
|
7
|
-
private
|
|
8
|
+
private onUsingOpus;
|
|
9
|
+
private micState;
|
|
8
10
|
private hasEnded;
|
|
9
11
|
private cameraDevice;
|
|
10
12
|
private connection;
|
|
11
13
|
private logger;
|
|
14
|
+
isMicEnabled: Observable<boolean>;
|
|
12
15
|
get isUsingOpus(): Promise<boolean>;
|
|
13
16
|
constructor(cameraDevice: CameraDevice, logger: BaseLogger, connection: WebrtcBrowserConnection);
|
|
17
|
+
enableMicrophone(track: MediaStreamTrack): void;
|
|
18
|
+
disableMicrophone(): void;
|
|
14
19
|
stop(): void;
|
|
20
|
+
private createStateObservable;
|
|
15
21
|
private bindToConnection;
|
|
16
22
|
private callEnded;
|
|
17
23
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ReplaySubject, type Observable } from 'rxjs';
|
|
2
2
|
import { Subscribed } from '../../utils/subscribed';
|
|
3
|
+
import { BrowserPeerConnection } from './browser-peer-connection';
|
|
3
4
|
import type { CameraDevice, BaseLogger } from '../../types';
|
|
4
5
|
import type { IceServer } from '../../../services/config/types';
|
|
5
6
|
export declare class WebrtcBrowserConnection extends Subscribed {
|
|
6
|
-
readonly onCameraConnected: ReplaySubject<void>;
|
|
7
7
|
readonly onCallAnswered: ReplaySubject<string>;
|
|
8
8
|
readonly onCallEnded: ReplaySubject<void>;
|
|
9
9
|
readonly onError: ReplaySubject<void>;
|
|
@@ -11,13 +11,13 @@ export declare class WebrtcBrowserConnection extends Subscribed {
|
|
|
11
11
|
method: string;
|
|
12
12
|
}>;
|
|
13
13
|
readonly onWsOpen: Observable<unknown>;
|
|
14
|
-
|
|
14
|
+
readonly pc: BrowserPeerConnection;
|
|
15
15
|
private readonly ws;
|
|
16
16
|
private readonly onOfferSent;
|
|
17
17
|
private hasEnded;
|
|
18
18
|
private cameraDevice;
|
|
19
19
|
private logger;
|
|
20
|
-
constructor(cameraDevice: CameraDevice, sourceName: string, iceServers: IceServer[], logger: BaseLogger);
|
|
20
|
+
constructor(cameraDevice: CameraDevice, sourceName: string, videoElement: HTMLVideoElement, iceServers: IceServer[], logger: BaseLogger);
|
|
21
21
|
stop(): void;
|
|
22
22
|
private initiateCall;
|
|
23
23
|
private handleMessage;
|
|
@@ -42,6 +42,8 @@ export interface BasicPeerConnection {
|
|
|
42
42
|
requestKeyFrame?: () => void;
|
|
43
43
|
}
|
|
44
44
|
export interface BasicBrowserPeerConnection {
|
|
45
|
+
enableMicrophone(track: MediaStreamTrack): void;
|
|
46
|
+
disableMicrophone(): void;
|
|
45
47
|
createOffer(): Promise<RTCSessionDescriptionInit>;
|
|
46
48
|
acceptAnswer(answer: {
|
|
47
49
|
type: 'answer';
|
|
@@ -94,7 +96,7 @@ export interface CameraDevice {
|
|
|
94
96
|
getIceServers(): Promise<IceServer[]>;
|
|
95
97
|
snapshot(forceNew?: boolean): Promise<ArrayBuffer>;
|
|
96
98
|
createSession(sourceName: string, options?: StreamingConnectionOptions): Promise<StreamingSession>;
|
|
97
|
-
createBrowserSession(sourceName: string): Promise<BrowserStreamingSession>;
|
|
99
|
+
createBrowserSession(sourceName: string, videoElement: HTMLVideoElement): Promise<BrowserStreamingSession>;
|
|
98
100
|
streamVideo(sourceName: string, options: FfmpegOptions): Promise<StreamingSession>;
|
|
99
101
|
recordToFile(sourceName: string, outputPath: string, duration?: number): Promise<void>;
|
|
100
102
|
getValue<T extends keyof StateValues>(stateName: T): StateValue<T>;
|
package/package.json
CHANGED
package/webpack.config.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import path from 'path';
|
|
2
|
-
import webpack, { type Configuration } from 'webpack';
|
|
3
|
-
|
|
4
|
-
const webpackConfiguration: Configuration = {
|
|
5
|
-
mode: 'production',
|
|
6
|
-
entry: '../node/src/index.ts',
|
|
7
|
-
output: {
|
|
8
|
-
path: path.resolve(__dirname, 'dist'),
|
|
9
|
-
filename: 'bundle.js',
|
|
10
|
-
library: {
|
|
11
|
-
name: 'CameraUiClient',
|
|
12
|
-
type: 'umd',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
performance: {
|
|
16
|
-
hints: false,
|
|
17
|
-
maxEntrypointSize: 512000,
|
|
18
|
-
maxAssetSize: 512000,
|
|
19
|
-
},
|
|
20
|
-
optimization: {
|
|
21
|
-
splitChunks: {
|
|
22
|
-
minSize: 10000,
|
|
23
|
-
maxSize: 250000,
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
devtool: false,
|
|
27
|
-
resolve: {
|
|
28
|
-
extensions: ['.ts', '.js'],
|
|
29
|
-
},
|
|
30
|
-
target: 'web',
|
|
31
|
-
module: {
|
|
32
|
-
rules: [
|
|
33
|
-
{
|
|
34
|
-
test: /\.ts$/,
|
|
35
|
-
use: 'ts-loader',
|
|
36
|
-
exclude: /node_modules/,
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
},
|
|
40
|
-
plugins: [new webpack.NormalModuleReplacementPlugin(/cameraDevice\.node/, path.resolve(__dirname, '../node/src/proxy/cameraDevice/cameraDevice.mock.ts'))],
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export default webpackConfiguration;
|