@livekit/rtc-node 0.13.22 → 0.13.24
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/audio_frame.cjs +6 -1
- package/dist/audio_frame.cjs.map +1 -1
- package/dist/audio_frame.d.cts +4 -1
- package/dist/audio_frame.d.ts +4 -1
- package/dist/audio_frame.d.ts.map +1 -1
- package/dist/audio_frame.js +6 -1
- package/dist/audio_frame.js.map +1 -1
- package/dist/audio_mixer.cjs +11 -4
- package/dist/audio_mixer.cjs.map +1 -1
- package/dist/audio_mixer.d.ts.map +1 -1
- package/dist/audio_mixer.js +11 -4
- package/dist/audio_mixer.js.map +1 -1
- package/dist/audio_stream.cjs +20 -5
- package/dist/audio_stream.cjs.map +1 -1
- package/dist/audio_stream.d.cts +4 -3
- package/dist/audio_stream.d.ts +4 -3
- package/dist/audio_stream.d.ts.map +1 -1
- package/dist/audio_stream.js +20 -5
- package/dist/audio_stream.js.map +1 -1
- package/dist/data_streams/stream_reader.cjs.map +1 -1
- package/dist/data_streams/stream_reader.js.map +1 -1
- package/dist/frame_processor.cjs +38 -0
- package/dist/frame_processor.cjs.map +1 -0
- package/dist/frame_processor.d.cts +29 -0
- package/dist/frame_processor.d.ts +29 -0
- package/dist/frame_processor.d.ts.map +1 -0
- package/dist/frame_processor.js +14 -0
- package/dist/frame_processor.js.map +1 -0
- package/dist/index.cjs +3 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/log.cjs +1 -10
- package/dist/log.cjs.map +1 -1
- package/dist/log.d.cts +4 -0
- package/dist/log.d.ts +4 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/log.js +1 -10
- package/dist/log.js.map +1 -1
- package/dist/proto/audio_frame_pb.cjs.map +1 -1
- package/dist/proto/audio_frame_pb.js.map +1 -1
- package/dist/proto/e2ee_pb.cjs.map +1 -1
- package/dist/proto/e2ee_pb.js.map +1 -1
- package/dist/proto/ffi_pb.cjs +4 -2
- package/dist/proto/ffi_pb.cjs.map +1 -1
- package/dist/proto/ffi_pb.d.cts +13 -1
- package/dist/proto/ffi_pb.d.ts +13 -1
- package/dist/proto/ffi_pb.d.ts.map +1 -1
- package/dist/proto/ffi_pb.js +5 -3
- package/dist/proto/ffi_pb.js.map +1 -1
- package/dist/proto/handle_pb.cjs.map +1 -1
- package/dist/proto/handle_pb.js.map +1 -1
- package/dist/proto/participant_pb.cjs +26 -4
- package/dist/proto/participant_pb.cjs.map +1 -1
- package/dist/proto/participant_pb.d.cts +31 -2
- package/dist/proto/participant_pb.d.ts +31 -2
- package/dist/proto/participant_pb.d.ts.map +1 -1
- package/dist/proto/participant_pb.js +24 -3
- package/dist/proto/participant_pb.js.map +1 -1
- package/dist/proto/room_pb.cjs +29 -2
- package/dist/proto/room_pb.cjs.map +1 -1
- package/dist/proto/room_pb.d.cts +30 -7
- package/dist/proto/room_pb.d.ts +30 -7
- package/dist/proto/room_pb.d.ts.map +1 -1
- package/dist/proto/room_pb.js +28 -2
- package/dist/proto/room_pb.js.map +1 -1
- package/dist/proto/rpc_pb.cjs.map +1 -1
- package/dist/proto/rpc_pb.js.map +1 -1
- package/dist/proto/stats_pb.cjs.map +1 -1
- package/dist/proto/stats_pb.js.map +1 -1
- package/dist/proto/track_pb.cjs.map +1 -1
- package/dist/proto/track_pb.js.map +1 -1
- package/dist/proto/track_publication_pb.cjs +66 -2
- package/dist/proto/track_publication_pb.cjs.map +1 -1
- package/dist/proto/track_publication_pb.d.cts +56 -1
- package/dist/proto/track_publication_pb.d.ts +56 -1
- package/dist/proto/track_publication_pb.d.ts.map +1 -1
- package/dist/proto/track_publication_pb.js +62 -1
- package/dist/proto/track_publication_pb.js.map +1 -1
- package/dist/proto/video_frame_pb.cjs +3 -1
- package/dist/proto/video_frame_pb.cjs.map +1 -1
- package/dist/proto/video_frame_pb.d.cts +5 -1
- package/dist/proto/video_frame_pb.d.ts +5 -1
- package/dist/proto/video_frame_pb.d.ts.map +1 -1
- package/dist/proto/video_frame_pb.js +3 -1
- package/dist/proto/video_frame_pb.js.map +1 -1
- package/dist/room.cjs +44 -26
- package/dist/room.cjs.map +1 -1
- package/dist/room.d.cts +19 -11
- package/dist/room.d.ts +19 -11
- package/dist/room.d.ts.map +1 -1
- package/dist/room.js +45 -27
- package/dist/room.js.map +1 -1
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +11 -7
- package/src/audio_frame.ts +15 -1
- package/src/audio_mixer.ts +15 -4
- package/src/audio_stream.ts +23 -7
- package/src/data_streams/stream_reader.ts +4 -4
- package/src/frame_processor.ts +29 -0
- package/src/index.ts +5 -0
- package/src/log.ts +14 -10
- package/src/proto/audio_frame_pb.ts +1 -1
- package/src/proto/e2ee_pb.ts +1 -1
- package/src/proto/ffi_pb.ts +16 -2
- package/src/proto/handle_pb.ts +1 -1
- package/src/proto/participant_pb.ts +45 -1
- package/src/proto/room_pb.ts +52 -8
- package/src/proto/rpc_pb.ts +1 -1
- package/src/proto/stats_pb.ts +1 -1
- package/src/proto/track_pb.ts +1 -1
- package/src/proto/track_publication_pb.ts +105 -1
- package/src/proto/video_frame_pb.ts +7 -1
- package/src/room.ts +65 -38
- package/src/tests/e2e.test.ts +514 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/proto/video_frame_pb.ts"],"sourcesContent":["// Copyright 2023 LiveKit, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n// @generated by protoc-gen-es v1.10.1 with parameter \"target=ts,import_extension=.js\"\n// @generated from file video_frame.proto (package livekit.proto, syntax proto2)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto2 } from \"@bufbuild/protobuf\";\nimport { TrackSource } from \"./track_pb.js\";\nimport { FfiOwnedHandle } from \"./handle_pb.js\";\n\n/**\n * @generated from enum livekit.proto.VideoCodec\n */\nexport enum VideoCodec {\n /**\n * @generated from enum value: VP8 = 0;\n */\n VP8 = 0,\n\n /**\n * @generated from enum value: H264 = 1;\n */\n H264 = 1,\n\n /**\n * @generated from enum value: AV1 = 2;\n */\n AV1 = 2,\n\n /**\n * @generated from enum value: VP9 = 3;\n */\n VP9 = 3,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoCodec)\nproto2.util.setEnumType(VideoCodec, \"livekit.proto.VideoCodec\", [\n { no: 0, name: \"VP8\" },\n { no: 1, name: \"H264\" },\n { no: 2, name: \"AV1\" },\n { no: 3, name: \"VP9\" },\n]);\n\n/**\n * @generated from enum livekit.proto.VideoRotation\n */\nexport enum VideoRotation {\n /**\n * @generated from enum value: VIDEO_ROTATION_0 = 0;\n */\n VIDEO_ROTATION_0 = 0,\n\n /**\n * @generated from enum value: VIDEO_ROTATION_90 = 1;\n */\n VIDEO_ROTATION_90 = 1,\n\n /**\n * @generated from enum value: VIDEO_ROTATION_180 = 2;\n */\n VIDEO_ROTATION_180 = 2,\n\n /**\n * @generated from enum value: VIDEO_ROTATION_270 = 3;\n */\n VIDEO_ROTATION_270 = 3,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoRotation)\nproto2.util.setEnumType(VideoRotation, \"livekit.proto.VideoRotation\", [\n { no: 0, name: \"VIDEO_ROTATION_0\" },\n { no: 1, name: \"VIDEO_ROTATION_90\" },\n { no: 2, name: \"VIDEO_ROTATION_180\" },\n { no: 3, name: \"VIDEO_ROTATION_270\" },\n]);\n\n/**\n * Values of this enum must not be changed\n * It is used to serialize a rtc.VideoFrame on Python\n *\n * @generated from enum livekit.proto.VideoBufferType\n */\nexport enum VideoBufferType {\n /**\n * @generated from enum value: RGBA = 0;\n */\n RGBA = 0,\n\n /**\n * @generated from enum value: ABGR = 1;\n */\n ABGR = 1,\n\n /**\n * @generated from enum value: ARGB = 2;\n */\n ARGB = 2,\n\n /**\n * @generated from enum value: BGRA = 3;\n */\n BGRA = 3,\n\n /**\n * @generated from enum value: RGB24 = 4;\n */\n RGB24 = 4,\n\n /**\n * @generated from enum value: I420 = 5;\n */\n I420 = 5,\n\n /**\n * @generated from enum value: I420A = 6;\n */\n I420A = 6,\n\n /**\n * @generated from enum value: I422 = 7;\n */\n I422 = 7,\n\n /**\n * @generated from enum value: I444 = 8;\n */\n I444 = 8,\n\n /**\n * @generated from enum value: I010 = 9;\n */\n I010 = 9,\n\n /**\n * @generated from enum value: NV12 = 10;\n */\n NV12 = 10,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoBufferType)\nproto2.util.setEnumType(VideoBufferType, \"livekit.proto.VideoBufferType\", [\n { no: 0, name: \"RGBA\" },\n { no: 1, name: \"ABGR\" },\n { no: 2, name: \"ARGB\" },\n { no: 3, name: \"BGRA\" },\n { no: 4, name: \"RGB24\" },\n { no: 5, name: \"I420\" },\n { no: 6, name: \"I420A\" },\n { no: 7, name: \"I422\" },\n { no: 8, name: \"I444\" },\n { no: 9, name: \"I010\" },\n { no: 10, name: \"NV12\" },\n]);\n\n/**\n * @generated from enum livekit.proto.VideoStreamType\n */\nexport enum VideoStreamType {\n /**\n * @generated from enum value: VIDEO_STREAM_NATIVE = 0;\n */\n VIDEO_STREAM_NATIVE = 0,\n\n /**\n * @generated from enum value: VIDEO_STREAM_WEBGL = 1;\n */\n VIDEO_STREAM_WEBGL = 1,\n\n /**\n * @generated from enum value: VIDEO_STREAM_HTML = 2;\n */\n VIDEO_STREAM_HTML = 2,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoStreamType)\nproto2.util.setEnumType(VideoStreamType, \"livekit.proto.VideoStreamType\", [\n { no: 0, name: \"VIDEO_STREAM_NATIVE\" },\n { no: 1, name: \"VIDEO_STREAM_WEBGL\" },\n { no: 2, name: \"VIDEO_STREAM_HTML\" },\n]);\n\n/**\n * @generated from enum livekit.proto.VideoSourceType\n */\nexport enum VideoSourceType {\n /**\n * @generated from enum value: VIDEO_SOURCE_NATIVE = 0;\n */\n VIDEO_SOURCE_NATIVE = 0,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoSourceType)\nproto2.util.setEnumType(VideoSourceType, \"livekit.proto.VideoSourceType\", [\n { no: 0, name: \"VIDEO_SOURCE_NATIVE\" },\n]);\n\n/**\n * Create a new VideoStream\n * VideoStream is used to receive video frames from a track\n *\n * @generated from message livekit.proto.NewVideoStreamRequest\n */\nexport class NewVideoStreamRequest extends Message<NewVideoStreamRequest> {\n /**\n * @generated from field: required uint64 track_handle = 1;\n */\n trackHandle?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoStreamType type = 2;\n */\n type?: VideoStreamType;\n\n /**\n * Get the frame on a specific format\n *\n * @generated from field: optional livekit.proto.VideoBufferType format = 3;\n */\n format?: VideoBufferType;\n\n /**\n * if true, stride will be set to width/chroma_width\n *\n * @generated from field: optional bool normalize_stride = 4;\n */\n normalizeStride?: boolean;\n\n constructor(data?: PartialMessage<NewVideoStreamRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoStreamRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"track_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoStreamType), req: true },\n { no: 3, name: \"format\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), opt: true },\n { no: 4, name: \"normalize_stride\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoStreamRequest {\n return new NewVideoStreamRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoStreamRequest {\n return new NewVideoStreamRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoStreamRequest {\n return new NewVideoStreamRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoStreamRequest | PlainMessage<NewVideoStreamRequest> | undefined, b: NewVideoStreamRequest | PlainMessage<NewVideoStreamRequest> | undefined): boolean {\n return proto2.util.equals(NewVideoStreamRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.NewVideoStreamResponse\n */\nexport class NewVideoStreamResponse extends Message<NewVideoStreamResponse> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoStream stream = 1;\n */\n stream?: OwnedVideoStream;\n\n constructor(data?: PartialMessage<NewVideoStreamResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoStreamResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"stream\", kind: \"message\", T: OwnedVideoStream, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoStreamResponse {\n return new NewVideoStreamResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoStreamResponse {\n return new NewVideoStreamResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoStreamResponse {\n return new NewVideoStreamResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoStreamResponse | PlainMessage<NewVideoStreamResponse> | undefined, b: NewVideoStreamResponse | PlainMessage<NewVideoStreamResponse> | undefined): boolean {\n return proto2.util.equals(NewVideoStreamResponse, a, b);\n }\n}\n\n/**\n * Request a video stream from a participant\n *\n * @generated from message livekit.proto.VideoStreamFromParticipantRequest\n */\nexport class VideoStreamFromParticipantRequest extends Message<VideoStreamFromParticipantRequest> {\n /**\n * @generated from field: required uint64 participant_handle = 1;\n */\n participantHandle?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoStreamType type = 2;\n */\n type?: VideoStreamType;\n\n /**\n * @generated from field: required livekit.proto.TrackSource track_source = 3;\n */\n trackSource?: TrackSource;\n\n /**\n * @generated from field: optional livekit.proto.VideoBufferType format = 4;\n */\n format?: VideoBufferType;\n\n /**\n * @generated from field: optional bool normalize_stride = 5;\n */\n normalizeStride?: boolean;\n\n constructor(data?: PartialMessage<VideoStreamFromParticipantRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamFromParticipantRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"participant_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoStreamType), req: true },\n { no: 3, name: \"track_source\", kind: \"enum\", T: proto2.getEnumType(TrackSource), req: true },\n { no: 4, name: \"format\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), opt: true },\n { no: 5, name: \"normalize_stride\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamFromParticipantRequest {\n return new VideoStreamFromParticipantRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantRequest {\n return new VideoStreamFromParticipantRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantRequest {\n return new VideoStreamFromParticipantRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamFromParticipantRequest | PlainMessage<VideoStreamFromParticipantRequest> | undefined, b: VideoStreamFromParticipantRequest | PlainMessage<VideoStreamFromParticipantRequest> | undefined): boolean {\n return proto2.util.equals(VideoStreamFromParticipantRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamFromParticipantResponse\n */\nexport class VideoStreamFromParticipantResponse extends Message<VideoStreamFromParticipantResponse> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoStream stream = 1;\n */\n stream?: OwnedVideoStream;\n\n constructor(data?: PartialMessage<VideoStreamFromParticipantResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamFromParticipantResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"stream\", kind: \"message\", T: OwnedVideoStream, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamFromParticipantResponse {\n return new VideoStreamFromParticipantResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantResponse {\n return new VideoStreamFromParticipantResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantResponse {\n return new VideoStreamFromParticipantResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamFromParticipantResponse | PlainMessage<VideoStreamFromParticipantResponse> | undefined, b: VideoStreamFromParticipantResponse | PlainMessage<VideoStreamFromParticipantResponse> | undefined): boolean {\n return proto2.util.equals(VideoStreamFromParticipantResponse, a, b);\n }\n}\n\n/**\n * Create a new VideoSource\n * VideoSource is used to send video frame to a track\n *\n * @generated from message livekit.proto.NewVideoSourceRequest\n */\nexport class NewVideoSourceRequest extends Message<NewVideoSourceRequest> {\n /**\n * @generated from field: required livekit.proto.VideoSourceType type = 1;\n */\n type?: VideoSourceType;\n\n /**\n * Used to determine which encodings to use + simulcast layers\n * Most of the time it corresponds to the source resolution \n *\n * @generated from field: required livekit.proto.VideoSourceResolution resolution = 2;\n */\n resolution?: VideoSourceResolution;\n\n constructor(data?: PartialMessage<NewVideoSourceRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoSourceRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoSourceType), req: true },\n { no: 2, name: \"resolution\", kind: \"message\", T: VideoSourceResolution, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoSourceRequest {\n return new NewVideoSourceRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoSourceRequest {\n return new NewVideoSourceRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoSourceRequest {\n return new NewVideoSourceRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoSourceRequest | PlainMessage<NewVideoSourceRequest> | undefined, b: NewVideoSourceRequest | PlainMessage<NewVideoSourceRequest> | undefined): boolean {\n return proto2.util.equals(NewVideoSourceRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.NewVideoSourceResponse\n */\nexport class NewVideoSourceResponse extends Message<NewVideoSourceResponse> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoSource source = 1;\n */\n source?: OwnedVideoSource;\n\n constructor(data?: PartialMessage<NewVideoSourceResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoSourceResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"source\", kind: \"message\", T: OwnedVideoSource, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoSourceResponse {\n return new NewVideoSourceResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoSourceResponse {\n return new NewVideoSourceResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoSourceResponse {\n return new NewVideoSourceResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoSourceResponse | PlainMessage<NewVideoSourceResponse> | undefined, b: NewVideoSourceResponse | PlainMessage<NewVideoSourceResponse> | undefined): boolean {\n return proto2.util.equals(NewVideoSourceResponse, a, b);\n }\n}\n\n/**\n * Push a frame to a VideoSource\n *\n * @generated from message livekit.proto.CaptureVideoFrameRequest\n */\nexport class CaptureVideoFrameRequest extends Message<CaptureVideoFrameRequest> {\n /**\n * @generated from field: required uint64 source_handle = 1;\n */\n sourceHandle?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferInfo buffer = 2;\n */\n buffer?: VideoBufferInfo;\n\n /**\n * In microseconds\n *\n * @generated from field: required int64 timestamp_us = 3;\n */\n timestampUs?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoRotation rotation = 4;\n */\n rotation?: VideoRotation;\n\n constructor(data?: PartialMessage<CaptureVideoFrameRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.CaptureVideoFrameRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"source_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"buffer\", kind: \"message\", T: VideoBufferInfo, req: true },\n { no: 3, name: \"timestamp_us\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, req: true },\n { no: 4, name: \"rotation\", kind: \"enum\", T: proto2.getEnumType(VideoRotation), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CaptureVideoFrameRequest {\n return new CaptureVideoFrameRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CaptureVideoFrameRequest {\n return new CaptureVideoFrameRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CaptureVideoFrameRequest {\n return new CaptureVideoFrameRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: CaptureVideoFrameRequest | PlainMessage<CaptureVideoFrameRequest> | undefined, b: CaptureVideoFrameRequest | PlainMessage<CaptureVideoFrameRequest> | undefined): boolean {\n return proto2.util.equals(CaptureVideoFrameRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.CaptureVideoFrameResponse\n */\nexport class CaptureVideoFrameResponse extends Message<CaptureVideoFrameResponse> {\n constructor(data?: PartialMessage<CaptureVideoFrameResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.CaptureVideoFrameResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CaptureVideoFrameResponse {\n return new CaptureVideoFrameResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CaptureVideoFrameResponse {\n return new CaptureVideoFrameResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CaptureVideoFrameResponse {\n return new CaptureVideoFrameResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: CaptureVideoFrameResponse | PlainMessage<CaptureVideoFrameResponse> | undefined, b: CaptureVideoFrameResponse | PlainMessage<CaptureVideoFrameResponse> | undefined): boolean {\n return proto2.util.equals(CaptureVideoFrameResponse, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoConvertRequest\n */\nexport class VideoConvertRequest extends Message<VideoConvertRequest> {\n /**\n * @generated from field: optional bool flip_y = 1;\n */\n flipY?: boolean;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferInfo buffer = 2;\n */\n buffer?: VideoBufferInfo;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferType dst_type = 3;\n */\n dstType?: VideoBufferType;\n\n constructor(data?: PartialMessage<VideoConvertRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoConvertRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"flip_y\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 2, name: \"buffer\", kind: \"message\", T: VideoBufferInfo, req: true },\n { no: 3, name: \"dst_type\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoConvertRequest {\n return new VideoConvertRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoConvertRequest {\n return new VideoConvertRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoConvertRequest {\n return new VideoConvertRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoConvertRequest | PlainMessage<VideoConvertRequest> | undefined, b: VideoConvertRequest | PlainMessage<VideoConvertRequest> | undefined): boolean {\n return proto2.util.equals(VideoConvertRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoConvertResponse\n */\nexport class VideoConvertResponse extends Message<VideoConvertResponse> {\n /**\n * @generated from oneof livekit.proto.VideoConvertResponse.message\n */\n message: {\n /**\n * @generated from field: string error = 1;\n */\n value: string;\n case: \"error\";\n } | {\n /**\n * @generated from field: livekit.proto.OwnedVideoBuffer buffer = 2;\n */\n value: OwnedVideoBuffer;\n case: \"buffer\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage<VideoConvertResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoConvertResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"error\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, oneof: \"message\" },\n { no: 2, name: \"buffer\", kind: \"message\", T: OwnedVideoBuffer, oneof: \"message\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoConvertResponse {\n return new VideoConvertResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoConvertResponse {\n return new VideoConvertResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoConvertResponse {\n return new VideoConvertResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoConvertResponse | PlainMessage<VideoConvertResponse> | undefined, b: VideoConvertResponse | PlainMessage<VideoConvertResponse> | undefined): boolean {\n return proto2.util.equals(VideoConvertResponse, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoResolution\n */\nexport class VideoResolution extends Message<VideoResolution> {\n /**\n * @generated from field: required uint32 width = 1;\n */\n width?: number;\n\n /**\n * @generated from field: required uint32 height = 2;\n */\n height?: number;\n\n /**\n * @generated from field: required double frame_rate = 3;\n */\n frameRate?: number;\n\n constructor(data?: PartialMessage<VideoResolution>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoResolution\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"width\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 2, name: \"height\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 3, name: \"frame_rate\", kind: \"scalar\", T: 1 /* ScalarType.DOUBLE */, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoResolution {\n return new VideoResolution().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoResolution {\n return new VideoResolution().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoResolution {\n return new VideoResolution().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoResolution | PlainMessage<VideoResolution> | undefined, b: VideoResolution | PlainMessage<VideoResolution> | undefined): boolean {\n return proto2.util.equals(VideoResolution, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoBufferInfo\n */\nexport class VideoBufferInfo extends Message<VideoBufferInfo> {\n /**\n * @generated from field: required livekit.proto.VideoBufferType type = 1;\n */\n type?: VideoBufferType;\n\n /**\n * @generated from field: required uint32 width = 2;\n */\n width?: number;\n\n /**\n * @generated from field: required uint32 height = 3;\n */\n height?: number;\n\n /**\n * @generated from field: required uint64 data_ptr = 4;\n */\n dataPtr?: bigint;\n\n /**\n * only for packed formats\n *\n * @generated from field: optional uint32 stride = 6;\n */\n stride?: number;\n\n /**\n * @generated from field: repeated livekit.proto.VideoBufferInfo.ComponentInfo components = 7;\n */\n components: VideoBufferInfo_ComponentInfo[] = [];\n\n constructor(data?: PartialMessage<VideoBufferInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoBufferInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), req: true },\n { no: 2, name: \"width\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 3, name: \"height\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 4, name: \"data_ptr\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 6, name: \"stride\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, opt: true },\n { no: 7, name: \"components\", kind: \"message\", T: VideoBufferInfo_ComponentInfo, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoBufferInfo {\n return new VideoBufferInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoBufferInfo {\n return new VideoBufferInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoBufferInfo {\n return new VideoBufferInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoBufferInfo | PlainMessage<VideoBufferInfo> | undefined, b: VideoBufferInfo | PlainMessage<VideoBufferInfo> | undefined): boolean {\n return proto2.util.equals(VideoBufferInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoBufferInfo.ComponentInfo\n */\nexport class VideoBufferInfo_ComponentInfo extends Message<VideoBufferInfo_ComponentInfo> {\n /**\n * @generated from field: required uint64 data_ptr = 1;\n */\n dataPtr?: bigint;\n\n /**\n * @generated from field: required uint32 stride = 2;\n */\n stride?: number;\n\n /**\n * @generated from field: required uint32 size = 3;\n */\n size?: number;\n\n constructor(data?: PartialMessage<VideoBufferInfo_ComponentInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoBufferInfo.ComponentInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"data_ptr\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"stride\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 3, name: \"size\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoBufferInfo_ComponentInfo {\n return new VideoBufferInfo_ComponentInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoBufferInfo_ComponentInfo {\n return new VideoBufferInfo_ComponentInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoBufferInfo_ComponentInfo {\n return new VideoBufferInfo_ComponentInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoBufferInfo_ComponentInfo | PlainMessage<VideoBufferInfo_ComponentInfo> | undefined, b: VideoBufferInfo_ComponentInfo | PlainMessage<VideoBufferInfo_ComponentInfo> | undefined): boolean {\n return proto2.util.equals(VideoBufferInfo_ComponentInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.OwnedVideoBuffer\n */\nexport class OwnedVideoBuffer extends Message<OwnedVideoBuffer> {\n /**\n * @generated from field: required livekit.proto.FfiOwnedHandle handle = 1;\n */\n handle?: FfiOwnedHandle;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferInfo info = 2;\n */\n info?: VideoBufferInfo;\n\n constructor(data?: PartialMessage<OwnedVideoBuffer>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.OwnedVideoBuffer\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"handle\", kind: \"message\", T: FfiOwnedHandle, req: true },\n { no: 2, name: \"info\", kind: \"message\", T: VideoBufferInfo, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OwnedVideoBuffer {\n return new OwnedVideoBuffer().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OwnedVideoBuffer {\n return new OwnedVideoBuffer().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OwnedVideoBuffer {\n return new OwnedVideoBuffer().fromJsonString(jsonString, options);\n }\n\n static equals(a: OwnedVideoBuffer | PlainMessage<OwnedVideoBuffer> | undefined, b: OwnedVideoBuffer | PlainMessage<OwnedVideoBuffer> | undefined): boolean {\n return proto2.util.equals(OwnedVideoBuffer, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamInfo\n */\nexport class VideoStreamInfo extends Message<VideoStreamInfo> {\n /**\n * @generated from field: required livekit.proto.VideoStreamType type = 1;\n */\n type?: VideoStreamType;\n\n constructor(data?: PartialMessage<VideoStreamInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoStreamType), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamInfo {\n return new VideoStreamInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamInfo {\n return new VideoStreamInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamInfo {\n return new VideoStreamInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamInfo | PlainMessage<VideoStreamInfo> | undefined, b: VideoStreamInfo | PlainMessage<VideoStreamInfo> | undefined): boolean {\n return proto2.util.equals(VideoStreamInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.OwnedVideoStream\n */\nexport class OwnedVideoStream extends Message<OwnedVideoStream> {\n /**\n * @generated from field: required livekit.proto.FfiOwnedHandle handle = 1;\n */\n handle?: FfiOwnedHandle;\n\n /**\n * @generated from field: required livekit.proto.VideoStreamInfo info = 2;\n */\n info?: VideoStreamInfo;\n\n constructor(data?: PartialMessage<OwnedVideoStream>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.OwnedVideoStream\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"handle\", kind: \"message\", T: FfiOwnedHandle, req: true },\n { no: 2, name: \"info\", kind: \"message\", T: VideoStreamInfo, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OwnedVideoStream {\n return new OwnedVideoStream().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OwnedVideoStream {\n return new OwnedVideoStream().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OwnedVideoStream {\n return new OwnedVideoStream().fromJsonString(jsonString, options);\n }\n\n static equals(a: OwnedVideoStream | PlainMessage<OwnedVideoStream> | undefined, b: OwnedVideoStream | PlainMessage<OwnedVideoStream> | undefined): boolean {\n return proto2.util.equals(OwnedVideoStream, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamEvent\n */\nexport class VideoStreamEvent extends Message<VideoStreamEvent> {\n /**\n * @generated from field: required uint64 stream_handle = 1;\n */\n streamHandle?: bigint;\n\n /**\n * @generated from oneof livekit.proto.VideoStreamEvent.message\n */\n message: {\n /**\n * @generated from field: livekit.proto.VideoFrameReceived frame_received = 2;\n */\n value: VideoFrameReceived;\n case: \"frameReceived\";\n } | {\n /**\n * @generated from field: livekit.proto.VideoStreamEOS eos = 3;\n */\n value: VideoStreamEOS;\n case: \"eos\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage<VideoStreamEvent>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamEvent\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"stream_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"frame_received\", kind: \"message\", T: VideoFrameReceived, oneof: \"message\" },\n { no: 3, name: \"eos\", kind: \"message\", T: VideoStreamEOS, oneof: \"message\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamEvent {\n return new VideoStreamEvent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamEvent {\n return new VideoStreamEvent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamEvent {\n return new VideoStreamEvent().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamEvent | PlainMessage<VideoStreamEvent> | undefined, b: VideoStreamEvent | PlainMessage<VideoStreamEvent> | undefined): boolean {\n return proto2.util.equals(VideoStreamEvent, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoFrameReceived\n */\nexport class VideoFrameReceived extends Message<VideoFrameReceived> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoBuffer buffer = 1;\n */\n buffer?: OwnedVideoBuffer;\n\n /**\n * In microseconds\n *\n * @generated from field: required int64 timestamp_us = 2;\n */\n timestampUs?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoRotation rotation = 3;\n */\n rotation?: VideoRotation;\n\n constructor(data?: PartialMessage<VideoFrameReceived>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoFrameReceived\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"buffer\", kind: \"message\", T: OwnedVideoBuffer, req: true },\n { no: 2, name: \"timestamp_us\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, req: true },\n { no: 3, name: \"rotation\", kind: \"enum\", T: proto2.getEnumType(VideoRotation), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoFrameReceived {\n return new VideoFrameReceived().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoFrameReceived {\n return new VideoFrameReceived().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoFrameReceived {\n return new VideoFrameReceived().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoFrameReceived | PlainMessage<VideoFrameReceived> | undefined, b: VideoFrameReceived | PlainMessage<VideoFrameReceived> | undefined): boolean {\n return proto2.util.equals(VideoFrameReceived, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamEOS\n */\nexport class VideoStreamEOS extends Message<VideoStreamEOS> {\n constructor(data?: PartialMessage<VideoStreamEOS>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamEOS\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamEOS {\n return new VideoStreamEOS().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamEOS {\n return new VideoStreamEOS().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamEOS {\n return new VideoStreamEOS().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamEOS | PlainMessage<VideoStreamEOS> | undefined, b: VideoStreamEOS | PlainMessage<VideoStreamEOS> | undefined): boolean {\n return proto2.util.equals(VideoStreamEOS, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoSourceResolution\n */\nexport class VideoSourceResolution extends Message<VideoSourceResolution> {\n /**\n * @generated from field: required uint32 width = 1;\n */\n width?: number;\n\n /**\n * @generated from field: required uint32 height = 2;\n */\n height?: number;\n\n constructor(data?: PartialMessage<VideoSourceResolution>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoSourceResolution\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"width\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 2, name: \"height\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoSourceResolution {\n return new VideoSourceResolution().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoSourceResolution {\n return new VideoSourceResolution().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoSourceResolution {\n return new VideoSourceResolution().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoSourceResolution | PlainMessage<VideoSourceResolution> | undefined, b: VideoSourceResolution | PlainMessage<VideoSourceResolution> | undefined): boolean {\n return proto2.util.equals(VideoSourceResolution, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoSourceInfo\n */\nexport class VideoSourceInfo extends Message<VideoSourceInfo> {\n /**\n * @generated from field: required livekit.proto.VideoSourceType type = 1;\n */\n type?: VideoSourceType;\n\n constructor(data?: PartialMessage<VideoSourceInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoSourceInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoSourceType), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoSourceInfo {\n return new VideoSourceInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoSourceInfo {\n return new VideoSourceInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoSourceInfo {\n return new VideoSourceInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoSourceInfo | PlainMessage<VideoSourceInfo> | undefined, b: VideoSourceInfo | PlainMessage<VideoSourceInfo> | undefined): boolean {\n return proto2.util.equals(VideoSourceInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.OwnedVideoSource\n */\nexport class OwnedVideoSource extends Message<OwnedVideoSource> {\n /**\n * @generated from field: required livekit.proto.FfiOwnedHandle handle = 1;\n */\n handle?: FfiOwnedHandle;\n\n /**\n * @generated from field: required livekit.proto.VideoSourceInfo info = 2;\n */\n info?: VideoSourceInfo;\n\n constructor(data?: PartialMessage<OwnedVideoSource>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.OwnedVideoSource\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"handle\", kind: \"message\", T: FfiOwnedHandle, req: true },\n { no: 2, name: \"info\", kind: \"message\", T: VideoSourceInfo, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OwnedVideoSource {\n return new OwnedVideoSource().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OwnedVideoSource {\n return new OwnedVideoSource().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OwnedVideoSource {\n return new OwnedVideoSource().fromJsonString(jsonString, options);\n }\n\n static equals(a: OwnedVideoSource | PlainMessage<OwnedVideoSource> | undefined, b: OwnedVideoSource | PlainMessage<OwnedVideoSource> | undefined): boolean {\n return proto2.util.equals(OwnedVideoSource, a, b);\n }\n}\n\n"],"mappings":"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","names":["VideoCodec","VideoRotation","VideoBufferType","VideoStreamType","VideoSourceType"]}
|
|
1
|
+
{"version":3,"sources":["../../src/proto/video_frame_pb.ts"],"sourcesContent":["// Copyright 2025 LiveKit, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n// @generated by protoc-gen-es v1.10.1 with parameter \"target=ts,import_extension=.js\"\n// @generated from file video_frame.proto (package livekit.proto, syntax proto2)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from \"@bufbuild/protobuf\";\nimport { Message, proto2 } from \"@bufbuild/protobuf\";\nimport { TrackSource } from \"./track_pb.js\";\nimport { FfiOwnedHandle } from \"./handle_pb.js\";\n\n/**\n * @generated from enum livekit.proto.VideoCodec\n */\nexport enum VideoCodec {\n /**\n * @generated from enum value: VP8 = 0;\n */\n VP8 = 0,\n\n /**\n * @generated from enum value: H264 = 1;\n */\n H264 = 1,\n\n /**\n * @generated from enum value: AV1 = 2;\n */\n AV1 = 2,\n\n /**\n * @generated from enum value: VP9 = 3;\n */\n VP9 = 3,\n\n /**\n * @generated from enum value: H265 = 4;\n */\n H265 = 4,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoCodec)\nproto2.util.setEnumType(VideoCodec, \"livekit.proto.VideoCodec\", [\n { no: 0, name: \"VP8\" },\n { no: 1, name: \"H264\" },\n { no: 2, name: \"AV1\" },\n { no: 3, name: \"VP9\" },\n { no: 4, name: \"H265\" },\n]);\n\n/**\n * @generated from enum livekit.proto.VideoRotation\n */\nexport enum VideoRotation {\n /**\n * @generated from enum value: VIDEO_ROTATION_0 = 0;\n */\n VIDEO_ROTATION_0 = 0,\n\n /**\n * @generated from enum value: VIDEO_ROTATION_90 = 1;\n */\n VIDEO_ROTATION_90 = 1,\n\n /**\n * @generated from enum value: VIDEO_ROTATION_180 = 2;\n */\n VIDEO_ROTATION_180 = 2,\n\n /**\n * @generated from enum value: VIDEO_ROTATION_270 = 3;\n */\n VIDEO_ROTATION_270 = 3,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoRotation)\nproto2.util.setEnumType(VideoRotation, \"livekit.proto.VideoRotation\", [\n { no: 0, name: \"VIDEO_ROTATION_0\" },\n { no: 1, name: \"VIDEO_ROTATION_90\" },\n { no: 2, name: \"VIDEO_ROTATION_180\" },\n { no: 3, name: \"VIDEO_ROTATION_270\" },\n]);\n\n/**\n * Values of this enum must not be changed\n * It is used to serialize a rtc.VideoFrame on Python\n *\n * @generated from enum livekit.proto.VideoBufferType\n */\nexport enum VideoBufferType {\n /**\n * @generated from enum value: RGBA = 0;\n */\n RGBA = 0,\n\n /**\n * @generated from enum value: ABGR = 1;\n */\n ABGR = 1,\n\n /**\n * @generated from enum value: ARGB = 2;\n */\n ARGB = 2,\n\n /**\n * @generated from enum value: BGRA = 3;\n */\n BGRA = 3,\n\n /**\n * @generated from enum value: RGB24 = 4;\n */\n RGB24 = 4,\n\n /**\n * @generated from enum value: I420 = 5;\n */\n I420 = 5,\n\n /**\n * @generated from enum value: I420A = 6;\n */\n I420A = 6,\n\n /**\n * @generated from enum value: I422 = 7;\n */\n I422 = 7,\n\n /**\n * @generated from enum value: I444 = 8;\n */\n I444 = 8,\n\n /**\n * @generated from enum value: I010 = 9;\n */\n I010 = 9,\n\n /**\n * @generated from enum value: NV12 = 10;\n */\n NV12 = 10,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoBufferType)\nproto2.util.setEnumType(VideoBufferType, \"livekit.proto.VideoBufferType\", [\n { no: 0, name: \"RGBA\" },\n { no: 1, name: \"ABGR\" },\n { no: 2, name: \"ARGB\" },\n { no: 3, name: \"BGRA\" },\n { no: 4, name: \"RGB24\" },\n { no: 5, name: \"I420\" },\n { no: 6, name: \"I420A\" },\n { no: 7, name: \"I422\" },\n { no: 8, name: \"I444\" },\n { no: 9, name: \"I010\" },\n { no: 10, name: \"NV12\" },\n]);\n\n/**\n * @generated from enum livekit.proto.VideoStreamType\n */\nexport enum VideoStreamType {\n /**\n * @generated from enum value: VIDEO_STREAM_NATIVE = 0;\n */\n VIDEO_STREAM_NATIVE = 0,\n\n /**\n * @generated from enum value: VIDEO_STREAM_WEBGL = 1;\n */\n VIDEO_STREAM_WEBGL = 1,\n\n /**\n * @generated from enum value: VIDEO_STREAM_HTML = 2;\n */\n VIDEO_STREAM_HTML = 2,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoStreamType)\nproto2.util.setEnumType(VideoStreamType, \"livekit.proto.VideoStreamType\", [\n { no: 0, name: \"VIDEO_STREAM_NATIVE\" },\n { no: 1, name: \"VIDEO_STREAM_WEBGL\" },\n { no: 2, name: \"VIDEO_STREAM_HTML\" },\n]);\n\n/**\n * @generated from enum livekit.proto.VideoSourceType\n */\nexport enum VideoSourceType {\n /**\n * @generated from enum value: VIDEO_SOURCE_NATIVE = 0;\n */\n VIDEO_SOURCE_NATIVE = 0,\n}\n// Retrieve enum metadata with: proto2.getEnumType(VideoSourceType)\nproto2.util.setEnumType(VideoSourceType, \"livekit.proto.VideoSourceType\", [\n { no: 0, name: \"VIDEO_SOURCE_NATIVE\" },\n]);\n\n/**\n * Create a new VideoStream\n * VideoStream is used to receive video frames from a track\n *\n * @generated from message livekit.proto.NewVideoStreamRequest\n */\nexport class NewVideoStreamRequest extends Message<NewVideoStreamRequest> {\n /**\n * @generated from field: required uint64 track_handle = 1;\n */\n trackHandle?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoStreamType type = 2;\n */\n type?: VideoStreamType;\n\n /**\n * Get the frame on a specific format\n *\n * @generated from field: optional livekit.proto.VideoBufferType format = 3;\n */\n format?: VideoBufferType;\n\n /**\n * if true, stride will be set to width/chroma_width\n *\n * @generated from field: optional bool normalize_stride = 4;\n */\n normalizeStride?: boolean;\n\n constructor(data?: PartialMessage<NewVideoStreamRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoStreamRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"track_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoStreamType), req: true },\n { no: 3, name: \"format\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), opt: true },\n { no: 4, name: \"normalize_stride\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoStreamRequest {\n return new NewVideoStreamRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoStreamRequest {\n return new NewVideoStreamRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoStreamRequest {\n return new NewVideoStreamRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoStreamRequest | PlainMessage<NewVideoStreamRequest> | undefined, b: NewVideoStreamRequest | PlainMessage<NewVideoStreamRequest> | undefined): boolean {\n return proto2.util.equals(NewVideoStreamRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.NewVideoStreamResponse\n */\nexport class NewVideoStreamResponse extends Message<NewVideoStreamResponse> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoStream stream = 1;\n */\n stream?: OwnedVideoStream;\n\n constructor(data?: PartialMessage<NewVideoStreamResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoStreamResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"stream\", kind: \"message\", T: OwnedVideoStream, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoStreamResponse {\n return new NewVideoStreamResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoStreamResponse {\n return new NewVideoStreamResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoStreamResponse {\n return new NewVideoStreamResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoStreamResponse | PlainMessage<NewVideoStreamResponse> | undefined, b: NewVideoStreamResponse | PlainMessage<NewVideoStreamResponse> | undefined): boolean {\n return proto2.util.equals(NewVideoStreamResponse, a, b);\n }\n}\n\n/**\n * Request a video stream from a participant\n *\n * @generated from message livekit.proto.VideoStreamFromParticipantRequest\n */\nexport class VideoStreamFromParticipantRequest extends Message<VideoStreamFromParticipantRequest> {\n /**\n * @generated from field: required uint64 participant_handle = 1;\n */\n participantHandle?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoStreamType type = 2;\n */\n type?: VideoStreamType;\n\n /**\n * @generated from field: required livekit.proto.TrackSource track_source = 3;\n */\n trackSource?: TrackSource;\n\n /**\n * @generated from field: optional livekit.proto.VideoBufferType format = 4;\n */\n format?: VideoBufferType;\n\n /**\n * @generated from field: optional bool normalize_stride = 5;\n */\n normalizeStride?: boolean;\n\n constructor(data?: PartialMessage<VideoStreamFromParticipantRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamFromParticipantRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"participant_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoStreamType), req: true },\n { no: 3, name: \"track_source\", kind: \"enum\", T: proto2.getEnumType(TrackSource), req: true },\n { no: 4, name: \"format\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), opt: true },\n { no: 5, name: \"normalize_stride\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamFromParticipantRequest {\n return new VideoStreamFromParticipantRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantRequest {\n return new VideoStreamFromParticipantRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantRequest {\n return new VideoStreamFromParticipantRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamFromParticipantRequest | PlainMessage<VideoStreamFromParticipantRequest> | undefined, b: VideoStreamFromParticipantRequest | PlainMessage<VideoStreamFromParticipantRequest> | undefined): boolean {\n return proto2.util.equals(VideoStreamFromParticipantRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamFromParticipantResponse\n */\nexport class VideoStreamFromParticipantResponse extends Message<VideoStreamFromParticipantResponse> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoStream stream = 1;\n */\n stream?: OwnedVideoStream;\n\n constructor(data?: PartialMessage<VideoStreamFromParticipantResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamFromParticipantResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"stream\", kind: \"message\", T: OwnedVideoStream, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamFromParticipantResponse {\n return new VideoStreamFromParticipantResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantResponse {\n return new VideoStreamFromParticipantResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamFromParticipantResponse {\n return new VideoStreamFromParticipantResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamFromParticipantResponse | PlainMessage<VideoStreamFromParticipantResponse> | undefined, b: VideoStreamFromParticipantResponse | PlainMessage<VideoStreamFromParticipantResponse> | undefined): boolean {\n return proto2.util.equals(VideoStreamFromParticipantResponse, a, b);\n }\n}\n\n/**\n * Create a new VideoSource\n * VideoSource is used to send video frame to a track\n *\n * @generated from message livekit.proto.NewVideoSourceRequest\n */\nexport class NewVideoSourceRequest extends Message<NewVideoSourceRequest> {\n /**\n * @generated from field: required livekit.proto.VideoSourceType type = 1;\n */\n type?: VideoSourceType;\n\n /**\n * Used to determine which encodings to use + simulcast layers\n * Most of the time it corresponds to the source resolution \n *\n * @generated from field: required livekit.proto.VideoSourceResolution resolution = 2;\n */\n resolution?: VideoSourceResolution;\n\n constructor(data?: PartialMessage<NewVideoSourceRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoSourceRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoSourceType), req: true },\n { no: 2, name: \"resolution\", kind: \"message\", T: VideoSourceResolution, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoSourceRequest {\n return new NewVideoSourceRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoSourceRequest {\n return new NewVideoSourceRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoSourceRequest {\n return new NewVideoSourceRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoSourceRequest | PlainMessage<NewVideoSourceRequest> | undefined, b: NewVideoSourceRequest | PlainMessage<NewVideoSourceRequest> | undefined): boolean {\n return proto2.util.equals(NewVideoSourceRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.NewVideoSourceResponse\n */\nexport class NewVideoSourceResponse extends Message<NewVideoSourceResponse> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoSource source = 1;\n */\n source?: OwnedVideoSource;\n\n constructor(data?: PartialMessage<NewVideoSourceResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.NewVideoSourceResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"source\", kind: \"message\", T: OwnedVideoSource, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): NewVideoSourceResponse {\n return new NewVideoSourceResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): NewVideoSourceResponse {\n return new NewVideoSourceResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): NewVideoSourceResponse {\n return new NewVideoSourceResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: NewVideoSourceResponse | PlainMessage<NewVideoSourceResponse> | undefined, b: NewVideoSourceResponse | PlainMessage<NewVideoSourceResponse> | undefined): boolean {\n return proto2.util.equals(NewVideoSourceResponse, a, b);\n }\n}\n\n/**\n * Push a frame to a VideoSource\n *\n * @generated from message livekit.proto.CaptureVideoFrameRequest\n */\nexport class CaptureVideoFrameRequest extends Message<CaptureVideoFrameRequest> {\n /**\n * @generated from field: required uint64 source_handle = 1;\n */\n sourceHandle?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferInfo buffer = 2;\n */\n buffer?: VideoBufferInfo;\n\n /**\n * In microseconds\n *\n * @generated from field: required int64 timestamp_us = 3;\n */\n timestampUs?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoRotation rotation = 4;\n */\n rotation?: VideoRotation;\n\n constructor(data?: PartialMessage<CaptureVideoFrameRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.CaptureVideoFrameRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"source_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"buffer\", kind: \"message\", T: VideoBufferInfo, req: true },\n { no: 3, name: \"timestamp_us\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, req: true },\n { no: 4, name: \"rotation\", kind: \"enum\", T: proto2.getEnumType(VideoRotation), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CaptureVideoFrameRequest {\n return new CaptureVideoFrameRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CaptureVideoFrameRequest {\n return new CaptureVideoFrameRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CaptureVideoFrameRequest {\n return new CaptureVideoFrameRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: CaptureVideoFrameRequest | PlainMessage<CaptureVideoFrameRequest> | undefined, b: CaptureVideoFrameRequest | PlainMessage<CaptureVideoFrameRequest> | undefined): boolean {\n return proto2.util.equals(CaptureVideoFrameRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.CaptureVideoFrameResponse\n */\nexport class CaptureVideoFrameResponse extends Message<CaptureVideoFrameResponse> {\n constructor(data?: PartialMessage<CaptureVideoFrameResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.CaptureVideoFrameResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CaptureVideoFrameResponse {\n return new CaptureVideoFrameResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CaptureVideoFrameResponse {\n return new CaptureVideoFrameResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CaptureVideoFrameResponse {\n return new CaptureVideoFrameResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: CaptureVideoFrameResponse | PlainMessage<CaptureVideoFrameResponse> | undefined, b: CaptureVideoFrameResponse | PlainMessage<CaptureVideoFrameResponse> | undefined): boolean {\n return proto2.util.equals(CaptureVideoFrameResponse, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoConvertRequest\n */\nexport class VideoConvertRequest extends Message<VideoConvertRequest> {\n /**\n * @generated from field: optional bool flip_y = 1;\n */\n flipY?: boolean;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferInfo buffer = 2;\n */\n buffer?: VideoBufferInfo;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferType dst_type = 3;\n */\n dstType?: VideoBufferType;\n\n constructor(data?: PartialMessage<VideoConvertRequest>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoConvertRequest\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"flip_y\", kind: \"scalar\", T: 8 /* ScalarType.BOOL */, opt: true },\n { no: 2, name: \"buffer\", kind: \"message\", T: VideoBufferInfo, req: true },\n { no: 3, name: \"dst_type\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoConvertRequest {\n return new VideoConvertRequest().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoConvertRequest {\n return new VideoConvertRequest().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoConvertRequest {\n return new VideoConvertRequest().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoConvertRequest | PlainMessage<VideoConvertRequest> | undefined, b: VideoConvertRequest | PlainMessage<VideoConvertRequest> | undefined): boolean {\n return proto2.util.equals(VideoConvertRequest, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoConvertResponse\n */\nexport class VideoConvertResponse extends Message<VideoConvertResponse> {\n /**\n * @generated from oneof livekit.proto.VideoConvertResponse.message\n */\n message: {\n /**\n * @generated from field: string error = 1;\n */\n value: string;\n case: \"error\";\n } | {\n /**\n * @generated from field: livekit.proto.OwnedVideoBuffer buffer = 2;\n */\n value: OwnedVideoBuffer;\n case: \"buffer\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage<VideoConvertResponse>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoConvertResponse\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"error\", kind: \"scalar\", T: 9 /* ScalarType.STRING */, oneof: \"message\" },\n { no: 2, name: \"buffer\", kind: \"message\", T: OwnedVideoBuffer, oneof: \"message\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoConvertResponse {\n return new VideoConvertResponse().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoConvertResponse {\n return new VideoConvertResponse().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoConvertResponse {\n return new VideoConvertResponse().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoConvertResponse | PlainMessage<VideoConvertResponse> | undefined, b: VideoConvertResponse | PlainMessage<VideoConvertResponse> | undefined): boolean {\n return proto2.util.equals(VideoConvertResponse, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoResolution\n */\nexport class VideoResolution extends Message<VideoResolution> {\n /**\n * @generated from field: required uint32 width = 1;\n */\n width?: number;\n\n /**\n * @generated from field: required uint32 height = 2;\n */\n height?: number;\n\n /**\n * @generated from field: required double frame_rate = 3;\n */\n frameRate?: number;\n\n constructor(data?: PartialMessage<VideoResolution>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoResolution\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"width\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 2, name: \"height\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 3, name: \"frame_rate\", kind: \"scalar\", T: 1 /* ScalarType.DOUBLE */, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoResolution {\n return new VideoResolution().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoResolution {\n return new VideoResolution().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoResolution {\n return new VideoResolution().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoResolution | PlainMessage<VideoResolution> | undefined, b: VideoResolution | PlainMessage<VideoResolution> | undefined): boolean {\n return proto2.util.equals(VideoResolution, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoBufferInfo\n */\nexport class VideoBufferInfo extends Message<VideoBufferInfo> {\n /**\n * @generated from field: required livekit.proto.VideoBufferType type = 1;\n */\n type?: VideoBufferType;\n\n /**\n * @generated from field: required uint32 width = 2;\n */\n width?: number;\n\n /**\n * @generated from field: required uint32 height = 3;\n */\n height?: number;\n\n /**\n * @generated from field: required uint64 data_ptr = 4;\n */\n dataPtr?: bigint;\n\n /**\n * only for packed formats\n *\n * @generated from field: optional uint32 stride = 6;\n */\n stride?: number;\n\n /**\n * @generated from field: repeated livekit.proto.VideoBufferInfo.ComponentInfo components = 7;\n */\n components: VideoBufferInfo_ComponentInfo[] = [];\n\n constructor(data?: PartialMessage<VideoBufferInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoBufferInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoBufferType), req: true },\n { no: 2, name: \"width\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 3, name: \"height\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 4, name: \"data_ptr\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 6, name: \"stride\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, opt: true },\n { no: 7, name: \"components\", kind: \"message\", T: VideoBufferInfo_ComponentInfo, repeated: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoBufferInfo {\n return new VideoBufferInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoBufferInfo {\n return new VideoBufferInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoBufferInfo {\n return new VideoBufferInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoBufferInfo | PlainMessage<VideoBufferInfo> | undefined, b: VideoBufferInfo | PlainMessage<VideoBufferInfo> | undefined): boolean {\n return proto2.util.equals(VideoBufferInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoBufferInfo.ComponentInfo\n */\nexport class VideoBufferInfo_ComponentInfo extends Message<VideoBufferInfo_ComponentInfo> {\n /**\n * @generated from field: required uint64 data_ptr = 1;\n */\n dataPtr?: bigint;\n\n /**\n * @generated from field: required uint32 stride = 2;\n */\n stride?: number;\n\n /**\n * @generated from field: required uint32 size = 3;\n */\n size?: number;\n\n constructor(data?: PartialMessage<VideoBufferInfo_ComponentInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoBufferInfo.ComponentInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"data_ptr\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"stride\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 3, name: \"size\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoBufferInfo_ComponentInfo {\n return new VideoBufferInfo_ComponentInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoBufferInfo_ComponentInfo {\n return new VideoBufferInfo_ComponentInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoBufferInfo_ComponentInfo {\n return new VideoBufferInfo_ComponentInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoBufferInfo_ComponentInfo | PlainMessage<VideoBufferInfo_ComponentInfo> | undefined, b: VideoBufferInfo_ComponentInfo | PlainMessage<VideoBufferInfo_ComponentInfo> | undefined): boolean {\n return proto2.util.equals(VideoBufferInfo_ComponentInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.OwnedVideoBuffer\n */\nexport class OwnedVideoBuffer extends Message<OwnedVideoBuffer> {\n /**\n * @generated from field: required livekit.proto.FfiOwnedHandle handle = 1;\n */\n handle?: FfiOwnedHandle;\n\n /**\n * @generated from field: required livekit.proto.VideoBufferInfo info = 2;\n */\n info?: VideoBufferInfo;\n\n constructor(data?: PartialMessage<OwnedVideoBuffer>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.OwnedVideoBuffer\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"handle\", kind: \"message\", T: FfiOwnedHandle, req: true },\n { no: 2, name: \"info\", kind: \"message\", T: VideoBufferInfo, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OwnedVideoBuffer {\n return new OwnedVideoBuffer().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OwnedVideoBuffer {\n return new OwnedVideoBuffer().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OwnedVideoBuffer {\n return new OwnedVideoBuffer().fromJsonString(jsonString, options);\n }\n\n static equals(a: OwnedVideoBuffer | PlainMessage<OwnedVideoBuffer> | undefined, b: OwnedVideoBuffer | PlainMessage<OwnedVideoBuffer> | undefined): boolean {\n return proto2.util.equals(OwnedVideoBuffer, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamInfo\n */\nexport class VideoStreamInfo extends Message<VideoStreamInfo> {\n /**\n * @generated from field: required livekit.proto.VideoStreamType type = 1;\n */\n type?: VideoStreamType;\n\n constructor(data?: PartialMessage<VideoStreamInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoStreamType), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamInfo {\n return new VideoStreamInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamInfo {\n return new VideoStreamInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamInfo {\n return new VideoStreamInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamInfo | PlainMessage<VideoStreamInfo> | undefined, b: VideoStreamInfo | PlainMessage<VideoStreamInfo> | undefined): boolean {\n return proto2.util.equals(VideoStreamInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.OwnedVideoStream\n */\nexport class OwnedVideoStream extends Message<OwnedVideoStream> {\n /**\n * @generated from field: required livekit.proto.FfiOwnedHandle handle = 1;\n */\n handle?: FfiOwnedHandle;\n\n /**\n * @generated from field: required livekit.proto.VideoStreamInfo info = 2;\n */\n info?: VideoStreamInfo;\n\n constructor(data?: PartialMessage<OwnedVideoStream>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.OwnedVideoStream\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"handle\", kind: \"message\", T: FfiOwnedHandle, req: true },\n { no: 2, name: \"info\", kind: \"message\", T: VideoStreamInfo, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OwnedVideoStream {\n return new OwnedVideoStream().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OwnedVideoStream {\n return new OwnedVideoStream().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OwnedVideoStream {\n return new OwnedVideoStream().fromJsonString(jsonString, options);\n }\n\n static equals(a: OwnedVideoStream | PlainMessage<OwnedVideoStream> | undefined, b: OwnedVideoStream | PlainMessage<OwnedVideoStream> | undefined): boolean {\n return proto2.util.equals(OwnedVideoStream, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamEvent\n */\nexport class VideoStreamEvent extends Message<VideoStreamEvent> {\n /**\n * @generated from field: required uint64 stream_handle = 1;\n */\n streamHandle?: bigint;\n\n /**\n * @generated from oneof livekit.proto.VideoStreamEvent.message\n */\n message: {\n /**\n * @generated from field: livekit.proto.VideoFrameReceived frame_received = 2;\n */\n value: VideoFrameReceived;\n case: \"frameReceived\";\n } | {\n /**\n * @generated from field: livekit.proto.VideoStreamEOS eos = 3;\n */\n value: VideoStreamEOS;\n case: \"eos\";\n } | { case: undefined; value?: undefined } = { case: undefined };\n\n constructor(data?: PartialMessage<VideoStreamEvent>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamEvent\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"stream_handle\", kind: \"scalar\", T: 4 /* ScalarType.UINT64 */, req: true },\n { no: 2, name: \"frame_received\", kind: \"message\", T: VideoFrameReceived, oneof: \"message\" },\n { no: 3, name: \"eos\", kind: \"message\", T: VideoStreamEOS, oneof: \"message\" },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamEvent {\n return new VideoStreamEvent().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamEvent {\n return new VideoStreamEvent().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamEvent {\n return new VideoStreamEvent().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamEvent | PlainMessage<VideoStreamEvent> | undefined, b: VideoStreamEvent | PlainMessage<VideoStreamEvent> | undefined): boolean {\n return proto2.util.equals(VideoStreamEvent, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoFrameReceived\n */\nexport class VideoFrameReceived extends Message<VideoFrameReceived> {\n /**\n * @generated from field: required livekit.proto.OwnedVideoBuffer buffer = 1;\n */\n buffer?: OwnedVideoBuffer;\n\n /**\n * In microseconds\n *\n * @generated from field: required int64 timestamp_us = 2;\n */\n timestampUs?: bigint;\n\n /**\n * @generated from field: required livekit.proto.VideoRotation rotation = 3;\n */\n rotation?: VideoRotation;\n\n constructor(data?: PartialMessage<VideoFrameReceived>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoFrameReceived\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"buffer\", kind: \"message\", T: OwnedVideoBuffer, req: true },\n { no: 2, name: \"timestamp_us\", kind: \"scalar\", T: 3 /* ScalarType.INT64 */, req: true },\n { no: 3, name: \"rotation\", kind: \"enum\", T: proto2.getEnumType(VideoRotation), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoFrameReceived {\n return new VideoFrameReceived().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoFrameReceived {\n return new VideoFrameReceived().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoFrameReceived {\n return new VideoFrameReceived().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoFrameReceived | PlainMessage<VideoFrameReceived> | undefined, b: VideoFrameReceived | PlainMessage<VideoFrameReceived> | undefined): boolean {\n return proto2.util.equals(VideoFrameReceived, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoStreamEOS\n */\nexport class VideoStreamEOS extends Message<VideoStreamEOS> {\n constructor(data?: PartialMessage<VideoStreamEOS>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoStreamEOS\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoStreamEOS {\n return new VideoStreamEOS().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoStreamEOS {\n return new VideoStreamEOS().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoStreamEOS {\n return new VideoStreamEOS().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoStreamEOS | PlainMessage<VideoStreamEOS> | undefined, b: VideoStreamEOS | PlainMessage<VideoStreamEOS> | undefined): boolean {\n return proto2.util.equals(VideoStreamEOS, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoSourceResolution\n */\nexport class VideoSourceResolution extends Message<VideoSourceResolution> {\n /**\n * @generated from field: required uint32 width = 1;\n */\n width?: number;\n\n /**\n * @generated from field: required uint32 height = 2;\n */\n height?: number;\n\n constructor(data?: PartialMessage<VideoSourceResolution>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoSourceResolution\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"width\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n { no: 2, name: \"height\", kind: \"scalar\", T: 13 /* ScalarType.UINT32 */, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoSourceResolution {\n return new VideoSourceResolution().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoSourceResolution {\n return new VideoSourceResolution().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoSourceResolution {\n return new VideoSourceResolution().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoSourceResolution | PlainMessage<VideoSourceResolution> | undefined, b: VideoSourceResolution | PlainMessage<VideoSourceResolution> | undefined): boolean {\n return proto2.util.equals(VideoSourceResolution, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.VideoSourceInfo\n */\nexport class VideoSourceInfo extends Message<VideoSourceInfo> {\n /**\n * @generated from field: required livekit.proto.VideoSourceType type = 1;\n */\n type?: VideoSourceType;\n\n constructor(data?: PartialMessage<VideoSourceInfo>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.VideoSourceInfo\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"type\", kind: \"enum\", T: proto2.getEnumType(VideoSourceType), req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): VideoSourceInfo {\n return new VideoSourceInfo().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): VideoSourceInfo {\n return new VideoSourceInfo().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): VideoSourceInfo {\n return new VideoSourceInfo().fromJsonString(jsonString, options);\n }\n\n static equals(a: VideoSourceInfo | PlainMessage<VideoSourceInfo> | undefined, b: VideoSourceInfo | PlainMessage<VideoSourceInfo> | undefined): boolean {\n return proto2.util.equals(VideoSourceInfo, a, b);\n }\n}\n\n/**\n * @generated from message livekit.proto.OwnedVideoSource\n */\nexport class OwnedVideoSource extends Message<OwnedVideoSource> {\n /**\n * @generated from field: required livekit.proto.FfiOwnedHandle handle = 1;\n */\n handle?: FfiOwnedHandle;\n\n /**\n * @generated from field: required livekit.proto.VideoSourceInfo info = 2;\n */\n info?: VideoSourceInfo;\n\n constructor(data?: PartialMessage<OwnedVideoSource>) {\n super();\n proto2.util.initPartial(data, this);\n }\n\n static readonly runtime: typeof proto2 = proto2;\n static readonly typeName = \"livekit.proto.OwnedVideoSource\";\n static readonly fields: FieldList = proto2.util.newFieldList(() => [\n { no: 1, name: \"handle\", kind: \"message\", T: FfiOwnedHandle, req: true },\n { no: 2, name: \"info\", kind: \"message\", T: VideoSourceInfo, req: true },\n ]);\n\n static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OwnedVideoSource {\n return new OwnedVideoSource().fromBinary(bytes, options);\n }\n\n static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OwnedVideoSource {\n return new OwnedVideoSource().fromJson(jsonValue, options);\n }\n\n static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OwnedVideoSource {\n return new OwnedVideoSource().fromJsonString(jsonString, options);\n }\n\n static equals(a: OwnedVideoSource | PlainMessage<OwnedVideoSource> | undefined, b: OwnedVideoSource | PlainMessage<OwnedVideoSource> | undefined): boolean {\n return proto2.util.equals(OwnedVideoSource, a, b);\n }\n}\n\n"],"mappings":"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","names":["VideoCodec","VideoRotation","VideoBufferType","VideoStreamType","VideoSourceType"]}
|
package/dist/room.cjs
CHANGED
|
@@ -128,7 +128,7 @@ class Room extends import_events.default {
|
|
|
128
128
|
participant.info.disconnectReason = ev.value.disconnectReason;
|
|
129
129
|
this.emit("participantDisconnected" /* ParticipantDisconnected */, participant);
|
|
130
130
|
} else {
|
|
131
|
-
|
|
131
|
+
import_log.log.warn(`RoomEvent.ParticipantDisconnected: Could not find participant`);
|
|
132
132
|
}
|
|
133
133
|
} else if (ev.case == "localTrackPublished") {
|
|
134
134
|
const publication = this.localParticipant.trackPublications.get(ev.value.trackSid);
|
|
@@ -143,7 +143,7 @@ class Room extends import_events.default {
|
|
|
143
143
|
publication.resolveFirstSubscription();
|
|
144
144
|
this.emit("localTrackSubscribed" /* LocalTrackSubscribed */, publication.track);
|
|
145
145
|
} else {
|
|
146
|
-
|
|
146
|
+
import_log.log.warn(`RoomEvent.LocalTrackSubscribed: Publication not found: ${ev.value.trackSid}`);
|
|
147
147
|
}
|
|
148
148
|
} else if (ev.case == "trackPublished") {
|
|
149
149
|
const participant = this.remoteParticipants.get(ev.value.participantIdentity);
|
|
@@ -151,7 +151,7 @@ class Room extends import_events.default {
|
|
|
151
151
|
if (participant) {
|
|
152
152
|
participant.trackPublications.set(publication.sid, publication);
|
|
153
153
|
} else {
|
|
154
|
-
|
|
154
|
+
import_log.log.warn(
|
|
155
155
|
`RoomEvent.TrackPublished: Could not find participant: ${ev.value.participantIdentity}`
|
|
156
156
|
);
|
|
157
157
|
}
|
|
@@ -163,7 +163,7 @@ class Room extends import_events.default {
|
|
|
163
163
|
if (publication) {
|
|
164
164
|
this.emit("trackUnpublished" /* TrackUnpublished */, publication, participant);
|
|
165
165
|
} else {
|
|
166
|
-
|
|
166
|
+
import_log.log.warn(`RoomEvent.TrackUnpublished: Could not find publication`);
|
|
167
167
|
}
|
|
168
168
|
} else if (ev.case == "trackSubscribed") {
|
|
169
169
|
const ownedTrack = ev.value.track;
|
|
@@ -181,7 +181,7 @@ class Room extends import_events.default {
|
|
|
181
181
|
}
|
|
182
182
|
this.emit("trackSubscribed" /* TrackSubscribed */, publication.track, publication, participant);
|
|
183
183
|
} catch (e) {
|
|
184
|
-
|
|
184
|
+
import_log.log.warn(`RoomEvent.TrackSubscribed: ${e.message}`);
|
|
185
185
|
}
|
|
186
186
|
} else if (ev.case == "trackUnsubscribed") {
|
|
187
187
|
try {
|
|
@@ -194,7 +194,7 @@ class Room extends import_events.default {
|
|
|
194
194
|
publication.subscribed = false;
|
|
195
195
|
this.emit("trackUnsubscribed" /* TrackUnsubscribed */, track, publication, participant);
|
|
196
196
|
} catch (e) {
|
|
197
|
-
|
|
197
|
+
import_log.log.warn(`RoomEvent.TrackUnsubscribed: ${e.message}`);
|
|
198
198
|
}
|
|
199
199
|
} else if (ev.case == "trackSubscriptionFailed") {
|
|
200
200
|
try {
|
|
@@ -206,7 +206,7 @@ class Room extends import_events.default {
|
|
|
206
206
|
ev.value.error
|
|
207
207
|
);
|
|
208
208
|
} catch (e) {
|
|
209
|
-
|
|
209
|
+
import_log.log.warn(`RoomEvent.TrackSubscriptionFailed: ${e.message}`);
|
|
210
210
|
}
|
|
211
211
|
} else if (ev.case == "trackMuted") {
|
|
212
212
|
try {
|
|
@@ -220,7 +220,7 @@ class Room extends import_events.default {
|
|
|
220
220
|
}
|
|
221
221
|
this.emit("trackMuted" /* TrackMuted */, publication, participant);
|
|
222
222
|
} catch (e) {
|
|
223
|
-
|
|
223
|
+
import_log.log.warn(`RoomEvent.TrackMuted: ${e.message}`);
|
|
224
224
|
}
|
|
225
225
|
} else if (ev.case == "trackUnmuted") {
|
|
226
226
|
try {
|
|
@@ -234,7 +234,7 @@ class Room extends import_events.default {
|
|
|
234
234
|
}
|
|
235
235
|
this.emit("trackUnmuted" /* TrackUnmuted */, publication, participant);
|
|
236
236
|
} catch (e) {
|
|
237
|
-
|
|
237
|
+
import_log.log.warn(`RoomEvent.TrackUnmuted: ${e.message}`);
|
|
238
238
|
}
|
|
239
239
|
} else if (ev.case == "activeSpeakersChanged") {
|
|
240
240
|
try {
|
|
@@ -243,7 +243,7 @@ class Room extends import_events.default {
|
|
|
243
243
|
);
|
|
244
244
|
this.emit("activeSpeakersChanged" /* ActiveSpeakersChanged */, activeSpeakers);
|
|
245
245
|
} catch (e) {
|
|
246
|
-
|
|
246
|
+
import_log.log.warn(`RoomEvent.ActiveSpeakersChanged: ${e.message}`);
|
|
247
247
|
}
|
|
248
248
|
} else if (ev.case == "roomMetadataChanged") {
|
|
249
249
|
this.info.metadata = ev.value.metadata ?? "";
|
|
@@ -254,7 +254,7 @@ class Room extends import_events.default {
|
|
|
254
254
|
participant.info.metadata = ev.value.metadata;
|
|
255
255
|
this.emit("participantMetadataChanged" /* ParticipantMetadataChanged */, participant.metadata, participant);
|
|
256
256
|
} catch (e) {
|
|
257
|
-
|
|
257
|
+
import_log.log.warn(`RoomEvent.ParticipantMetadataChanged: ${e.message}`);
|
|
258
258
|
}
|
|
259
259
|
} else if (ev.case == "participantNameChanged") {
|
|
260
260
|
try {
|
|
@@ -262,7 +262,7 @@ class Room extends import_events.default {
|
|
|
262
262
|
participant.info.name = ev.value.name;
|
|
263
263
|
this.emit("participantNameChanged" /* ParticipantNameChanged */, participant.name, participant);
|
|
264
264
|
} catch (e) {
|
|
265
|
-
|
|
265
|
+
import_log.log.warn(`RoomEvent.ParticipantNameChanged: ${e.message}`);
|
|
266
266
|
}
|
|
267
267
|
} else if (ev.case == "participantAttributesChanged") {
|
|
268
268
|
try {
|
|
@@ -285,14 +285,14 @@ class Room extends import_events.default {
|
|
|
285
285
|
this.emit("participantAttributesChanged" /* ParticipantAttributesChanged */, changedAttributes, participant);
|
|
286
286
|
}
|
|
287
287
|
} catch (e) {
|
|
288
|
-
|
|
288
|
+
import_log.log.warn(`RoomEvent.ParticipantAttributesChanged: ${e.message}`);
|
|
289
289
|
}
|
|
290
290
|
} else if (ev.case == "connectionQualityChanged") {
|
|
291
291
|
try {
|
|
292
292
|
const participant = this.requireParticipantByIdentity(ev.value.participantIdentity);
|
|
293
293
|
this.emit("connectionQualityChanged" /* ConnectionQualityChanged */, ev.value.quality, participant);
|
|
294
294
|
} catch (e) {
|
|
295
|
-
|
|
295
|
+
import_log.log.warn(`RoomEvent.ConnectionQualityChanged: ${e.message}`);
|
|
296
296
|
}
|
|
297
297
|
} else if (ev.case == "chatMessage") {
|
|
298
298
|
const participant = this.retrieveParticipantByIdentity(ev.value.participantIdentity);
|
|
@@ -373,8 +373,11 @@ class Room extends import_events.default {
|
|
|
373
373
|
participant
|
|
374
374
|
);
|
|
375
375
|
} catch (e) {
|
|
376
|
-
|
|
376
|
+
import_log.log.warn(`RoomEvent.ParticipantEncryptionStatusChanged: ${e.message}`);
|
|
377
377
|
}
|
|
378
|
+
} else if (ev.case === "tokenRefreshed") {
|
|
379
|
+
this._token = ev.value.token;
|
|
380
|
+
this.emit("tokenRefreshed");
|
|
378
381
|
}
|
|
379
382
|
};
|
|
380
383
|
}
|
|
@@ -389,6 +392,14 @@ class Room extends import_events.default {
|
|
|
389
392
|
get isConnected() {
|
|
390
393
|
return this.ffiHandle != void 0 && this.connectionState != import_room_pb.ConnectionState.CONN_DISCONNECTED;
|
|
391
394
|
}
|
|
395
|
+
/** @internal */
|
|
396
|
+
get token() {
|
|
397
|
+
return this._token;
|
|
398
|
+
}
|
|
399
|
+
/** @internal */
|
|
400
|
+
get serverUrl() {
|
|
401
|
+
return this._serverUrl;
|
|
402
|
+
}
|
|
392
403
|
/**
|
|
393
404
|
* Gets the room's server ID. This ID is assigned by the LiveKit server
|
|
394
405
|
* and is unique for each room session.
|
|
@@ -427,7 +438,11 @@ class Room extends import_events.default {
|
|
|
427
438
|
}
|
|
428
439
|
get creationTime() {
|
|
429
440
|
var _a;
|
|
430
|
-
|
|
441
|
+
let creationTimeMs = Number(((_a = this.info) == null ? void 0 : _a.creationTime) ?? 0);
|
|
442
|
+
if (creationTimeMs > 0 && creationTimeMs < 1e12) {
|
|
443
|
+
creationTimeMs *= 1e3;
|
|
444
|
+
}
|
|
445
|
+
return new Date(creationTimeMs);
|
|
431
446
|
}
|
|
432
447
|
get isRecording() {
|
|
433
448
|
var _a;
|
|
@@ -450,10 +465,10 @@ class Room extends import_events.default {
|
|
|
450
465
|
}
|
|
451
466
|
/**
|
|
452
467
|
* Connects to a LiveKit room using the provided URL and access token.
|
|
453
|
-
* @param url The WebSocket URL of the LiveKit server
|
|
454
|
-
* @param token A valid LiveKit access token for authentication
|
|
455
|
-
* @param opts Optional room configuration options
|
|
456
|
-
* @throws ConnectError if connection fails
|
|
468
|
+
* @param url - The WebSocket URL of the LiveKit server
|
|
469
|
+
* @param token - A valid LiveKit access token for authentication
|
|
470
|
+
* @param opts - Optional room configuration options
|
|
471
|
+
* @throws ConnectError - if connection fails
|
|
457
472
|
*/
|
|
458
473
|
async connect(url, token, opts) {
|
|
459
474
|
const options = { ...defaultRoomOptions, ...opts };
|
|
@@ -479,6 +494,8 @@ class Room extends import_events.default {
|
|
|
479
494
|
case "result":
|
|
480
495
|
this.ffiHandle = new import_ffi_client.FfiHandle(cb.message.value.room.handle.id);
|
|
481
496
|
this.e2eeManager = e2eeEnabled && new import_e2ee.E2EEManager(this.ffiHandle.handle, e2eeOptions);
|
|
497
|
+
this._token = token;
|
|
498
|
+
this._serverUrl = url;
|
|
482
499
|
this.info = cb.message.value.room.info;
|
|
483
500
|
this.connectionState = import_room_pb.ConnectionState.CONN_CONNECTED;
|
|
484
501
|
this.localParticipant = new import_participant.LocalParticipant(
|
|
@@ -524,9 +541,9 @@ class Room extends import_events.default {
|
|
|
524
541
|
/**
|
|
525
542
|
* Registers a handler for incoming text data streams on a specific topic.
|
|
526
543
|
* Text streams are used for receiving structured text data from other participants.
|
|
527
|
-
* @param topic The topic to listen for text streams on
|
|
528
|
-
* @param callback Function to handle incoming text stream data
|
|
529
|
-
* @throws Error if a handler for this topic is already registered
|
|
544
|
+
* @param topic - The topic to listen for text streams on
|
|
545
|
+
* @param callback - Function to handle incoming text stream data
|
|
546
|
+
* @throws Error - if a handler for this topic is already registered
|
|
530
547
|
*/
|
|
531
548
|
registerTextStreamHandler(topic, callback) {
|
|
532
549
|
if (this.textStreamHandlers.has(topic)) {
|
|
@@ -540,9 +557,9 @@ class Room extends import_events.default {
|
|
|
540
557
|
/**
|
|
541
558
|
* Registers a handler for incoming byte data streams on a specific topic.
|
|
542
559
|
* Byte streams are used for receiving binary data like files from other participants.
|
|
543
|
-
* @param topic The topic to listen for byte streams on
|
|
544
|
-
* @param callback Function to handle incoming byte stream data
|
|
545
|
-
* @throws Error if a handler for this topic is already registered
|
|
560
|
+
* @param topic - The topic to listen for byte streams on
|
|
561
|
+
* @param callback - Function to handle incoming byte stream data
|
|
562
|
+
* @throws Error - if a handler for this topic is already registered
|
|
546
563
|
*/
|
|
547
564
|
registerByteStreamHandler(topic, callback) {
|
|
548
565
|
if (this.byteStreamHandlers.has(topic)) {
|
|
@@ -735,6 +752,7 @@ var RoomEvent = /* @__PURE__ */ ((RoomEvent2) => {
|
|
|
735
752
|
RoomEvent2["Reconnected"] = "reconnected";
|
|
736
753
|
RoomEvent2["RoomUpdated"] = "roomUpdated";
|
|
737
754
|
RoomEvent2["Moved"] = "moved";
|
|
755
|
+
RoomEvent2["TokenRefreshed"] = "tokenRefreshed";
|
|
738
756
|
return RoomEvent2;
|
|
739
757
|
})(RoomEvent || {});
|
|
740
758
|
// Annotate the CommonJS export names for ESM import in node:
|