@camstack/types 0.1.34 → 0.1.36
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/capabilities/addon-widgets-source.cap.d.ts +73 -5
- package/dist/capabilities/addon-widgets-source.cap.d.ts.map +1 -1
- package/dist/capabilities/addon-widgets.cap.d.ts +22 -4
- package/dist/capabilities/addon-widgets.cap.d.ts.map +1 -1
- package/dist/capabilities/addons.cap.d.ts +21 -0
- package/dist/capabilities/addons.cap.d.ts.map +1 -1
- package/dist/capabilities/audio-analysis.cap.d.ts +7 -4
- package/dist/capabilities/audio-analysis.cap.d.ts.map +1 -1
- package/dist/capabilities/camera-streams.cap.d.ts +7 -5
- package/dist/capabilities/camera-streams.cap.d.ts.map +1 -1
- package/dist/capabilities/capability-definition.d.ts +114 -0
- package/dist/capabilities/capability-definition.d.ts.map +1 -1
- package/dist/capabilities/decoder.cap.d.ts +90 -0
- package/dist/capabilities/decoder.cap.d.ts.map +1 -1
- package/dist/capabilities/detection-pipeline.cap.d.ts +6 -4
- package/dist/capabilities/detection-pipeline.cap.d.ts.map +1 -1
- package/dist/capabilities/device-manager.cap.d.ts +3 -3
- package/dist/capabilities/device-ops.cap.d.ts +1 -1
- package/dist/capabilities/index.d.ts +20 -20
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/local-network.cap.d.ts +5 -5
- package/dist/capabilities/mesh-network.cap.d.ts +4 -2
- package/dist/capabilities/mesh-network.cap.d.ts.map +1 -1
- package/dist/capabilities/motion-detection.cap.d.ts +2 -0
- package/dist/capabilities/motion-detection.cap.d.ts.map +1 -1
- package/dist/capabilities/motion-zones.cap.d.ts +83 -0
- package/dist/capabilities/motion-zones.cap.d.ts.map +1 -0
- package/dist/capabilities/network-access.cap.d.ts +5 -4
- package/dist/capabilities/network-access.cap.d.ts.map +1 -1
- package/dist/capabilities/nodes.cap.d.ts +9 -0
- package/dist/capabilities/nodes.cap.d.ts.map +1 -1
- package/dist/capabilities/oauth-integration.cap.d.ts +103 -0
- package/dist/capabilities/oauth-integration.cap.d.ts.map +1 -0
- package/dist/capabilities/pipeline-analytics.cap.d.ts +2 -0
- package/dist/capabilities/pipeline-analytics.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz-autotrack.cap.d.ts +10 -0
- package/dist/capabilities/ptz-autotrack.cap.d.ts.map +1 -1
- package/dist/capabilities/ptz.cap.d.ts +57 -1
- package/dist/capabilities/ptz.cap.d.ts.map +1 -1
- package/dist/capabilities/schemas/streaming-shared.d.ts +110 -3
- package/dist/capabilities/schemas/streaming-shared.d.ts.map +1 -1
- package/dist/capabilities/snapshot.cap.d.ts +2 -0
- package/dist/capabilities/snapshot.cap.d.ts.map +1 -1
- package/dist/capabilities/sso-bridge.cap.d.ts +120 -0
- package/dist/capabilities/sso-bridge.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-broker.cap.d.ts +97 -4
- package/dist/capabilities/stream-broker.cap.d.ts.map +1 -1
- package/dist/capabilities/stream-params-config-schema.d.ts +56 -0
- package/dist/capabilities/stream-params-config-schema.d.ts.map +1 -0
- package/dist/capabilities/stream-params.cap.d.ts +482 -0
- package/dist/capabilities/stream-params.cap.d.ts.map +1 -0
- package/dist/capabilities/user-management.cap.d.ts +198 -1
- package/dist/capabilities/user-management.cap.d.ts.map +1 -1
- package/dist/capabilities/webrtc-session.cap.d.ts +2 -0
- package/dist/capabilities/webrtc-session.cap.d.ts.map +1 -1
- package/dist/generated/addon-api.d.ts +1396 -544
- package/dist/generated/addon-api.d.ts.map +1 -1
- package/dist/generated/cap-status-types.d.ts +7 -3
- package/dist/generated/cap-status-types.d.ts.map +1 -1
- package/dist/generated/capability-router-map.d.ts +13 -16
- package/dist/generated/capability-router-map.d.ts.map +1 -1
- package/dist/generated/device-local-state.d.ts +6 -0
- package/dist/generated/device-local-state.d.ts.map +1 -1
- package/dist/generated/device-proxy.d.ts +6 -0
- package/dist/generated/device-proxy.d.ts.map +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts.map +1 -1
- package/dist/generated/system-proxy.d.ts +7 -13
- package/dist/generated/system-proxy.d.ts.map +1 -1
- package/dist/{index-DS7418lf.js → index-BblD92Si.js} +630 -349
- package/dist/index-BblD92Si.js.map +1 -0
- package/dist/{index-Ce7RZWP4.mjs → index-CgPd35k5.mjs} +957 -676
- package/dist/index-CgPd35k5.mjs.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +325 -75
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +597 -347
- package/dist/index.mjs.map +1 -1
- package/dist/interfaces/addon.d.ts +123 -29
- package/dist/interfaces/addon.d.ts.map +1 -1
- package/dist/interfaces/capability.d.ts +7 -29
- package/dist/interfaces/capability.d.ts.map +1 -1
- package/dist/interfaces/config-ui.d.ts +4 -101
- package/dist/interfaces/config-ui.d.ts.map +1 -1
- package/dist/interfaces/decoder.d.ts +12 -0
- package/dist/interfaces/decoder.d.ts.map +1 -1
- package/dist/interfaces/device-provider.d.ts +0 -4
- package/dist/interfaces/device-provider.d.ts.map +1 -1
- package/dist/interfaces/event-bus.d.ts +15 -0
- package/dist/interfaces/event-bus.d.ts.map +1 -1
- package/dist/interfaces/frame-handle.d.ts +40 -0
- package/dist/interfaces/frame-handle.d.ts.map +1 -0
- package/dist/interfaces/kernel-abstractions.d.ts +6 -0
- package/dist/interfaces/kernel-abstractions.d.ts.map +1 -1
- package/dist/interfaces/server-network.d.ts +8 -33
- package/dist/interfaces/server-network.d.ts.map +1 -1
- package/dist/interfaces/stream-broker.d.ts +40 -21
- package/dist/interfaces/stream-broker.d.ts.map +1 -1
- package/dist/node.js +1 -1
- package/dist/node.mjs +1 -1
- package/package.json +1 -1
- package/dist/capabilities/authentication.cap.d.ts +0 -73
- package/dist/capabilities/authentication.cap.d.ts.map +0 -1
- package/dist/capabilities/mesh-orchestrator.cap.d.ts +0 -151
- package/dist/capabilities/mesh-orchestrator.cap.d.ts.map +0 -1
- package/dist/capabilities/remote-access.cap.d.ts +0 -91
- package/dist/capabilities/remote-access.cap.d.ts.map +0 -1
- package/dist/capabilities/turn-orchestrator.cap.d.ts +0 -64
- package/dist/capabilities/turn-orchestrator.cap.d.ts.map +0 -1
- package/dist/index-Ce7RZWP4.mjs.map +0 -1
- package/dist/index-DS7418lf.js.map +0 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { type InferProvider } from './capability-definition.js';
|
|
3
|
-
import type { IStreamBroker } from '../interfaces/stream-broker.js';
|
|
4
3
|
declare const RtspRestreamEntrySchema: z.ZodObject<{
|
|
5
4
|
brokerId: z.ZodString;
|
|
6
5
|
url: z.ZodString;
|
|
@@ -205,9 +204,9 @@ export declare const streamBrokerCapability: {
|
|
|
205
204
|
status: z.ZodEnum<{
|
|
206
205
|
error: "error";
|
|
207
206
|
streaming: "streaming";
|
|
207
|
+
unassigned: "unassigned";
|
|
208
208
|
idle: "idle";
|
|
209
209
|
connecting: "connecting";
|
|
210
|
-
unassigned: "unassigned";
|
|
211
210
|
}>;
|
|
212
211
|
resolution: z.ZodOptional<z.ZodObject<{
|
|
213
212
|
width: z.ZodNumber;
|
|
@@ -352,9 +351,103 @@ export declare const streamBrokerCapability: {
|
|
|
352
351
|
released: z.ZodBoolean;
|
|
353
352
|
refcount: z.ZodNumber;
|
|
354
353
|
}, z.core.$strip>, "mutation">;
|
|
355
|
-
|
|
354
|
+
/**
|
|
355
|
+
* ── Decoded audio-chunk plane (Phase 5 / D9) ──────────────────────
|
|
356
|
+
*
|
|
357
|
+
* The serialisable replacement for the live-object `IStreamBroker.
|
|
358
|
+
* onDecodedAudioChunk` callback path. Unlike the video frame plane,
|
|
359
|
+
* audio chunks are tiny (a ~500ms PCM window is a few KB) so they ship
|
|
360
|
+
* their bytes INLINE over tRPC — no shared-memory ring. A consumer:
|
|
361
|
+
*
|
|
362
|
+
* 1. `subscribeAudioChunks({ brokerId, tag })` — the broker registers
|
|
363
|
+
* a per-subscription bounded FIFO queue and returns a
|
|
364
|
+
* `subscriptionId`.
|
|
365
|
+
* 2. polls `pullAudioChunks({ subscriptionId, maxCount })` — drains
|
|
366
|
+
* `DecodedAudioChunk[]` in arrival order (FIFO, no latest-wins
|
|
367
|
+
* drop: an audio gap is audible / breaks an analysis window). The
|
|
368
|
+
* queue is generously sized; it only drops its oldest chunk if a
|
|
369
|
+
* truly stalled consumer lets it overflow.
|
|
370
|
+
* 3. `unsubscribeAudioChunks({ subscriptionId })` on teardown.
|
|
371
|
+
*/
|
|
372
|
+
readonly subscribeAudioChunks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
356
373
|
brokerId: z.ZodString;
|
|
357
|
-
|
|
374
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
375
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
376
|
+
subscriptionId: z.ZodString;
|
|
377
|
+
}, z.core.$strip>, "mutation">;
|
|
378
|
+
readonly pullAudioChunks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
379
|
+
subscriptionId: z.ZodString;
|
|
380
|
+
maxCount: z.ZodDefault<z.ZodNumber>;
|
|
381
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
382
|
+
data: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
|
|
383
|
+
sampleRate: z.ZodNumber;
|
|
384
|
+
channels: z.ZodNumber;
|
|
385
|
+
timestamp: z.ZodNumber;
|
|
386
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
387
|
+
readonly unsubscribeAudioChunks: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
388
|
+
subscriptionId: z.ZodString;
|
|
389
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
390
|
+
released: z.ZodBoolean;
|
|
391
|
+
}, z.core.$strip>, "mutation">;
|
|
392
|
+
/**
|
|
393
|
+
* ── Shared-memory frame plane (Phase 5 / D9) ──────────────────────
|
|
394
|
+
*
|
|
395
|
+
* The handle-based replacement for the live-object `IStreamBroker.
|
|
396
|
+
* onDecodedFrame` callback path. A consumer:
|
|
397
|
+
*
|
|
398
|
+
* 1. `subscribeFrames({ brokerId, format })` — the broker spins up
|
|
399
|
+
* (or reuses) a `frameSink: 'shm'` decoder session producing that
|
|
400
|
+
* `format` and returns a `subscriptionId`.
|
|
401
|
+
* 2. polls `pullFrameHandles({ subscriptionId, maxCount })` — drains
|
|
402
|
+
* zero-pixel `FrameHandle[]`; each handle is fed to a
|
|
403
|
+
* `FrameRingReader` that opens the named shm segment and reads the
|
|
404
|
+
* pixels back zero-copy.
|
|
405
|
+
* 3. `unsubscribeFrames({ subscriptionId })` on teardown.
|
|
406
|
+
*
|
|
407
|
+
* The broker keeps one shm ring per `(brokerId, format)` actually
|
|
408
|
+
* requested — no broker-side `sharp` conversion. fps throttling is
|
|
409
|
+
* implicit (latest-wins ring reads drop frames for a slow consumer).
|
|
410
|
+
*/
|
|
411
|
+
readonly subscribeFrames: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
412
|
+
brokerId: z.ZodString;
|
|
413
|
+
format: z.ZodEnum<{
|
|
414
|
+
rgb: "rgb";
|
|
415
|
+
bgr: "bgr";
|
|
416
|
+
yuv420: "yuv420";
|
|
417
|
+
gray: "gray";
|
|
418
|
+
}>;
|
|
419
|
+
maxFps: z.ZodOptional<z.ZodNumber>;
|
|
420
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
421
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
422
|
+
subscriptionId: z.ZodString;
|
|
423
|
+
maxFps: z.ZodNumber;
|
|
424
|
+
}, z.core.$strip>, "mutation">;
|
|
425
|
+
readonly pullFrameHandles: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
426
|
+
subscriptionId: z.ZodString;
|
|
427
|
+
maxCount: z.ZodDefault<z.ZodNumber>;
|
|
428
|
+
}, z.core.$strip>, z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
429
|
+
shmId: z.ZodString;
|
|
430
|
+
slot: z.ZodNumber;
|
|
431
|
+
seq: z.ZodNumber;
|
|
432
|
+
width: z.ZodNumber;
|
|
433
|
+
height: z.ZodNumber;
|
|
434
|
+
format: z.ZodEnum<{
|
|
435
|
+
jpeg: "jpeg";
|
|
436
|
+
rgb: "rgb";
|
|
437
|
+
bgr: "bgr";
|
|
438
|
+
yuv420: "yuv420";
|
|
439
|
+
gray: "gray";
|
|
440
|
+
}>;
|
|
441
|
+
pts: z.ZodNumber;
|
|
442
|
+
byteLength: z.ZodNumber;
|
|
443
|
+
nodeId: z.ZodString;
|
|
444
|
+
slotCount: z.ZodNumber;
|
|
445
|
+
}, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
446
|
+
readonly unsubscribeFrames: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
447
|
+
subscriptionId: z.ZodString;
|
|
448
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
449
|
+
released: z.ZodBoolean;
|
|
450
|
+
}, z.core.$strip>, "mutation">;
|
|
358
451
|
readonly setPreBufferDuration: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
359
452
|
brokerId: z.ZodString;
|
|
360
453
|
seconds: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-broker.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/stream-broker.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"stream-broker.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/stream-broker.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAA4C,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAUzG,QAAA,MAAM,uBAAuB;;;;;iBAK3B,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;iBAMpC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;iBAM9B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AACvE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAIvE,QAAA,MAAM,sBAAsB;;;;EAAmC,CAAA;AAC/D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,QAAA,MAAM,sBAAsB;;;;;EAA0C,CAAA;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAOrE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;iBAMxC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEnF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;iBAQ1B,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAqF/B;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAWH;;;;;;;;;;;;;;;;;WAiBG;;;;;;;;;;;;;;;;;;;;;QAkBH;;;;;;;;;;;;;;;;;;WAkBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEkC,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAEhF,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* stream-params — server-side `ConfigUISchema` builder.
|
|
3
|
+
*
|
|
4
|
+
* Pure schema-shaping helper: turns the camera-probed `StreamParamsOptions`
|
|
5
|
+
* (availability descriptor) + the current `StreamParamsStatus` (per-profile
|
|
6
|
+
* config) into a `ConfigUISchema` the admin-ui `ConfigFormBuilder` renders
|
|
7
|
+
* directly — one section per profile (main / sub / ext) with resolution,
|
|
8
|
+
* codec, framerate, bitrate, bitrate-mode, encoder-profile and GOP controls.
|
|
9
|
+
*
|
|
10
|
+
* This is the server-side home of the logic that the bespoke
|
|
11
|
+
* `StreamParamsSettings` cap-settings composite used to run client-side
|
|
12
|
+
* (`buildProfileSection`). Both the Reolink and Hikvision `stream-params`
|
|
13
|
+
* providers call `buildStreamParamsConfigSchema` from their
|
|
14
|
+
* `getConfigSchema` cap method so the two cameras emit a structurally
|
|
15
|
+
* identical form. No addon dependencies — only `@camstack/types` shapes —
|
|
16
|
+
* so it lives in `@camstack/types` and is shared without a cross-addon
|
|
17
|
+
* import.
|
|
18
|
+
*
|
|
19
|
+
* The form field keys follow the `stream<Profile>_<prop>` convention
|
|
20
|
+
* (`streamMain_resolution`, `streamSub_codec`, …) so a flat form patch can
|
|
21
|
+
* be re-split per profile on save by `parseStreamParamsFormPatch`.
|
|
22
|
+
*/
|
|
23
|
+
import type { ConfigUISchema } from '../interfaces/config-ui.js';
|
|
24
|
+
import type { StreamParamsOptions, StreamParamsStatus, StreamProfile, StreamProfilePatch } from './stream-params.cap.js';
|
|
25
|
+
/** Layout metadata for one of the camera's stream profiles. */
|
|
26
|
+
export interface StreamProfileMeta {
|
|
27
|
+
readonly profile: StreamProfile;
|
|
28
|
+
/** Form-field key prefix (`streamMain`, `streamSub`, `streamExt`). */
|
|
29
|
+
readonly prefix: string;
|
|
30
|
+
/** Human-facing section title. */
|
|
31
|
+
readonly label: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The three well-known stream profiles in render order. Exported so the
|
|
35
|
+
* providers and the save-path parser share one definition.
|
|
36
|
+
*/
|
|
37
|
+
export declare const STREAM_PROFILE_META: readonly StreamProfileMeta[];
|
|
38
|
+
/**
|
|
39
|
+
* Build the full `stream-params` `ConfigUISchema` from the camera-probed
|
|
40
|
+
* options + current per-profile config. Returns `null` when no profile
|
|
41
|
+
* exposes a configurable property — the cap then reports "no schema" and
|
|
42
|
+
* the renderer shows the unsupported-camera message.
|
|
43
|
+
*
|
|
44
|
+
* `default` on each field is seeded from the current config so the
|
|
45
|
+
* `ConfigFormBuilder` (which reads `value ?? default`) renders the live
|
|
46
|
+
* camera state without a separate `values` map.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildStreamParamsConfigSchema(options: StreamParamsOptions, status: StreamParamsStatus | null): ConfigUISchema | null;
|
|
49
|
+
/**
|
|
50
|
+
* Re-split a flat `ConfigFormBuilder` patch into a `StreamProfilePatch`
|
|
51
|
+
* for one profile. Returns `null` when no field for the profile changed.
|
|
52
|
+
* Select fields arrive as strings — coerced here. Mirrors the save path
|
|
53
|
+
* the bespoke `StreamParamsSettings` composite used.
|
|
54
|
+
*/
|
|
55
|
+
export declare function parseStreamParamsFormPatch(patch: Record<string, unknown>, prefix: string): StreamProfilePatch | null;
|
|
56
|
+
//# sourceMappingURL=stream-params-config-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-params-config-schema.d.ts","sourceRoot":"","sources":["../../src/capabilities/stream-params-config-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAA8B,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAExH,+DAA+D;AAC/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EAIlD,CAAA;AAoKV;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAChC,cAAc,GAAG,IAAI,CAUvB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,GACb,kBAAkB,GAAG,IAAI,CA6C3B"}
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type InferNativeProvider } from './capability-definition.js';
|
|
3
|
+
import { DeviceType } from '../device/device-type.js';
|
|
4
|
+
/** One of the camera's stream profiles. */
|
|
5
|
+
export declare const StreamProfileSchema: z.ZodEnum<{
|
|
6
|
+
sub: "sub";
|
|
7
|
+
main: "main";
|
|
8
|
+
ext: "ext";
|
|
9
|
+
}>;
|
|
10
|
+
/** The current encoding config of one stream profile. */
|
|
11
|
+
declare const StreamProfileConfigSchema: z.ZodObject<{
|
|
12
|
+
width: z.ZodNumber;
|
|
13
|
+
height: z.ZodNumber;
|
|
14
|
+
codec: z.ZodEnum<{
|
|
15
|
+
h264: "h264";
|
|
16
|
+
h265: "h265";
|
|
17
|
+
}>;
|
|
18
|
+
framerate: z.ZodNumber;
|
|
19
|
+
bitrate: z.ZodNumber;
|
|
20
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
21
|
+
vbr: "vbr";
|
|
22
|
+
cbr: "cbr";
|
|
23
|
+
}>>;
|
|
24
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
high: "high";
|
|
26
|
+
main: "main";
|
|
27
|
+
baseline: "baseline";
|
|
28
|
+
}>>;
|
|
29
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export declare const StreamParamsStatusSchema: z.ZodObject<{
|
|
33
|
+
main: z.ZodOptional<z.ZodObject<{
|
|
34
|
+
width: z.ZodNumber;
|
|
35
|
+
height: z.ZodNumber;
|
|
36
|
+
codec: z.ZodEnum<{
|
|
37
|
+
h264: "h264";
|
|
38
|
+
h265: "h265";
|
|
39
|
+
}>;
|
|
40
|
+
framerate: z.ZodNumber;
|
|
41
|
+
bitrate: z.ZodNumber;
|
|
42
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
43
|
+
vbr: "vbr";
|
|
44
|
+
cbr: "cbr";
|
|
45
|
+
}>>;
|
|
46
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
47
|
+
high: "high";
|
|
48
|
+
main: "main";
|
|
49
|
+
baseline: "baseline";
|
|
50
|
+
}>>;
|
|
51
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
sub: z.ZodOptional<z.ZodObject<{
|
|
55
|
+
width: z.ZodNumber;
|
|
56
|
+
height: z.ZodNumber;
|
|
57
|
+
codec: z.ZodEnum<{
|
|
58
|
+
h264: "h264";
|
|
59
|
+
h265: "h265";
|
|
60
|
+
}>;
|
|
61
|
+
framerate: z.ZodNumber;
|
|
62
|
+
bitrate: z.ZodNumber;
|
|
63
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
64
|
+
vbr: "vbr";
|
|
65
|
+
cbr: "cbr";
|
|
66
|
+
}>>;
|
|
67
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
68
|
+
high: "high";
|
|
69
|
+
main: "main";
|
|
70
|
+
baseline: "baseline";
|
|
71
|
+
}>>;
|
|
72
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
ext: z.ZodOptional<z.ZodObject<{
|
|
76
|
+
width: z.ZodNumber;
|
|
77
|
+
height: z.ZodNumber;
|
|
78
|
+
codec: z.ZodEnum<{
|
|
79
|
+
h264: "h264";
|
|
80
|
+
h265: "h265";
|
|
81
|
+
}>;
|
|
82
|
+
framerate: z.ZodNumber;
|
|
83
|
+
bitrate: z.ZodNumber;
|
|
84
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
85
|
+
vbr: "vbr";
|
|
86
|
+
cbr: "cbr";
|
|
87
|
+
}>>;
|
|
88
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
89
|
+
high: "high";
|
|
90
|
+
main: "main";
|
|
91
|
+
baseline: "baseline";
|
|
92
|
+
}>>;
|
|
93
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
94
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
95
|
+
}, z.core.$strip>>;
|
|
96
|
+
lastFetchedAt: z.ZodNumber;
|
|
97
|
+
}, z.core.$strip>;
|
|
98
|
+
/** What a profile CAN be set to — drives the UI selectors. */
|
|
99
|
+
declare const StreamProfileOptionsSchema: z.ZodObject<{
|
|
100
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
101
|
+
width: z.ZodNumber;
|
|
102
|
+
height: z.ZodNumber;
|
|
103
|
+
}, z.core.$strip>>;
|
|
104
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
105
|
+
h264: "h264";
|
|
106
|
+
h265: "h265";
|
|
107
|
+
}>>;
|
|
108
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
109
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
110
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
111
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
112
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
113
|
+
supportsGop: z.ZodBoolean;
|
|
114
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
115
|
+
min: z.ZodNumber;
|
|
116
|
+
max: z.ZodNumber;
|
|
117
|
+
step: z.ZodNumber;
|
|
118
|
+
}, z.core.$strip>>;
|
|
119
|
+
}, z.core.$strip>;
|
|
120
|
+
export declare const StreamParamsOptionsSchema: z.ZodObject<{
|
|
121
|
+
main: z.ZodOptional<z.ZodObject<{
|
|
122
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
123
|
+
width: z.ZodNumber;
|
|
124
|
+
height: z.ZodNumber;
|
|
125
|
+
}, z.core.$strip>>;
|
|
126
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
127
|
+
h264: "h264";
|
|
128
|
+
h265: "h265";
|
|
129
|
+
}>>;
|
|
130
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
131
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
132
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
133
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
134
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
135
|
+
supportsGop: z.ZodBoolean;
|
|
136
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
137
|
+
min: z.ZodNumber;
|
|
138
|
+
max: z.ZodNumber;
|
|
139
|
+
step: z.ZodNumber;
|
|
140
|
+
}, z.core.$strip>>;
|
|
141
|
+
}, z.core.$strip>>;
|
|
142
|
+
sub: z.ZodOptional<z.ZodObject<{
|
|
143
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
144
|
+
width: z.ZodNumber;
|
|
145
|
+
height: z.ZodNumber;
|
|
146
|
+
}, z.core.$strip>>;
|
|
147
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
148
|
+
h264: "h264";
|
|
149
|
+
h265: "h265";
|
|
150
|
+
}>>;
|
|
151
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
152
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
153
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
154
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
155
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
156
|
+
supportsGop: z.ZodBoolean;
|
|
157
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
158
|
+
min: z.ZodNumber;
|
|
159
|
+
max: z.ZodNumber;
|
|
160
|
+
step: z.ZodNumber;
|
|
161
|
+
}, z.core.$strip>>;
|
|
162
|
+
}, z.core.$strip>>;
|
|
163
|
+
ext: z.ZodOptional<z.ZodObject<{
|
|
164
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
165
|
+
width: z.ZodNumber;
|
|
166
|
+
height: z.ZodNumber;
|
|
167
|
+
}, z.core.$strip>>;
|
|
168
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
169
|
+
h264: "h264";
|
|
170
|
+
h265: "h265";
|
|
171
|
+
}>>;
|
|
172
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
173
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
174
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
175
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
176
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
177
|
+
supportsGop: z.ZodBoolean;
|
|
178
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
179
|
+
min: z.ZodNumber;
|
|
180
|
+
max: z.ZodNumber;
|
|
181
|
+
step: z.ZodNumber;
|
|
182
|
+
}, z.core.$strip>>;
|
|
183
|
+
}, z.core.$strip>>;
|
|
184
|
+
}, z.core.$strip>;
|
|
185
|
+
/** A partial change to one profile — every field optional; a provider
|
|
186
|
+
* ignores fields it doesn't support. */
|
|
187
|
+
export declare const StreamProfilePatchSchema: z.ZodObject<{
|
|
188
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
189
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
190
|
+
codec: z.ZodOptional<z.ZodEnum<{
|
|
191
|
+
h264: "h264";
|
|
192
|
+
h265: "h265";
|
|
193
|
+
}>>;
|
|
194
|
+
framerate: z.ZodOptional<z.ZodNumber>;
|
|
195
|
+
bitrate: z.ZodOptional<z.ZodNumber>;
|
|
196
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
197
|
+
vbr: "vbr";
|
|
198
|
+
cbr: "cbr";
|
|
199
|
+
}>>;
|
|
200
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
201
|
+
high: "high";
|
|
202
|
+
main: "main";
|
|
203
|
+
baseline: "baseline";
|
|
204
|
+
}>>;
|
|
205
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
206
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
207
|
+
}, z.core.$strip>;
|
|
208
|
+
export type StreamParamsStatus = z.infer<typeof StreamParamsStatusSchema>;
|
|
209
|
+
export type StreamParamsOptions = z.infer<typeof StreamParamsOptionsSchema>;
|
|
210
|
+
export type StreamProfile = z.infer<typeof StreamProfileSchema>;
|
|
211
|
+
export type StreamProfilePatch = z.infer<typeof StreamProfilePatchSchema>;
|
|
212
|
+
export declare const streamParamsCapability: {
|
|
213
|
+
readonly name: "stream-params";
|
|
214
|
+
readonly scope: "device";
|
|
215
|
+
readonly mode: "singleton";
|
|
216
|
+
readonly deviceTypes: readonly [DeviceType.Camera];
|
|
217
|
+
readonly deviceConfig: {
|
|
218
|
+
readonly ui: {
|
|
219
|
+
readonly kind: "derived-form";
|
|
220
|
+
readonly builderId: "stream-params";
|
|
221
|
+
readonly tab: "streaming";
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
readonly methods: {
|
|
225
|
+
readonly getOptions: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
226
|
+
deviceId: z.ZodNumber;
|
|
227
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
228
|
+
main: z.ZodOptional<z.ZodObject<{
|
|
229
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
230
|
+
width: z.ZodNumber;
|
|
231
|
+
height: z.ZodNumber;
|
|
232
|
+
}, z.core.$strip>>;
|
|
233
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
234
|
+
h264: "h264";
|
|
235
|
+
h265: "h265";
|
|
236
|
+
}>>;
|
|
237
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
238
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
239
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
240
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
241
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
242
|
+
supportsGop: z.ZodBoolean;
|
|
243
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
244
|
+
min: z.ZodNumber;
|
|
245
|
+
max: z.ZodNumber;
|
|
246
|
+
step: z.ZodNumber;
|
|
247
|
+
}, z.core.$strip>>;
|
|
248
|
+
}, z.core.$strip>>;
|
|
249
|
+
sub: z.ZodOptional<z.ZodObject<{
|
|
250
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
251
|
+
width: z.ZodNumber;
|
|
252
|
+
height: z.ZodNumber;
|
|
253
|
+
}, z.core.$strip>>;
|
|
254
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
255
|
+
h264: "h264";
|
|
256
|
+
h265: "h265";
|
|
257
|
+
}>>;
|
|
258
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
259
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
260
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
261
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
262
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
263
|
+
supportsGop: z.ZodBoolean;
|
|
264
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
265
|
+
min: z.ZodNumber;
|
|
266
|
+
max: z.ZodNumber;
|
|
267
|
+
step: z.ZodNumber;
|
|
268
|
+
}, z.core.$strip>>;
|
|
269
|
+
}, z.core.$strip>>;
|
|
270
|
+
ext: z.ZodOptional<z.ZodObject<{
|
|
271
|
+
resolutions: z.ZodArray<z.ZodObject<{
|
|
272
|
+
width: z.ZodNumber;
|
|
273
|
+
height: z.ZodNumber;
|
|
274
|
+
}, z.core.$strip>>;
|
|
275
|
+
codecs: z.ZodArray<z.ZodEnum<{
|
|
276
|
+
h264: "h264";
|
|
277
|
+
h265: "h265";
|
|
278
|
+
}>>;
|
|
279
|
+
framerates: z.ZodArray<z.ZodNumber>;
|
|
280
|
+
bitrates: z.ZodArray<z.ZodNumber>;
|
|
281
|
+
bitrateRange: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
282
|
+
supportsBitrateMode: z.ZodBoolean;
|
|
283
|
+
supportsEncoderProfile: z.ZodBoolean;
|
|
284
|
+
supportsGop: z.ZodBoolean;
|
|
285
|
+
gop: z.ZodOptional<z.ZodObject<{
|
|
286
|
+
min: z.ZodNumber;
|
|
287
|
+
max: z.ZodNumber;
|
|
288
|
+
step: z.ZodNumber;
|
|
289
|
+
}, z.core.$strip>>;
|
|
290
|
+
}, z.core.$strip>>;
|
|
291
|
+
}, z.core.$strip>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
292
|
+
readonly setProfile: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
293
|
+
deviceId: z.ZodNumber;
|
|
294
|
+
profile: z.ZodEnum<{
|
|
295
|
+
sub: "sub";
|
|
296
|
+
main: "main";
|
|
297
|
+
ext: "ext";
|
|
298
|
+
}>;
|
|
299
|
+
patch: z.ZodObject<{
|
|
300
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
301
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
302
|
+
codec: z.ZodOptional<z.ZodEnum<{
|
|
303
|
+
h264: "h264";
|
|
304
|
+
h265: "h265";
|
|
305
|
+
}>>;
|
|
306
|
+
framerate: z.ZodOptional<z.ZodNumber>;
|
|
307
|
+
bitrate: z.ZodOptional<z.ZodNumber>;
|
|
308
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
309
|
+
vbr: "vbr";
|
|
310
|
+
cbr: "cbr";
|
|
311
|
+
}>>;
|
|
312
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
313
|
+
high: "high";
|
|
314
|
+
main: "main";
|
|
315
|
+
baseline: "baseline";
|
|
316
|
+
}>>;
|
|
317
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
318
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
319
|
+
}, z.core.$strip>;
|
|
320
|
+
}, z.core.$strip>, z.ZodVoid, "mutation">;
|
|
321
|
+
/**
|
|
322
|
+
* Build the `ConfigUISchema` (admin-ui `ConfigFormBuilder` input
|
|
323
|
+
* shape) for this camera's stream-encoder settings — one section per
|
|
324
|
+
* profile (main / sub / ext) with the resolution / codec / framerate
|
|
325
|
+
* / bitrate / bitrate-mode / encoder-profile / GOP controls the
|
|
326
|
+
* firmware actually exposes.
|
|
327
|
+
*
|
|
328
|
+
* Driven by `getOptions` (camera-probed availability) + `getStatus`
|
|
329
|
+
* (current per-profile config); each field's `default` is seeded
|
|
330
|
+
* from the live config so the form renders the camera state in one
|
|
331
|
+
* pass. Returns `null` when the camera exposes no configurable
|
|
332
|
+
* stream property — the renderer then shows the unsupported message.
|
|
333
|
+
*
|
|
334
|
+
* Output is `z.unknown().nullable()` — the same convention every
|
|
335
|
+
* other `ConfigUISchema`-returning cap method uses (`device-ops`,
|
|
336
|
+
* `device-manager`); `ConfigUISchema` is a TS-only type with no
|
|
337
|
+
* companion Zod schema, and a concrete object would collapse
|
|
338
|
+
* unrelated AppRouter branches to `unknown` during codegen.
|
|
339
|
+
*/
|
|
340
|
+
readonly getConfigSchema: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
341
|
+
deviceId: z.ZodNumber;
|
|
342
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodUnknown>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
343
|
+
};
|
|
344
|
+
readonly status: {
|
|
345
|
+
readonly schema: z.ZodObject<{
|
|
346
|
+
main: z.ZodOptional<z.ZodObject<{
|
|
347
|
+
width: z.ZodNumber;
|
|
348
|
+
height: z.ZodNumber;
|
|
349
|
+
codec: z.ZodEnum<{
|
|
350
|
+
h264: "h264";
|
|
351
|
+
h265: "h265";
|
|
352
|
+
}>;
|
|
353
|
+
framerate: z.ZodNumber;
|
|
354
|
+
bitrate: z.ZodNumber;
|
|
355
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
356
|
+
vbr: "vbr";
|
|
357
|
+
cbr: "cbr";
|
|
358
|
+
}>>;
|
|
359
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
360
|
+
high: "high";
|
|
361
|
+
main: "main";
|
|
362
|
+
baseline: "baseline";
|
|
363
|
+
}>>;
|
|
364
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
365
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
366
|
+
}, z.core.$strip>>;
|
|
367
|
+
sub: z.ZodOptional<z.ZodObject<{
|
|
368
|
+
width: z.ZodNumber;
|
|
369
|
+
height: z.ZodNumber;
|
|
370
|
+
codec: z.ZodEnum<{
|
|
371
|
+
h264: "h264";
|
|
372
|
+
h265: "h265";
|
|
373
|
+
}>;
|
|
374
|
+
framerate: z.ZodNumber;
|
|
375
|
+
bitrate: z.ZodNumber;
|
|
376
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
377
|
+
vbr: "vbr";
|
|
378
|
+
cbr: "cbr";
|
|
379
|
+
}>>;
|
|
380
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
381
|
+
high: "high";
|
|
382
|
+
main: "main";
|
|
383
|
+
baseline: "baseline";
|
|
384
|
+
}>>;
|
|
385
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
386
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
387
|
+
}, z.core.$strip>>;
|
|
388
|
+
ext: z.ZodOptional<z.ZodObject<{
|
|
389
|
+
width: z.ZodNumber;
|
|
390
|
+
height: z.ZodNumber;
|
|
391
|
+
codec: z.ZodEnum<{
|
|
392
|
+
h264: "h264";
|
|
393
|
+
h265: "h265";
|
|
394
|
+
}>;
|
|
395
|
+
framerate: z.ZodNumber;
|
|
396
|
+
bitrate: z.ZodNumber;
|
|
397
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
398
|
+
vbr: "vbr";
|
|
399
|
+
cbr: "cbr";
|
|
400
|
+
}>>;
|
|
401
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
402
|
+
high: "high";
|
|
403
|
+
main: "main";
|
|
404
|
+
baseline: "baseline";
|
|
405
|
+
}>>;
|
|
406
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
407
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
408
|
+
}, z.core.$strip>>;
|
|
409
|
+
lastFetchedAt: z.ZodNumber;
|
|
410
|
+
}, z.core.$strip>;
|
|
411
|
+
readonly kind: "poll";
|
|
412
|
+
};
|
|
413
|
+
readonly runtimeState: z.ZodObject<{
|
|
414
|
+
main: z.ZodOptional<z.ZodObject<{
|
|
415
|
+
width: z.ZodNumber;
|
|
416
|
+
height: z.ZodNumber;
|
|
417
|
+
codec: z.ZodEnum<{
|
|
418
|
+
h264: "h264";
|
|
419
|
+
h265: "h265";
|
|
420
|
+
}>;
|
|
421
|
+
framerate: z.ZodNumber;
|
|
422
|
+
bitrate: z.ZodNumber;
|
|
423
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
424
|
+
vbr: "vbr";
|
|
425
|
+
cbr: "cbr";
|
|
426
|
+
}>>;
|
|
427
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
428
|
+
high: "high";
|
|
429
|
+
main: "main";
|
|
430
|
+
baseline: "baseline";
|
|
431
|
+
}>>;
|
|
432
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
433
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
434
|
+
}, z.core.$strip>>;
|
|
435
|
+
sub: z.ZodOptional<z.ZodObject<{
|
|
436
|
+
width: z.ZodNumber;
|
|
437
|
+
height: z.ZodNumber;
|
|
438
|
+
codec: z.ZodEnum<{
|
|
439
|
+
h264: "h264";
|
|
440
|
+
h265: "h265";
|
|
441
|
+
}>;
|
|
442
|
+
framerate: z.ZodNumber;
|
|
443
|
+
bitrate: z.ZodNumber;
|
|
444
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
445
|
+
vbr: "vbr";
|
|
446
|
+
cbr: "cbr";
|
|
447
|
+
}>>;
|
|
448
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
449
|
+
high: "high";
|
|
450
|
+
main: "main";
|
|
451
|
+
baseline: "baseline";
|
|
452
|
+
}>>;
|
|
453
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
454
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
455
|
+
}, z.core.$strip>>;
|
|
456
|
+
ext: z.ZodOptional<z.ZodObject<{
|
|
457
|
+
width: z.ZodNumber;
|
|
458
|
+
height: z.ZodNumber;
|
|
459
|
+
codec: z.ZodEnum<{
|
|
460
|
+
h264: "h264";
|
|
461
|
+
h265: "h265";
|
|
462
|
+
}>;
|
|
463
|
+
framerate: z.ZodNumber;
|
|
464
|
+
bitrate: z.ZodNumber;
|
|
465
|
+
bitrateMode: z.ZodOptional<z.ZodEnum<{
|
|
466
|
+
vbr: "vbr";
|
|
467
|
+
cbr: "cbr";
|
|
468
|
+
}>>;
|
|
469
|
+
encoderProfile: z.ZodOptional<z.ZodEnum<{
|
|
470
|
+
high: "high";
|
|
471
|
+
main: "main";
|
|
472
|
+
baseline: "baseline";
|
|
473
|
+
}>>;
|
|
474
|
+
gop: z.ZodOptional<z.ZodNumber>;
|
|
475
|
+
audio: z.ZodOptional<z.ZodBoolean>;
|
|
476
|
+
}, z.core.$strip>>;
|
|
477
|
+
lastFetchedAt: z.ZodNumber;
|
|
478
|
+
}, z.core.$strip>;
|
|
479
|
+
};
|
|
480
|
+
export type IStreamParamsProvider = InferNativeProvider<typeof streamParamsCapability>;
|
|
481
|
+
export { StreamProfileConfigSchema, StreamProfileOptionsSchema };
|
|
482
|
+
//# sourceMappingURL=stream-params.cap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-params.cap.d.ts","sourceRoot":"","sources":["../../src/capabilities/stream-params.cap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAqC,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB;;;;EAAiC,CAAA;AAEjE,yDAAyD;AACzD,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMnC,CAAA;AAEF,8DAA8D;AAC9D,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;iBAgB9B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIpC,CAAA;AAEF;yCACyC;AACzC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AACzE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEzE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAsB/B;;;;;;;;;;;;;;;;;;WAkBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWkC,CAAA;AAEzC,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAEtF,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,CAAA"}
|