livekit 1.2.1__py3-none-win_arm64.whl
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.
- livekit/rtc/__init__.py +264 -0
- livekit/rtc/_ffi_client.py +321 -0
- livekit/rtc/_proto/__init__.py +0 -0
- livekit/rtc/_proto/audio_frame_pb2.py +159 -0
- livekit/rtc/_proto/audio_frame_pb2.pyi +1560 -0
- livekit/rtc/_proto/capture_pb2.py +70 -0
- livekit/rtc/_proto/capture_pb2.pyi +559 -0
- livekit/rtc/_proto/data_stream_pb2.py +171 -0
- livekit/rtc/_proto/data_stream_pb2.pyi +1498 -0
- livekit/rtc/_proto/data_track_pb2.py +120 -0
- livekit/rtc/_proto/data_track_pb2.pyi +1073 -0
- livekit/rtc/_proto/e2ee_pb2.py +81 -0
- livekit/rtc/_proto/e2ee_pb2.pyi +591 -0
- livekit/rtc/_proto/ffi_pb2.py +55 -0
- livekit/rtc/_proto/ffi_pb2.pyi +1246 -0
- livekit/rtc/_proto/handle_pb2.py +27 -0
- livekit/rtc/_proto/handle_pb2.pyi +51 -0
- livekit/rtc/_proto/participant_pb2.py +45 -0
- livekit/rtc/_proto/participant_pb2.pyi +313 -0
- livekit/rtc/_proto/room_pb2.py +311 -0
- livekit/rtc/_proto/room_pb2.pyi +3136 -0
- livekit/rtc/_proto/rpc_pb2.py +47 -0
- livekit/rtc/_proto/rpc_pb2.pyi +261 -0
- livekit/rtc/_proto/stats_pb2.py +123 -0
- livekit/rtc/_proto/stats_pb2.pyi +1514 -0
- livekit/rtc/_proto/track_pb2.py +76 -0
- livekit/rtc/_proto/track_pb2.pyi +544 -0
- livekit/rtc/_proto/track_publication_pb2.py +39 -0
- livekit/rtc/_proto/track_publication_pb2.pyi +145 -0
- livekit/rtc/_proto/video_frame_pb2.py +97 -0
- livekit/rtc/_proto/video_frame_pb2.pyi +838 -0
- livekit/rtc/_utils.py +187 -0
- livekit/rtc/apm.py +119 -0
- livekit/rtc/audio_filter.py +23 -0
- livekit/rtc/audio_frame.py +242 -0
- livekit/rtc/audio_mixer.py +247 -0
- livekit/rtc/audio_resampler.py +174 -0
- livekit/rtc/audio_source.py +191 -0
- livekit/rtc/audio_stream.py +354 -0
- livekit/rtc/data_stream.py +640 -0
- livekit/rtc/data_track.py +296 -0
- livekit/rtc/e2ee.py +320 -0
- livekit/rtc/encoded_video.py +127 -0
- livekit/rtc/event_emitter.py +215 -0
- livekit/rtc/frame_processor.py +37 -0
- livekit/rtc/jupyter.py +68 -0
- livekit/rtc/log.py +3 -0
- livekit/rtc/media_devices.py +596 -0
- livekit/rtc/participant.py +1171 -0
- livekit/rtc/platform_audio.py +426 -0
- livekit/rtc/py.typed +0 -0
- livekit/rtc/resources/LICENSE.md +4055 -0
- livekit/rtc/resources/__init__.py +1 -0
- livekit/rtc/resources/jupyter-html/index.html +101 -0
- livekit/rtc/resources/livekit_ffi.dll +0 -0
- livekit/rtc/resources/livekit_ffi.h +42 -0
- livekit/rtc/room.py +1304 -0
- livekit/rtc/rpc.py +244 -0
- livekit/rtc/synchronizer.py +202 -0
- livekit/rtc/track.py +264 -0
- livekit/rtc/track_publication.py +145 -0
- livekit/rtc/transcription.py +19 -0
- livekit/rtc/utils.py +138 -0
- livekit/rtc/version.py +1 -0
- livekit/rtc/video_frame.py +347 -0
- livekit/rtc/video_source.py +74 -0
- livekit/rtc/video_stream.py +191 -0
- livekit-1.2.1.dist-info/METADATA +80 -0
- livekit-1.2.1.dist-info/RECORD +71 -0
- livekit-1.2.1.dist-info/WHEEL +5 -0
- livekit-1.2.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: capture.proto
|
|
4
|
+
# Protobuf Python Version: 4.25.1
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from . import handle_pb2 as handle__pb2
|
|
16
|
+
from . import room_pb2 as room__pb2
|
|
17
|
+
from . import video_frame_pb2 as video__frame__pb2
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rcapture.proto\x12\rlivekit.proto\x1a\x0chandle.proto\x1a\nroom.proto\x1a\x11video_frame.proto\"l\n\x14GstreamerRateControl\x12\x0f\n\x07\x65lement\x18\x01 \x02(\t\x12\x10\n\x08property\x18\x02 \x02(\t\x12\x31\n\x04unit\x18\x03 \x02(\x0e\x32#.livekit.proto.GstreamerBitrateUnit\"\xcd\x01\n\x1aGstreamerVideoSourceConfig\x12\x10\n\x08pipeline\x18\x01 \x02(\t\x12(\n\x05\x63odec\x18\x02 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12\x38\n\nresolution\x18\x03 \x01(\x0b\x32$.livekit.proto.VideoSourceResolution\x12\x39\n\x0crate_control\x18\x04 \x01(\x0b\x32#.livekit.proto.GstreamerRateControl\"\x94\x01\n\x18PatternVideoSourceConfig\x12\x38\n\nresolution\x18\x01 \x02(\x0b\x32$.livekit.proto.VideoSourceResolution\x12\x15\n\rframerate_fps\x18\x02 \x02(\r\x12\'\n\x07pattern\x18\x03 \x02(\x0e\x32\x16.livekit.proto.Pattern\"i\n\x16\x43lockVideoSourceConfig\x12\x38\n\nresolution\x18\x01 \x02(\x0b\x32$.livekit.proto.VideoSourceResolution\x12\x15\n\rframerate_fps\x18\x02 \x02(\r\"\xa7\x02\n\x11\x43\x61ptureSourceInfo\x12.\n\x04kind\x18\x01 \x02(\x0e\x32 .livekit.proto.CaptureSourceKind\x12\x38\n\nresolution\x18\x02 \x02(\x0b\x32$.livekit.proto.VideoSourceResolution\x12(\n\x05\x63odec\x18\x03 \x01(\x0e\x32\x19.livekit.proto.VideoCodec\x12G\n\x1brecommended_publish_options\x18\x04 \x02(\x0b\x32\".livekit.proto.TrackPublishOptions\x12\x35\n\x0cvideo_source\x18\x05 \x02(\x0b\x32\x1f.livekit.proto.OwnedVideoSource\"s\n\x12OwnedCaptureSource\x12-\n\x06handle\x18\x01 \x02(\x0b\x32\x1d.livekit.proto.FfiOwnedHandle\x12.\n\x04info\x18\x02 \x02(\x0b\x32 .livekit.proto.CaptureSourceInfo\"\xf1\x01\n\x17NewCaptureSourceRequest\x12>\n\tgstreamer\x18\x01 \x01(\x0b\x32).livekit.proto.GstreamerVideoSourceConfigH\x00\x12:\n\x07pattern\x18\x02 \x01(\x0b\x32\'.livekit.proto.PatternVideoSourceConfigH\x00\x12\x36\n\x05\x63lock\x18\x05 \x01(\x0b\x32%.livekit.proto.ClockVideoSourceConfigH\x00\x12\x18\n\x10request_async_id\x18\x03 \x01(\x04\x42\x08\n\x06\x63onfig\",\n\x18NewCaptureSourceResponse\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\"}\n\x18NewCaptureSourceCallback\x12\x10\n\x08\x61sync_id\x18\x01 \x02(\x04\x12\x0f\n\x05\x65rror\x18\x02 \x01(\tH\x00\x12\x33\n\x06source\x18\x03 \x01(\x0b\x32!.livekit.proto.OwnedCaptureSourceH\x00\x42\t\n\x07message\"-\n\x13StartCaptureRequest\x12\x16\n\x0e\x63\x61pture_handle\x18\x01 \x02(\x04\"%\n\x14StartCaptureResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\",\n\x12StopCaptureRequest\x12\x16\n\x0e\x63\x61pture_handle\x18\x01 \x02(\x04\"$\n\x13StopCaptureResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"T\n\x0f\x43\x61ptureFinished\x12\x17\n\x0f\x66rames_captured\x18\x01 \x02(\x04\x12(\n\x04\x65xit\x18\x02 \x02(\x0e\x32\x1a.livekit.proto.CaptureExit\"L\n\x0c\x43\x61ptureError\x12\r\n\x05\x65rror\x18\x01 \x02(\t\x12-\n\x04kind\x18\x02 \x02(\x0e\x32\x1f.livekit.proto.CaptureErrorKind\"\x99\x01\n\x12\x43\x61ptureSourceEvent\x12\x16\n\x0e\x63\x61pture_handle\x18\x01 \x02(\x04\x12\x32\n\x08\x66inished\x18\x02 \x01(\x0b\x32\x1e.livekit.proto.CaptureFinishedH\x00\x12,\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x1b.livekit.proto.CaptureErrorH\x00\x42\t\n\x07message*W\n\x14GstreamerBitrateUnit\x12\x1e\n\x1aGSTREAMER_BITRATE_UNIT_BPS\x10\x00\x12\x1f\n\x1bGSTREAMER_BITRATE_UNIT_KBPS\x10\x01*1\n\x07Pattern\x12\x14\n\x10PATTERN_GRADIENT\x10\x00\x12\x10\n\x0cPATTERN_LOGO\x10\x01*I\n\x11\x43\x61ptureSourceKind\x12\x18\n\x14\x43\x41PTURE_SOURCE_PIXEL\x10\x00\x12\x1a\n\x16\x43\x41PTURE_SOURCE_ENCODED\x10\x01*G\n\x0b\x43\x61ptureExit\x12\x18\n\x14\x43\x41PTURE_EXIT_STOPPED\x10\x00\x12\x1e\n\x1a\x43\x41PTURE_EXIT_END_OF_STREAM\x10\x01*n\n\x10\x43\x61ptureErrorKind\x12\x1d\n\x19\x43\x41PTURE_ERROR_KIND_SOURCE\x10\x00\x12\x1a\n\x16\x43\x41PTURE_ERROR_KIND_RTC\x10\x01\x12\x1f\n\x1b\x43\x41PTURE_ERROR_KIND_PANICKED\x10\x02\x42\x10\xaa\x02\rLiveKit.Proto')
|
|
21
|
+
|
|
22
|
+
_globals = globals()
|
|
23
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
24
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'capture_pb2', _globals)
|
|
25
|
+
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
26
|
+
_globals['DESCRIPTOR']._options = None
|
|
27
|
+
_globals['DESCRIPTOR']._serialized_options = b'\252\002\rLiveKit.Proto'
|
|
28
|
+
_globals['_GSTREAMERBITRATEUNIT']._serialized_start=1975
|
|
29
|
+
_globals['_GSTREAMERBITRATEUNIT']._serialized_end=2062
|
|
30
|
+
_globals['_PATTERN']._serialized_start=2064
|
|
31
|
+
_globals['_PATTERN']._serialized_end=2113
|
|
32
|
+
_globals['_CAPTURESOURCEKIND']._serialized_start=2115
|
|
33
|
+
_globals['_CAPTURESOURCEKIND']._serialized_end=2188
|
|
34
|
+
_globals['_CAPTUREEXIT']._serialized_start=2190
|
|
35
|
+
_globals['_CAPTUREEXIT']._serialized_end=2261
|
|
36
|
+
_globals['_CAPTUREERRORKIND']._serialized_start=2263
|
|
37
|
+
_globals['_CAPTUREERRORKIND']._serialized_end=2373
|
|
38
|
+
_globals['_GSTREAMERRATECONTROL']._serialized_start=77
|
|
39
|
+
_globals['_GSTREAMERRATECONTROL']._serialized_end=185
|
|
40
|
+
_globals['_GSTREAMERVIDEOSOURCECONFIG']._serialized_start=188
|
|
41
|
+
_globals['_GSTREAMERVIDEOSOURCECONFIG']._serialized_end=393
|
|
42
|
+
_globals['_PATTERNVIDEOSOURCECONFIG']._serialized_start=396
|
|
43
|
+
_globals['_PATTERNVIDEOSOURCECONFIG']._serialized_end=544
|
|
44
|
+
_globals['_CLOCKVIDEOSOURCECONFIG']._serialized_start=546
|
|
45
|
+
_globals['_CLOCKVIDEOSOURCECONFIG']._serialized_end=651
|
|
46
|
+
_globals['_CAPTURESOURCEINFO']._serialized_start=654
|
|
47
|
+
_globals['_CAPTURESOURCEINFO']._serialized_end=949
|
|
48
|
+
_globals['_OWNEDCAPTURESOURCE']._serialized_start=951
|
|
49
|
+
_globals['_OWNEDCAPTURESOURCE']._serialized_end=1066
|
|
50
|
+
_globals['_NEWCAPTURESOURCEREQUEST']._serialized_start=1069
|
|
51
|
+
_globals['_NEWCAPTURESOURCEREQUEST']._serialized_end=1310
|
|
52
|
+
_globals['_NEWCAPTURESOURCERESPONSE']._serialized_start=1312
|
|
53
|
+
_globals['_NEWCAPTURESOURCERESPONSE']._serialized_end=1356
|
|
54
|
+
_globals['_NEWCAPTURESOURCECALLBACK']._serialized_start=1358
|
|
55
|
+
_globals['_NEWCAPTURESOURCECALLBACK']._serialized_end=1483
|
|
56
|
+
_globals['_STARTCAPTUREREQUEST']._serialized_start=1485
|
|
57
|
+
_globals['_STARTCAPTUREREQUEST']._serialized_end=1530
|
|
58
|
+
_globals['_STARTCAPTURERESPONSE']._serialized_start=1532
|
|
59
|
+
_globals['_STARTCAPTURERESPONSE']._serialized_end=1569
|
|
60
|
+
_globals['_STOPCAPTUREREQUEST']._serialized_start=1571
|
|
61
|
+
_globals['_STOPCAPTUREREQUEST']._serialized_end=1615
|
|
62
|
+
_globals['_STOPCAPTURERESPONSE']._serialized_start=1617
|
|
63
|
+
_globals['_STOPCAPTURERESPONSE']._serialized_end=1653
|
|
64
|
+
_globals['_CAPTUREFINISHED']._serialized_start=1655
|
|
65
|
+
_globals['_CAPTUREFINISHED']._serialized_end=1739
|
|
66
|
+
_globals['_CAPTUREERROR']._serialized_start=1741
|
|
67
|
+
_globals['_CAPTUREERROR']._serialized_end=1817
|
|
68
|
+
_globals['_CAPTURESOURCEEVENT']._serialized_start=1820
|
|
69
|
+
_globals['_CAPTURESOURCEEVENT']._serialized_end=1973
|
|
70
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,559 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
Copyright 2026 LiveKit, Inc.
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
|
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
See the License for the specific language governing permissions and
|
|
16
|
+
limitations under the License.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
import builtins
|
|
20
|
+
import google.protobuf.descriptor
|
|
21
|
+
import google.protobuf.internal.enum_type_wrapper
|
|
22
|
+
import google.protobuf.message
|
|
23
|
+
from . import handle_pb2
|
|
24
|
+
from . import room_pb2
|
|
25
|
+
import sys
|
|
26
|
+
import typing
|
|
27
|
+
from . import video_frame_pb2
|
|
28
|
+
|
|
29
|
+
if sys.version_info >= (3, 10):
|
|
30
|
+
import typing as typing_extensions
|
|
31
|
+
else:
|
|
32
|
+
import typing_extensions
|
|
33
|
+
|
|
34
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
35
|
+
|
|
36
|
+
class _GstreamerBitrateUnit:
|
|
37
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
38
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
39
|
+
|
|
40
|
+
class _GstreamerBitrateUnitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GstreamerBitrateUnit.ValueType], builtins.type):
|
|
41
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
42
|
+
GSTREAMER_BITRATE_UNIT_BPS: _GstreamerBitrateUnit.ValueType # 0
|
|
43
|
+
GSTREAMER_BITRATE_UNIT_KBPS: _GstreamerBitrateUnit.ValueType # 1
|
|
44
|
+
|
|
45
|
+
class GstreamerBitrateUnit(_GstreamerBitrateUnit, metaclass=_GstreamerBitrateUnitEnumTypeWrapper):
|
|
46
|
+
"""Capture sources (livekit-capture)
|
|
47
|
+
|
|
48
|
+
A capture source owns a media producer (e.g. a GStreamer pipeline) and the
|
|
49
|
+
pump that forwards its frames into an RTC video source, so no per-frame
|
|
50
|
+
FFI traffic is needed. These requests are only served when the FFI server
|
|
51
|
+
is built with the `capture` feature; otherwise they fail with an error.
|
|
52
|
+
|
|
53
|
+
Usage:
|
|
54
|
+
1. NewCaptureSourceRequest (async): builds and starts the producer,
|
|
55
|
+
discovers stream settings, and returns an OwnedCaptureSource. Its info
|
|
56
|
+
embeds an OwnedVideoSource for the existing CreateVideoTrackRequest and
|
|
57
|
+
the recommended TrackPublishOptions for PublishTrackRequest.
|
|
58
|
+
2. StartCaptureRequest: starts pumping frames into the RTC source.
|
|
59
|
+
3. The capture runs until StopCaptureRequest, end of stream, or an error;
|
|
60
|
+
a CaptureSourceEvent is delivered exactly once when it ends.
|
|
61
|
+
|
|
62
|
+
Bitrate unit expected by a GStreamer encoder property.
|
|
63
|
+
"""
|
|
64
|
+
|
|
65
|
+
GSTREAMER_BITRATE_UNIT_BPS: GstreamerBitrateUnit.ValueType # 0
|
|
66
|
+
GSTREAMER_BITRATE_UNIT_KBPS: GstreamerBitrateUnit.ValueType # 1
|
|
67
|
+
global___GstreamerBitrateUnit = GstreamerBitrateUnit
|
|
68
|
+
|
|
69
|
+
class _Pattern:
|
|
70
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
71
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
72
|
+
|
|
73
|
+
class _PatternEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Pattern.ValueType], builtins.type):
|
|
74
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
75
|
+
PATTERN_GRADIENT: _Pattern.ValueType # 0
|
|
76
|
+
"""Animated color gradient."""
|
|
77
|
+
PATTERN_LOGO: _Pattern.ValueType # 1
|
|
78
|
+
"""Bouncing LiveKit logo."""
|
|
79
|
+
|
|
80
|
+
class Pattern(_Pattern, metaclass=_PatternEnumTypeWrapper):
|
|
81
|
+
"""Test patterns built into livekit-capture."""
|
|
82
|
+
|
|
83
|
+
PATTERN_GRADIENT: Pattern.ValueType # 0
|
|
84
|
+
"""Animated color gradient."""
|
|
85
|
+
PATTERN_LOGO: Pattern.ValueType # 1
|
|
86
|
+
"""Bouncing LiveKit logo."""
|
|
87
|
+
global___Pattern = Pattern
|
|
88
|
+
|
|
89
|
+
class _CaptureSourceKind:
|
|
90
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
91
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
92
|
+
|
|
93
|
+
class _CaptureSourceKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CaptureSourceKind.ValueType], builtins.type):
|
|
94
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
95
|
+
CAPTURE_SOURCE_PIXEL: _CaptureSourceKind.ValueType # 0
|
|
96
|
+
"""Pixel frames, published through the WebRTC encoder."""
|
|
97
|
+
CAPTURE_SOURCE_ENCODED: _CaptureSourceKind.ValueType # 1
|
|
98
|
+
"""Pre-encoded access units, published as passthrough."""
|
|
99
|
+
|
|
100
|
+
class CaptureSourceKind(_CaptureSourceKind, metaclass=_CaptureSourceKindEnumTypeWrapper):
|
|
101
|
+
"""Kind of media a capture source produces."""
|
|
102
|
+
|
|
103
|
+
CAPTURE_SOURCE_PIXEL: CaptureSourceKind.ValueType # 0
|
|
104
|
+
"""Pixel frames, published through the WebRTC encoder."""
|
|
105
|
+
CAPTURE_SOURCE_ENCODED: CaptureSourceKind.ValueType # 1
|
|
106
|
+
"""Pre-encoded access units, published as passthrough."""
|
|
107
|
+
global___CaptureSourceKind = CaptureSourceKind
|
|
108
|
+
|
|
109
|
+
class _CaptureExit:
|
|
110
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
111
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
112
|
+
|
|
113
|
+
class _CaptureExitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CaptureExit.ValueType], builtins.type):
|
|
114
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
115
|
+
CAPTURE_EXIT_STOPPED: _CaptureExit.ValueType # 0
|
|
116
|
+
"""Stopped by StopCaptureRequest (or handle disposal)."""
|
|
117
|
+
CAPTURE_EXIT_END_OF_STREAM: _CaptureExit.ValueType # 1
|
|
118
|
+
"""The producer reached the end of its stream."""
|
|
119
|
+
|
|
120
|
+
class CaptureExit(_CaptureExit, metaclass=_CaptureExitEnumTypeWrapper):
|
|
121
|
+
"""Why a capture ended without error."""
|
|
122
|
+
|
|
123
|
+
CAPTURE_EXIT_STOPPED: CaptureExit.ValueType # 0
|
|
124
|
+
"""Stopped by StopCaptureRequest (or handle disposal)."""
|
|
125
|
+
CAPTURE_EXIT_END_OF_STREAM: CaptureExit.ValueType # 1
|
|
126
|
+
"""The producer reached the end of its stream."""
|
|
127
|
+
global___CaptureExit = CaptureExit
|
|
128
|
+
|
|
129
|
+
class _CaptureErrorKind:
|
|
130
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
131
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
132
|
+
|
|
133
|
+
class _CaptureErrorKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CaptureErrorKind.ValueType], builtins.type):
|
|
134
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
135
|
+
CAPTURE_ERROR_KIND_SOURCE: _CaptureErrorKind.ValueType # 0
|
|
136
|
+
"""The capture source failed or violated its contract."""
|
|
137
|
+
CAPTURE_ERROR_KIND_RTC: _CaptureErrorKind.ValueType # 1
|
|
138
|
+
"""The RTC video source rejected a frame."""
|
|
139
|
+
CAPTURE_ERROR_KIND_PANICKED: _CaptureErrorKind.ValueType # 2
|
|
140
|
+
"""The pump thread panicked."""
|
|
141
|
+
|
|
142
|
+
class CaptureErrorKind(_CaptureErrorKind, metaclass=_CaptureErrorKindEnumTypeWrapper):
|
|
143
|
+
"""Why a capture ended with an error."""
|
|
144
|
+
|
|
145
|
+
CAPTURE_ERROR_KIND_SOURCE: CaptureErrorKind.ValueType # 0
|
|
146
|
+
"""The capture source failed or violated its contract."""
|
|
147
|
+
CAPTURE_ERROR_KIND_RTC: CaptureErrorKind.ValueType # 1
|
|
148
|
+
"""The RTC video source rejected a frame."""
|
|
149
|
+
CAPTURE_ERROR_KIND_PANICKED: CaptureErrorKind.ValueType # 2
|
|
150
|
+
"""The pump thread panicked."""
|
|
151
|
+
global___CaptureErrorKind = CaptureErrorKind
|
|
152
|
+
|
|
153
|
+
@typing.final
|
|
154
|
+
class GstreamerRateControl(google.protobuf.message.Message):
|
|
155
|
+
"""Binding from WebRTC rate-control targets to a GStreamer encoder property."""
|
|
156
|
+
|
|
157
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
158
|
+
|
|
159
|
+
ELEMENT_FIELD_NUMBER: builtins.int
|
|
160
|
+
PROPERTY_FIELD_NUMBER: builtins.int
|
|
161
|
+
UNIT_FIELD_NUMBER: builtins.int
|
|
162
|
+
element: builtins.str
|
|
163
|
+
"""Name of the encoder element in the pipeline (e.g. `lk_encoder`)."""
|
|
164
|
+
property: builtins.str
|
|
165
|
+
"""Bitrate property to set on the element (e.g. `bitrate` for x264enc,
|
|
166
|
+
`target-bitrate` for vp8enc/vp9enc).
|
|
167
|
+
"""
|
|
168
|
+
unit: global___GstreamerBitrateUnit.ValueType
|
|
169
|
+
"""Unit the property expects."""
|
|
170
|
+
def __init__(
|
|
171
|
+
self,
|
|
172
|
+
*,
|
|
173
|
+
element: builtins.str | None = ...,
|
|
174
|
+
property: builtins.str | None = ...,
|
|
175
|
+
unit: global___GstreamerBitrateUnit.ValueType | None = ...,
|
|
176
|
+
) -> None: ...
|
|
177
|
+
def HasField(self, field_name: typing.Literal["element", b"element", "property", b"property", "unit", b"unit"]) -> builtins.bool: ...
|
|
178
|
+
def ClearField(self, field_name: typing.Literal["element", b"element", "property", b"property", "unit", b"unit"]) -> None: ...
|
|
179
|
+
|
|
180
|
+
global___GstreamerRateControl = GstreamerRateControl
|
|
181
|
+
|
|
182
|
+
@typing.final
|
|
183
|
+
class GstreamerVideoSourceConfig(google.protobuf.message.Message):
|
|
184
|
+
"""Encoded ingest from a GStreamer pipeline."""
|
|
185
|
+
|
|
186
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
187
|
+
|
|
188
|
+
PIPELINE_FIELD_NUMBER: builtins.int
|
|
189
|
+
CODEC_FIELD_NUMBER: builtins.int
|
|
190
|
+
RESOLUTION_FIELD_NUMBER: builtins.int
|
|
191
|
+
RATE_CONTROL_FIELD_NUMBER: builtins.int
|
|
192
|
+
pipeline: builtins.str
|
|
193
|
+
"""GStreamer launch description for the encoded producer pipeline.
|
|
194
|
+
Must contain `appsink name=lk_appsink`, or leave exactly one encoded
|
|
195
|
+
video source pad unlinked for the source to attach one to.
|
|
196
|
+
"""
|
|
197
|
+
codec: video_frame_pb2.VideoCodec.ValueType
|
|
198
|
+
"""Codec expected from the pipeline; inferred from pipeline caps when
|
|
199
|
+
omitted.
|
|
200
|
+
"""
|
|
201
|
+
@property
|
|
202
|
+
def resolution(self) -> video_frame_pb2.VideoSourceResolution:
|
|
203
|
+
"""Encoded frame resolution. When omitted, it is discovered from the
|
|
204
|
+
pipeline's negotiated caps; when set, the pipeline output is verified
|
|
205
|
+
against it.
|
|
206
|
+
"""
|
|
207
|
+
|
|
208
|
+
@property
|
|
209
|
+
def rate_control(self) -> global___GstreamerRateControl:
|
|
210
|
+
"""Forwards WebRTC rate-control targets to an encoder element's bitrate
|
|
211
|
+
property. Without this, the pipeline encodes at a fixed bitrate.
|
|
212
|
+
"""
|
|
213
|
+
|
|
214
|
+
def __init__(
|
|
215
|
+
self,
|
|
216
|
+
*,
|
|
217
|
+
pipeline: builtins.str | None = ...,
|
|
218
|
+
codec: video_frame_pb2.VideoCodec.ValueType | None = ...,
|
|
219
|
+
resolution: video_frame_pb2.VideoSourceResolution | None = ...,
|
|
220
|
+
rate_control: global___GstreamerRateControl | None = ...,
|
|
221
|
+
) -> None: ...
|
|
222
|
+
def HasField(self, field_name: typing.Literal["codec", b"codec", "pipeline", b"pipeline", "rate_control", b"rate_control", "resolution", b"resolution"]) -> builtins.bool: ...
|
|
223
|
+
def ClearField(self, field_name: typing.Literal["codec", b"codec", "pipeline", b"pipeline", "rate_control", b"rate_control", "resolution", b"resolution"]) -> None: ...
|
|
224
|
+
|
|
225
|
+
global___GstreamerVideoSourceConfig = GstreamerVideoSourceConfig
|
|
226
|
+
|
|
227
|
+
@typing.final
|
|
228
|
+
class PatternVideoSourceConfig(google.protobuf.message.Message):
|
|
229
|
+
"""Test pattern rendered on the GPU."""
|
|
230
|
+
|
|
231
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
232
|
+
|
|
233
|
+
RESOLUTION_FIELD_NUMBER: builtins.int
|
|
234
|
+
FRAMERATE_FPS_FIELD_NUMBER: builtins.int
|
|
235
|
+
PATTERN_FIELD_NUMBER: builtins.int
|
|
236
|
+
framerate_fps: builtins.int
|
|
237
|
+
"""Output frame rate in frames per second."""
|
|
238
|
+
pattern: global___Pattern.ValueType
|
|
239
|
+
"""Pattern to render."""
|
|
240
|
+
@property
|
|
241
|
+
def resolution(self) -> video_frame_pb2.VideoSourceResolution:
|
|
242
|
+
"""Output resolution."""
|
|
243
|
+
|
|
244
|
+
def __init__(
|
|
245
|
+
self,
|
|
246
|
+
*,
|
|
247
|
+
resolution: video_frame_pb2.VideoSourceResolution | None = ...,
|
|
248
|
+
framerate_fps: builtins.int | None = ...,
|
|
249
|
+
pattern: global___Pattern.ValueType | None = ...,
|
|
250
|
+
) -> None: ...
|
|
251
|
+
def HasField(self, field_name: typing.Literal["framerate_fps", b"framerate_fps", "pattern", b"pattern", "resolution", b"resolution"]) -> builtins.bool: ...
|
|
252
|
+
def ClearField(self, field_name: typing.Literal["framerate_fps", b"framerate_fps", "pattern", b"pattern", "resolution", b"resolution"]) -> None: ...
|
|
253
|
+
|
|
254
|
+
global___PatternVideoSourceConfig = PatternVideoSourceConfig
|
|
255
|
+
|
|
256
|
+
@typing.final
|
|
257
|
+
class ClockVideoSourceConfig(google.protobuf.message.Message):
|
|
258
|
+
"""Wall clock with millisecond precision, rendered on the GPU. Shows the
|
|
259
|
+
local time of the machine that runs the FFI server.
|
|
260
|
+
"""
|
|
261
|
+
|
|
262
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
263
|
+
|
|
264
|
+
RESOLUTION_FIELD_NUMBER: builtins.int
|
|
265
|
+
FRAMERATE_FPS_FIELD_NUMBER: builtins.int
|
|
266
|
+
framerate_fps: builtins.int
|
|
267
|
+
"""Output frame rate in frames per second."""
|
|
268
|
+
@property
|
|
269
|
+
def resolution(self) -> video_frame_pb2.VideoSourceResolution:
|
|
270
|
+
"""Output resolution."""
|
|
271
|
+
|
|
272
|
+
def __init__(
|
|
273
|
+
self,
|
|
274
|
+
*,
|
|
275
|
+
resolution: video_frame_pb2.VideoSourceResolution | None = ...,
|
|
276
|
+
framerate_fps: builtins.int | None = ...,
|
|
277
|
+
) -> None: ...
|
|
278
|
+
def HasField(self, field_name: typing.Literal["framerate_fps", b"framerate_fps", "resolution", b"resolution"]) -> builtins.bool: ...
|
|
279
|
+
def ClearField(self, field_name: typing.Literal["framerate_fps", b"framerate_fps", "resolution", b"resolution"]) -> None: ...
|
|
280
|
+
|
|
281
|
+
global___ClockVideoSourceConfig = ClockVideoSourceConfig
|
|
282
|
+
|
|
283
|
+
@typing.final
|
|
284
|
+
class CaptureSourceInfo(google.protobuf.message.Message):
|
|
285
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
286
|
+
|
|
287
|
+
KIND_FIELD_NUMBER: builtins.int
|
|
288
|
+
RESOLUTION_FIELD_NUMBER: builtins.int
|
|
289
|
+
CODEC_FIELD_NUMBER: builtins.int
|
|
290
|
+
RECOMMENDED_PUBLISH_OPTIONS_FIELD_NUMBER: builtins.int
|
|
291
|
+
VIDEO_SOURCE_FIELD_NUMBER: builtins.int
|
|
292
|
+
kind: global___CaptureSourceKind.ValueType
|
|
293
|
+
codec: video_frame_pb2.VideoCodec.ValueType
|
|
294
|
+
"""Codec produced by the source; encoded sources only."""
|
|
295
|
+
@property
|
|
296
|
+
def resolution(self) -> video_frame_pb2.VideoSourceResolution:
|
|
297
|
+
"""Declared or discovered stream resolution."""
|
|
298
|
+
|
|
299
|
+
@property
|
|
300
|
+
def recommended_publish_options(self) -> room_pb2.TrackPublishOptions:
|
|
301
|
+
"""Publish options derived from the source (codec, encoder backend, ...).
|
|
302
|
+
Merge application options (e.g. track source) over these when calling
|
|
303
|
+
PublishTrackRequest.
|
|
304
|
+
"""
|
|
305
|
+
|
|
306
|
+
@property
|
|
307
|
+
def video_source(self) -> video_frame_pb2.OwnedVideoSource:
|
|
308
|
+
"""RTC video source fed by this capture source; pass its handle to
|
|
309
|
+
CreateVideoTrackRequest. Owned by the client like any other handle.
|
|
310
|
+
"""
|
|
311
|
+
|
|
312
|
+
def __init__(
|
|
313
|
+
self,
|
|
314
|
+
*,
|
|
315
|
+
kind: global___CaptureSourceKind.ValueType | None = ...,
|
|
316
|
+
resolution: video_frame_pb2.VideoSourceResolution | None = ...,
|
|
317
|
+
codec: video_frame_pb2.VideoCodec.ValueType | None = ...,
|
|
318
|
+
recommended_publish_options: room_pb2.TrackPublishOptions | None = ...,
|
|
319
|
+
video_source: video_frame_pb2.OwnedVideoSource | None = ...,
|
|
320
|
+
) -> None: ...
|
|
321
|
+
def HasField(self, field_name: typing.Literal["codec", b"codec", "kind", b"kind", "recommended_publish_options", b"recommended_publish_options", "resolution", b"resolution", "video_source", b"video_source"]) -> builtins.bool: ...
|
|
322
|
+
def ClearField(self, field_name: typing.Literal["codec", b"codec", "kind", b"kind", "recommended_publish_options", b"recommended_publish_options", "resolution", b"resolution", "video_source", b"video_source"]) -> None: ...
|
|
323
|
+
|
|
324
|
+
global___CaptureSourceInfo = CaptureSourceInfo
|
|
325
|
+
|
|
326
|
+
@typing.final
|
|
327
|
+
class OwnedCaptureSource(google.protobuf.message.Message):
|
|
328
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
329
|
+
|
|
330
|
+
HANDLE_FIELD_NUMBER: builtins.int
|
|
331
|
+
INFO_FIELD_NUMBER: builtins.int
|
|
332
|
+
@property
|
|
333
|
+
def handle(self) -> handle_pb2.FfiOwnedHandle: ...
|
|
334
|
+
@property
|
|
335
|
+
def info(self) -> global___CaptureSourceInfo: ...
|
|
336
|
+
def __init__(
|
|
337
|
+
self,
|
|
338
|
+
*,
|
|
339
|
+
handle: handle_pb2.FfiOwnedHandle | None = ...,
|
|
340
|
+
info: global___CaptureSourceInfo | None = ...,
|
|
341
|
+
) -> None: ...
|
|
342
|
+
def HasField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> builtins.bool: ...
|
|
343
|
+
def ClearField(self, field_name: typing.Literal["handle", b"handle", "info", b"info"]) -> None: ...
|
|
344
|
+
|
|
345
|
+
global___OwnedCaptureSource = OwnedCaptureSource
|
|
346
|
+
|
|
347
|
+
@typing.final
|
|
348
|
+
class NewCaptureSourceRequest(google.protobuf.message.Message):
|
|
349
|
+
"""Create a new capture source from configuration.
|
|
350
|
+
|
|
351
|
+
Completes asynchronously with a NewCaptureSourceCallback: construction
|
|
352
|
+
starts the producer and may wait for its first output to discover stream
|
|
353
|
+
settings.
|
|
354
|
+
"""
|
|
355
|
+
|
|
356
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
357
|
+
|
|
358
|
+
GSTREAMER_FIELD_NUMBER: builtins.int
|
|
359
|
+
PATTERN_FIELD_NUMBER: builtins.int
|
|
360
|
+
CLOCK_FIELD_NUMBER: builtins.int
|
|
361
|
+
REQUEST_ASYNC_ID_FIELD_NUMBER: builtins.int
|
|
362
|
+
request_async_id: builtins.int
|
|
363
|
+
@property
|
|
364
|
+
def gstreamer(self) -> global___GstreamerVideoSourceConfig: ...
|
|
365
|
+
@property
|
|
366
|
+
def pattern(self) -> global___PatternVideoSourceConfig: ...
|
|
367
|
+
@property
|
|
368
|
+
def clock(self) -> global___ClockVideoSourceConfig: ...
|
|
369
|
+
def __init__(
|
|
370
|
+
self,
|
|
371
|
+
*,
|
|
372
|
+
gstreamer: global___GstreamerVideoSourceConfig | None = ...,
|
|
373
|
+
pattern: global___PatternVideoSourceConfig | None = ...,
|
|
374
|
+
clock: global___ClockVideoSourceConfig | None = ...,
|
|
375
|
+
request_async_id: builtins.int | None = ...,
|
|
376
|
+
) -> None: ...
|
|
377
|
+
def HasField(self, field_name: typing.Literal["clock", b"clock", "config", b"config", "gstreamer", b"gstreamer", "pattern", b"pattern", "request_async_id", b"request_async_id"]) -> builtins.bool: ...
|
|
378
|
+
def ClearField(self, field_name: typing.Literal["clock", b"clock", "config", b"config", "gstreamer", b"gstreamer", "pattern", b"pattern", "request_async_id", b"request_async_id"]) -> None: ...
|
|
379
|
+
def WhichOneof(self, oneof_group: typing.Literal["config", b"config"]) -> typing.Literal["gstreamer", "pattern", "clock"] | None: ...
|
|
380
|
+
|
|
381
|
+
global___NewCaptureSourceRequest = NewCaptureSourceRequest
|
|
382
|
+
|
|
383
|
+
@typing.final
|
|
384
|
+
class NewCaptureSourceResponse(google.protobuf.message.Message):
|
|
385
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
386
|
+
|
|
387
|
+
ASYNC_ID_FIELD_NUMBER: builtins.int
|
|
388
|
+
async_id: builtins.int
|
|
389
|
+
def __init__(
|
|
390
|
+
self,
|
|
391
|
+
*,
|
|
392
|
+
async_id: builtins.int | None = ...,
|
|
393
|
+
) -> None: ...
|
|
394
|
+
def HasField(self, field_name: typing.Literal["async_id", b"async_id"]) -> builtins.bool: ...
|
|
395
|
+
def ClearField(self, field_name: typing.Literal["async_id", b"async_id"]) -> None: ...
|
|
396
|
+
|
|
397
|
+
global___NewCaptureSourceResponse = NewCaptureSourceResponse
|
|
398
|
+
|
|
399
|
+
@typing.final
|
|
400
|
+
class NewCaptureSourceCallback(google.protobuf.message.Message):
|
|
401
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
402
|
+
|
|
403
|
+
ASYNC_ID_FIELD_NUMBER: builtins.int
|
|
404
|
+
ERROR_FIELD_NUMBER: builtins.int
|
|
405
|
+
SOURCE_FIELD_NUMBER: builtins.int
|
|
406
|
+
async_id: builtins.int
|
|
407
|
+
error: builtins.str
|
|
408
|
+
@property
|
|
409
|
+
def source(self) -> global___OwnedCaptureSource: ...
|
|
410
|
+
def __init__(
|
|
411
|
+
self,
|
|
412
|
+
*,
|
|
413
|
+
async_id: builtins.int | None = ...,
|
|
414
|
+
error: builtins.str | None = ...,
|
|
415
|
+
source: global___OwnedCaptureSource | None = ...,
|
|
416
|
+
) -> None: ...
|
|
417
|
+
def HasField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "source", b"source"]) -> builtins.bool: ...
|
|
418
|
+
def ClearField(self, field_name: typing.Literal["async_id", b"async_id", "error", b"error", "message", b"message", "source", b"source"]) -> None: ...
|
|
419
|
+
def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["error", "source"] | None: ...
|
|
420
|
+
|
|
421
|
+
global___NewCaptureSourceCallback = NewCaptureSourceCallback
|
|
422
|
+
|
|
423
|
+
@typing.final
|
|
424
|
+
class StartCaptureRequest(google.protobuf.message.Message):
|
|
425
|
+
"""Start pumping frames from a capture source into its RTC video source."""
|
|
426
|
+
|
|
427
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
428
|
+
|
|
429
|
+
CAPTURE_HANDLE_FIELD_NUMBER: builtins.int
|
|
430
|
+
capture_handle: builtins.int
|
|
431
|
+
def __init__(
|
|
432
|
+
self,
|
|
433
|
+
*,
|
|
434
|
+
capture_handle: builtins.int | None = ...,
|
|
435
|
+
) -> None: ...
|
|
436
|
+
def HasField(self, field_name: typing.Literal["capture_handle", b"capture_handle"]) -> builtins.bool: ...
|
|
437
|
+
def ClearField(self, field_name: typing.Literal["capture_handle", b"capture_handle"]) -> None: ...
|
|
438
|
+
|
|
439
|
+
global___StartCaptureRequest = StartCaptureRequest
|
|
440
|
+
|
|
441
|
+
@typing.final
|
|
442
|
+
class StartCaptureResponse(google.protobuf.message.Message):
|
|
443
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
444
|
+
|
|
445
|
+
ERROR_FIELD_NUMBER: builtins.int
|
|
446
|
+
error: builtins.str
|
|
447
|
+
def __init__(
|
|
448
|
+
self,
|
|
449
|
+
*,
|
|
450
|
+
error: builtins.str | None = ...,
|
|
451
|
+
) -> None: ...
|
|
452
|
+
def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ...
|
|
453
|
+
def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ...
|
|
454
|
+
|
|
455
|
+
global___StartCaptureResponse = StartCaptureResponse
|
|
456
|
+
|
|
457
|
+
@typing.final
|
|
458
|
+
class StopCaptureRequest(google.protobuf.message.Message):
|
|
459
|
+
"""Signal a running capture to stop after the frame in flight. The terminal
|
|
460
|
+
CaptureSourceEvent follows shortly. Stopping an already-finished capture
|
|
461
|
+
is a no-op.
|
|
462
|
+
"""
|
|
463
|
+
|
|
464
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
465
|
+
|
|
466
|
+
CAPTURE_HANDLE_FIELD_NUMBER: builtins.int
|
|
467
|
+
capture_handle: builtins.int
|
|
468
|
+
def __init__(
|
|
469
|
+
self,
|
|
470
|
+
*,
|
|
471
|
+
capture_handle: builtins.int | None = ...,
|
|
472
|
+
) -> None: ...
|
|
473
|
+
def HasField(self, field_name: typing.Literal["capture_handle", b"capture_handle"]) -> builtins.bool: ...
|
|
474
|
+
def ClearField(self, field_name: typing.Literal["capture_handle", b"capture_handle"]) -> None: ...
|
|
475
|
+
|
|
476
|
+
global___StopCaptureRequest = StopCaptureRequest
|
|
477
|
+
|
|
478
|
+
@typing.final
|
|
479
|
+
class StopCaptureResponse(google.protobuf.message.Message):
|
|
480
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
481
|
+
|
|
482
|
+
ERROR_FIELD_NUMBER: builtins.int
|
|
483
|
+
error: builtins.str
|
|
484
|
+
def __init__(
|
|
485
|
+
self,
|
|
486
|
+
*,
|
|
487
|
+
error: builtins.str | None = ...,
|
|
488
|
+
) -> None: ...
|
|
489
|
+
def HasField(self, field_name: typing.Literal["error", b"error"]) -> builtins.bool: ...
|
|
490
|
+
def ClearField(self, field_name: typing.Literal["error", b"error"]) -> None: ...
|
|
491
|
+
|
|
492
|
+
global___StopCaptureResponse = StopCaptureResponse
|
|
493
|
+
|
|
494
|
+
@typing.final
|
|
495
|
+
class CaptureFinished(google.protobuf.message.Message):
|
|
496
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
497
|
+
|
|
498
|
+
FRAMES_CAPTURED_FIELD_NUMBER: builtins.int
|
|
499
|
+
EXIT_FIELD_NUMBER: builtins.int
|
|
500
|
+
frames_captured: builtins.int
|
|
501
|
+
exit: global___CaptureExit.ValueType
|
|
502
|
+
def __init__(
|
|
503
|
+
self,
|
|
504
|
+
*,
|
|
505
|
+
frames_captured: builtins.int | None = ...,
|
|
506
|
+
exit: global___CaptureExit.ValueType | None = ...,
|
|
507
|
+
) -> None: ...
|
|
508
|
+
def HasField(self, field_name: typing.Literal["exit", b"exit", "frames_captured", b"frames_captured"]) -> builtins.bool: ...
|
|
509
|
+
def ClearField(self, field_name: typing.Literal["exit", b"exit", "frames_captured", b"frames_captured"]) -> None: ...
|
|
510
|
+
|
|
511
|
+
global___CaptureFinished = CaptureFinished
|
|
512
|
+
|
|
513
|
+
@typing.final
|
|
514
|
+
class CaptureError(google.protobuf.message.Message):
|
|
515
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
516
|
+
|
|
517
|
+
ERROR_FIELD_NUMBER: builtins.int
|
|
518
|
+
KIND_FIELD_NUMBER: builtins.int
|
|
519
|
+
error: builtins.str
|
|
520
|
+
kind: global___CaptureErrorKind.ValueType
|
|
521
|
+
def __init__(
|
|
522
|
+
self,
|
|
523
|
+
*,
|
|
524
|
+
error: builtins.str | None = ...,
|
|
525
|
+
kind: global___CaptureErrorKind.ValueType | None = ...,
|
|
526
|
+
) -> None: ...
|
|
527
|
+
def HasField(self, field_name: typing.Literal["error", b"error", "kind", b"kind"]) -> builtins.bool: ...
|
|
528
|
+
def ClearField(self, field_name: typing.Literal["error", b"error", "kind", b"kind"]) -> None: ...
|
|
529
|
+
|
|
530
|
+
global___CaptureError = CaptureError
|
|
531
|
+
|
|
532
|
+
@typing.final
|
|
533
|
+
class CaptureSourceEvent(google.protobuf.message.Message):
|
|
534
|
+
"""Delivered exactly once when a started capture ends, regardless of why
|
|
535
|
+
(stop request, end of stream, or failure).
|
|
536
|
+
"""
|
|
537
|
+
|
|
538
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
539
|
+
|
|
540
|
+
CAPTURE_HANDLE_FIELD_NUMBER: builtins.int
|
|
541
|
+
FINISHED_FIELD_NUMBER: builtins.int
|
|
542
|
+
ERROR_FIELD_NUMBER: builtins.int
|
|
543
|
+
capture_handle: builtins.int
|
|
544
|
+
@property
|
|
545
|
+
def finished(self) -> global___CaptureFinished: ...
|
|
546
|
+
@property
|
|
547
|
+
def error(self) -> global___CaptureError: ...
|
|
548
|
+
def __init__(
|
|
549
|
+
self,
|
|
550
|
+
*,
|
|
551
|
+
capture_handle: builtins.int | None = ...,
|
|
552
|
+
finished: global___CaptureFinished | None = ...,
|
|
553
|
+
error: global___CaptureError | None = ...,
|
|
554
|
+
) -> None: ...
|
|
555
|
+
def HasField(self, field_name: typing.Literal["capture_handle", b"capture_handle", "error", b"error", "finished", b"finished", "message", b"message"]) -> builtins.bool: ...
|
|
556
|
+
def ClearField(self, field_name: typing.Literal["capture_handle", b"capture_handle", "error", b"error", "finished", b"finished", "message", b"message"]) -> None: ...
|
|
557
|
+
def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["finished", "error"] | None: ...
|
|
558
|
+
|
|
559
|
+
global___CaptureSourceEvent = CaptureSourceEvent
|