janus-simple-videoroom-client 1.0.4 → 2.0.0

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/index.d.ts CHANGED
@@ -1,4 +1,55 @@
1
- import { JanusMediaOptions, JanusMessage, JanusMid, JanusPluginHandle, JanusPublishOptions, JanusSessionOptions, JanusStreamSpec, JanusSubscriberConfigureOptions, JanusWatchOptions, Jsep } from "./janus";
1
+ import Janus from "janus-gateway";
2
+ export { Janus };
3
+ type JanusSessionOptions = ConstructorParameters<typeof Janus>[0];
4
+ type JanusPluginOptions = Parameters<Janus["attach"]>[0];
5
+ type JanusPluginHandle = Parameters<NonNullable<JanusPluginOptions["success"]>>[0];
6
+ type JanusMid = unknown;
7
+ type JanusOfferParams = Parameters<JanusPluginHandle["createOffer"]>[0];
8
+ type JanusTrackOption = NonNullable<JanusOfferParams["tracks"]>[number];
9
+ type Jsep = Parameters<NonNullable<JanusOfferParams["success"]>>[0];
10
+ interface JanusMessage {
11
+ [key: string]: any;
12
+ }
13
+ interface JanusMediaOptions {
14
+ tracks?: JanusTrackOption[];
15
+ trickle?: boolean;
16
+ stream?: MediaStream;
17
+ customizeSdp?: (jsep: Jsep) => void;
18
+ customizeRemoteSdp?: (jsep: Jsep) => void;
19
+ }
20
+ interface JanusStreamSpec {
21
+ feed: unknown;
22
+ mid?: JanusMid;
23
+ }
24
+ interface JanusWatchOptions {
25
+ pin?: string;
26
+ media?: string[];
27
+ }
28
+ interface JanusPublishOptions {
29
+ audiocodec?: string;
30
+ videocodec?: string;
31
+ bitrate?: number;
32
+ record?: boolean;
33
+ filename?: string;
34
+ display?: string;
35
+ audio_level_average?: number;
36
+ audio_active_packets?: number;
37
+ descriptions?: {
38
+ mid: JanusMid;
39
+ description: string;
40
+ }[];
41
+ }
42
+ interface JanusSubscriberConfigureOptions {
43
+ mid?: JanusMid;
44
+ send?: boolean;
45
+ substream?: number;
46
+ temporal?: number;
47
+ fallback?: number;
48
+ spatial_layer?: number;
49
+ temporal_layer?: number;
50
+ audio_level_average?: number;
51
+ audio_active_packets?: number;
52
+ }
2
53
  export interface VideoRoomClient {
3
54
  createSession(server: string | string[], options?: JanusSessionOptions): Promise<VideoRoomSession>;
4
55
  }
@@ -66,24 +117,27 @@ export interface StreamingSubscriber {
66
117
  }
67
118
  export interface JanusPluginHandleEx extends JanusPluginHandle {
68
119
  eventTarget: ReturnType<typeof makeEventTarget>;
69
- sendRequest(message: JanusMessage): Promise<JanusMessage>;
120
+ sendRequest(message: JanusMessage & {
121
+ request: string;
122
+ }): Promise<JanusMessage>;
70
123
  sendAsyncRequest(options: {
71
- message: JanusMessage;
124
+ message: JanusMessage & {
125
+ request: string;
126
+ };
72
127
  jsep?: Jsep;
73
128
  expectResponse: (response: AsyncResponse) => boolean;
74
129
  }): Promise<AsyncResponse>;
130
+ handleRemoteJsep(params: Parameters<JanusPluginHandle["handleRemoteJsep"]>[0] & {
131
+ customizeSdp?: (jsep: Jsep) => void;
132
+ }): void;
75
133
  }
76
134
  interface AsyncResponse {
77
135
  message: JanusMessage;
78
136
  jsep?: Jsep;
79
137
  }
80
- export declare function createVideoRoomClient(options?: {
81
- debug?: boolean | string[];
82
- dependencies?: unknown;
83
- }): Promise<VideoRoomClient>;
138
+ export declare function createVideoRoomClient(options?: Parameters<typeof Janus.init>[0]): Promise<VideoRoomClient>;
84
139
  declare function makeEventTarget(): {
85
140
  addEventListener(name: string, callback: (event: CustomEvent) => void): void;
86
141
  removeEventListener(name: string, callback: (event: CustomEvent) => void): void;
87
142
  dispatchEvent(event: Event): void;
88
143
  };
89
- export {};