@rivmux/protocol 0.1.0 → 0.2.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 +83 -0
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,32 +1,59 @@
|
|
|
1
|
+
/** Playback behavior applied to the attached video element. */
|
|
1
2
|
export type PlaybackOptions = {
|
|
3
|
+
/** Request playback automatically after the startup buffer is ready. */
|
|
2
4
|
autoPlay?: boolean;
|
|
5
|
+
/** Sets `HTMLVideoElement.muted` before playback starts. */
|
|
3
6
|
muted?: boolean;
|
|
4
7
|
};
|
|
8
|
+
/** Low-latency live playback policy, expressed in seconds. */
|
|
5
9
|
export type LatencyOptions = {
|
|
10
|
+
/** Minimum buffered duration required before automatic playback starts. */
|
|
6
11
|
startupBuffer?: number;
|
|
12
|
+
/** Desired live latency behind the live edge. */
|
|
7
13
|
target?: number;
|
|
14
|
+
/** Maximum live latency before the runtime seeks closer to the live edge. */
|
|
8
15
|
max?: number;
|
|
16
|
+
/** Forward buffer threshold where the stream loader may pause. */
|
|
9
17
|
maxForwardBuffer?: number;
|
|
18
|
+
/** Buffered duration to keep behind the current playhead during cleanup. */
|
|
10
19
|
backwardBuffer?: number;
|
|
11
20
|
};
|
|
21
|
+
/** HTTP request settings for stream loading. */
|
|
12
22
|
export type NetworkOptions = {
|
|
23
|
+
/** Additional request headers sent with stream fetch requests. */
|
|
13
24
|
headers?: Record<string, string>;
|
|
25
|
+
/** Fetch credentials mode used for stream requests. */
|
|
14
26
|
credentials?: RequestCredentials;
|
|
27
|
+
/** Retry policy for recoverable stream request failures. */
|
|
15
28
|
retry?: {
|
|
29
|
+
/** Maximum number of attempts for a stream request. */
|
|
16
30
|
maxAttempts?: number;
|
|
31
|
+
/** Base retry delay in milliseconds. */
|
|
17
32
|
backoffMs?: number;
|
|
18
33
|
};
|
|
19
34
|
};
|
|
35
|
+
/** Runtime asset and worker selection options. */
|
|
20
36
|
export type RuntimeOptions = {
|
|
37
|
+
/** Prefer worker-backed Media Source Extensions when supported. */
|
|
21
38
|
preferWorkerMse?: boolean;
|
|
39
|
+
/** Overrides the worker script URL used by the default runtime. */
|
|
22
40
|
workerUrl?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Overrides the WASM asset URL. The matching wasm-bindgen JS glue file must
|
|
43
|
+
* be available at the same path with `.js` instead of `.wasm`.
|
|
44
|
+
*/
|
|
23
45
|
wasmUrl?: string;
|
|
46
|
+
/** Precompiled WASM module for custom runtime integrations. */
|
|
24
47
|
wasmModule?: WebAssembly.Module;
|
|
25
48
|
};
|
|
49
|
+
/** Diagnostics and debug reporting options. */
|
|
26
50
|
export type DiagnosticsOptions = {
|
|
51
|
+
/** Requested runtime stats interval in milliseconds. */
|
|
27
52
|
statsIntervalMs?: number;
|
|
53
|
+
/** Enables debug-oriented behavior where supported by the runtime. */
|
|
28
54
|
debug?: boolean;
|
|
29
55
|
};
|
|
56
|
+
/** Top-level options accepted by `new RivmuxPlayer(url, options)`. */
|
|
30
57
|
export type RivmuxPlayerOptions = {
|
|
31
58
|
playback?: PlaybackOptions;
|
|
32
59
|
latency?: LatencyOptions;
|
|
@@ -51,6 +78,7 @@ export type NormalizedRuntimeOptions = {
|
|
|
51
78
|
wasmModule?: WebAssembly.Module;
|
|
52
79
|
};
|
|
53
80
|
export type NormalizedDiagnosticsOptions = Required<DiagnosticsOptions>;
|
|
81
|
+
/** Fully populated player options after defaults are applied. */
|
|
54
82
|
export type NormalizedRivmuxPlayerOptions = {
|
|
55
83
|
playback: NormalizedPlaybackOptions;
|
|
56
84
|
latency: NormalizedLatencyOptions;
|
|
@@ -58,37 +86,67 @@ export type NormalizedRivmuxPlayerOptions = {
|
|
|
58
86
|
runtime: NormalizedRuntimeOptions;
|
|
59
87
|
diagnostics: NormalizedDiagnosticsOptions;
|
|
60
88
|
};
|
|
89
|
+
/** Container, codec, and track metadata detected from the stream. */
|
|
61
90
|
export type MediaInfo = {
|
|
91
|
+
/** Detected media container, such as `flv` or `fmp4`. */
|
|
62
92
|
container: string;
|
|
93
|
+
/** Video codec string when the stream contains video. */
|
|
63
94
|
videoCodec?: string;
|
|
95
|
+
/** Audio codec string when the stream contains audio. */
|
|
64
96
|
audioCodec?: string;
|
|
97
|
+
/** Video width in pixels. */
|
|
65
98
|
width?: number;
|
|
99
|
+
/** Video height in pixels. */
|
|
66
100
|
height?: number;
|
|
101
|
+
/** Audio sample rate in Hz. */
|
|
67
102
|
audioSampleRate?: number;
|
|
103
|
+
/** Number of audio channels. */
|
|
68
104
|
audioChannelCount?: number;
|
|
69
105
|
};
|
|
106
|
+
/** Runtime diagnostics emitted by the `stats` event. */
|
|
70
107
|
export type PlayerStats = {
|
|
108
|
+
/** Number of source bytes received from the stream loader. */
|
|
71
109
|
bytesReceived?: number;
|
|
110
|
+
/** Current estimated network speed in bytes per second. */
|
|
72
111
|
currentNetworkSpeed?: number;
|
|
112
|
+
/** Duration since the last network chunk, in milliseconds. */
|
|
73
113
|
networkIdleMs?: number;
|
|
114
|
+
/** Number of transmuxed bytes emitted to MSE. */
|
|
74
115
|
outputBytes?: number;
|
|
116
|
+
/** Number of media segments waiting to be appended. */
|
|
75
117
|
appendQueueLength?: number;
|
|
118
|
+
/** Total bytes waiting in the append queue. */
|
|
76
119
|
appendQueueBytes?: number;
|
|
120
|
+
/** Maximum append queue length observed in the current session. */
|
|
77
121
|
appendQueueMaxLength?: number;
|
|
122
|
+
/** Maximum append queue bytes observed in the current session. */
|
|
78
123
|
appendQueueMaxBytes?: number;
|
|
124
|
+
/** Whether the loader is paused by latency/buffer policy. */
|
|
79
125
|
loaderPaused?: boolean;
|
|
126
|
+
/** Whether any SourceBuffer is currently updating. */
|
|
80
127
|
sourceBufferUpdating?: boolean;
|
|
128
|
+
/** Number of active SourceBuffer instances. */
|
|
81
129
|
sourceBufferCount?: number;
|
|
130
|
+
/** Start time of the buffered range used for latency calculations. */
|
|
82
131
|
bufferedStart?: number;
|
|
132
|
+
/** End time of the buffered range used for latency calculations. */
|
|
83
133
|
bufferedEnd?: number;
|
|
134
|
+
/** Buffered duration ahead of the current playhead. */
|
|
84
135
|
bufferedDuration?: number;
|
|
136
|
+
/** Number of buffered ranges on the attached video element. */
|
|
85
137
|
bufferedRangeCount?: number;
|
|
138
|
+
/** Current video playhead time. */
|
|
86
139
|
currentTime?: number;
|
|
140
|
+
/** Estimated live latency in seconds. */
|
|
87
141
|
liveLatency?: number;
|
|
142
|
+
/** Current video playback rate. */
|
|
88
143
|
playbackRate?: number;
|
|
144
|
+
/** Current `HTMLMediaElement.readyState`. */
|
|
89
145
|
readyState?: number;
|
|
146
|
+
/** Dropped video frame count when the browser exposes it. */
|
|
90
147
|
droppedFrames?: number;
|
|
91
148
|
};
|
|
149
|
+
/** Snapshot of the attached video element sent from the player to the worker. */
|
|
92
150
|
export type VideoElementState = {
|
|
93
151
|
currentTime: number;
|
|
94
152
|
readyState: number;
|
|
@@ -96,6 +154,7 @@ export type VideoElementState = {
|
|
|
96
154
|
paused: boolean;
|
|
97
155
|
droppedFrames?: number;
|
|
98
156
|
};
|
|
157
|
+
/** Playback operation requested by the worker-side latency controller. */
|
|
99
158
|
export type PlaybackControlAction = {
|
|
100
159
|
type: 'play';
|
|
101
160
|
reason: 'startup-buffer-ready';
|
|
@@ -108,35 +167,58 @@ export type PlaybackControlAction = {
|
|
|
108
167
|
targetTime: number;
|
|
109
168
|
reason: 'latency-max-exceeded';
|
|
110
169
|
};
|
|
170
|
+
/** Result of applying a worker-requested playback operation. */
|
|
111
171
|
export type PlaybackControlResult = {
|
|
112
172
|
type: PlaybackControlAction['type'];
|
|
113
173
|
accepted: boolean;
|
|
114
174
|
message?: string;
|
|
115
175
|
};
|
|
176
|
+
/** High-level category for a player error. */
|
|
116
177
|
export type PlayerErrorKind = 'network' | 'unsupported' | 'demux' | 'codec' | 'mux' | 'mse' | 'runtime';
|
|
178
|
+
/** Structured error emitted by the player and runtime. */
|
|
117
179
|
export type PlayerError = {
|
|
180
|
+
/** Broad error category. */
|
|
118
181
|
kind: PlayerErrorKind;
|
|
182
|
+
/** Stable machine-readable error code. */
|
|
119
183
|
code: string;
|
|
184
|
+
/** Human-readable error message. */
|
|
120
185
|
message: string;
|
|
186
|
+
/** Whether playback should be treated as unrecoverable. */
|
|
121
187
|
terminal: boolean;
|
|
188
|
+
/** Optional underlying error or diagnostic payload. */
|
|
122
189
|
cause?: unknown;
|
|
123
190
|
};
|
|
191
|
+
/** Structured recoverable warning emitted by the player and runtime. */
|
|
124
192
|
export type PlayerWarning = {
|
|
193
|
+
/** Stable machine-readable warning code. */
|
|
125
194
|
code: string;
|
|
195
|
+
/** Human-readable warning message. */
|
|
126
196
|
message: string;
|
|
197
|
+
/** Optional underlying warning payload. */
|
|
127
198
|
cause?: unknown;
|
|
128
199
|
};
|
|
200
|
+
/** Payload map for player events. */
|
|
129
201
|
export type PlayerEventMap = {
|
|
202
|
+
/** Worker/runtime initialization completed. */
|
|
130
203
|
ready: undefined;
|
|
204
|
+
/** Stream metadata was detected. */
|
|
131
205
|
mediaInfo: MediaInfo;
|
|
206
|
+
/** Runtime diagnostics were sampled. */
|
|
132
207
|
stats: PlayerStats;
|
|
208
|
+
/** A recoverable runtime warning occurred. */
|
|
133
209
|
warning: PlayerWarning;
|
|
210
|
+
/** A structured runtime error occurred. */
|
|
134
211
|
error: PlayerError;
|
|
212
|
+
/** The stream stopped and the media source was detached. */
|
|
135
213
|
stopped: undefined;
|
|
214
|
+
/** The worker/runtime was destroyed. */
|
|
136
215
|
destroyed: undefined;
|
|
137
216
|
};
|
|
217
|
+
/** Player event name. */
|
|
138
218
|
export type PlayerEventType = keyof PlayerEventMap;
|
|
219
|
+
/** Typed player event listener. */
|
|
139
220
|
export type PlayerEventListener<T extends PlayerEventType> = (payload: PlayerEventMap[T]) => void;
|
|
221
|
+
/** Command sent from the player facade to the runtime worker. */
|
|
140
222
|
export type WorkerCommand = {
|
|
141
223
|
type: 'init';
|
|
142
224
|
id: string;
|
|
@@ -160,6 +242,7 @@ export type WorkerCommand = {
|
|
|
160
242
|
} | {
|
|
161
243
|
type: 'destroy';
|
|
162
244
|
};
|
|
245
|
+
/** Message sent from the runtime worker to the player facade. */
|
|
163
246
|
export type WorkerMessage = {
|
|
164
247
|
type: 'worker-ready';
|
|
165
248
|
} | {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|