Files
IQ.Pilot/artifacts/package_runtime/libdatachannel/__init__.pyi
T
2026-08-31 23:04:09 -05:00

1963 lines
49 KiB
Python

from collections.abc import Callable, Sequence
import datetime
import enum
from typing import overload
class IceServer:
@overload
def __init__(self, arg: str, /) -> None: ...
@overload
def __init__(self, arg0: str, arg1: int, /) -> None: ...
@overload
def __init__(self, arg0: str, arg1: str, /) -> None: ...
@overload
def __init__(self, hostname: str, port: int, username: str, password: str, relay_type: IceServer.RelayType = IceServer.RelayType.TurnUdp) -> None: ...
@overload
def __init__(self, hostname: str, service: str, username: str, password: str, relay_type: IceServer.RelayType = IceServer.RelayType.TurnUdp) -> None: ...
class Type(enum.Enum):
Stun = 0
Turn = 1
class RelayType(enum.Enum):
TurnUdp = 0
TurnTcp = 1
TurnTls = 2
@property
def hostname(self) -> str: ...
@hostname.setter
def hostname(self, arg: str, /) -> None: ...
@property
def port(self) -> int: ...
@port.setter
def port(self, arg: int, /) -> None: ...
@property
def type(self) -> IceServer.Type: ...
@type.setter
def type(self, arg: IceServer.Type, /) -> None: ...
@property
def username(self) -> str: ...
@username.setter
def username(self, arg: str, /) -> None: ...
@property
def password(self) -> str: ...
@password.setter
def password(self, arg: str, /) -> None: ...
@property
def relay_type(self) -> IceServer.RelayType: ...
@relay_type.setter
def relay_type(self, arg: IceServer.RelayType, /) -> None: ...
class ProxyServer:
@overload
def __init__(self, arg: str, /) -> None: ...
@overload
def __init__(self, arg0: ProxyServer.Type, arg1: str, arg2: int, /) -> None: ...
@overload
def __init__(self, arg0: ProxyServer.Type, arg1: str, arg2: int, arg3: str, arg4: str, /) -> None: ...
class Type(enum.Enum):
Http = 0
Socks5 = 1
@property
def type(self) -> ProxyServer.Type: ...
@type.setter
def type(self, arg: ProxyServer.Type, /) -> None: ...
@property
def hostname(self) -> str: ...
@hostname.setter
def hostname(self, arg: str, /) -> None: ...
@property
def port(self) -> int: ...
@port.setter
def port(self, arg: int, /) -> None: ...
@property
def username(self) -> str | None: ...
@username.setter
def username(self, arg: str | None) -> None: ...
@property
def password(self) -> str | None: ...
@password.setter
def password(self, arg: str | None) -> None: ...
class CertificateType(enum.Enum):
Default = 0
Ecdsa = 1
Rsa = 2
class TransportPolicy(enum.Enum):
All = 0
Relay = 1
class Configuration:
def __init__(self) -> None: ...
@property
def ice_servers(self) -> list[IceServer]: ...
@ice_servers.setter
def ice_servers(self, arg: Sequence[IceServer], /) -> None: ...
@property
def proxy_server(self) -> ProxyServer | None: ...
@proxy_server.setter
def proxy_server(self, arg: ProxyServer | None) -> None: ...
@property
def bind_address(self) -> str | None: ...
@bind_address.setter
def bind_address(self, arg: str | None) -> None: ...
@property
def certificate_type(self) -> CertificateType: ...
@certificate_type.setter
def certificate_type(self, arg: CertificateType, /) -> None: ...
@property
def ice_transport_policy(self) -> TransportPolicy: ...
@ice_transport_policy.setter
def ice_transport_policy(self, arg: TransportPolicy, /) -> None: ...
@property
def enable_ice_tcp(self) -> bool: ...
@enable_ice_tcp.setter
def enable_ice_tcp(self, arg: bool, /) -> None: ...
@property
def enable_ice_udp_mux(self) -> bool: ...
@enable_ice_udp_mux.setter
def enable_ice_udp_mux(self, arg: bool, /) -> None: ...
@property
def disable_auto_negotiation(self) -> bool: ...
@disable_auto_negotiation.setter
def disable_auto_negotiation(self, arg: bool, /) -> None: ...
@property
def disable_auto_gathering(self) -> bool: ...
@disable_auto_gathering.setter
def disable_auto_gathering(self, arg: bool, /) -> None: ...
@property
def force_media_transport(self) -> bool: ...
@force_media_transport.setter
def force_media_transport(self, arg: bool, /) -> None: ...
@property
def disable_fingerprint_verification(self) -> bool: ...
@disable_fingerprint_verification.setter
def disable_fingerprint_verification(self, arg: bool, /) -> None: ...
@property
def port_range_begin(self) -> int: ...
@port_range_begin.setter
def port_range_begin(self, arg: int, /) -> None: ...
@property
def port_range_end(self) -> int: ...
@port_range_end.setter
def port_range_end(self, arg: int, /) -> None: ...
@property
def mtu(self) -> int | None: ...
@mtu.setter
def mtu(self, arg: int | None) -> None: ...
@property
def max_message_size(self) -> int | None: ...
@max_message_size.setter
def max_message_size(self, arg: int | None) -> None: ...
@property
def certificate_pem_file(self) -> str | None: ...
@certificate_pem_file.setter
def certificate_pem_file(self, arg: str | None) -> None: ...
@property
def key_pem_file(self) -> str | None: ...
@key_pem_file.setter
def key_pem_file(self, arg: str | None) -> None: ...
@property
def key_pem_pass(self) -> str | None: ...
@key_pem_pass.setter
def key_pem_pass(self, arg: str | None) -> None: ...
class WebSocketConfiguration:
def __init__(self) -> None: ...
@property
def disable_tls_verification(self) -> bool: ...
@disable_tls_verification.setter
def disable_tls_verification(self, arg: bool, /) -> None: ...
@property
def proxy_server(self) -> ProxyServer | None: ...
@proxy_server.setter
def proxy_server(self, arg: ProxyServer | None) -> None: ...
@property
def protocols(self) -> list[str]: ...
@protocols.setter
def protocols(self, arg: Sequence[str], /) -> None: ...
@property
def connection_timeout(self) -> datetime.timedelta | None: ...
@connection_timeout.setter
def connection_timeout(self, arg: datetime.timedelta | float | None) -> None: ...
@property
def ping_interval(self) -> datetime.timedelta | None: ...
@ping_interval.setter
def ping_interval(self, arg: datetime.timedelta | float | None) -> None: ...
@property
def max_outstanding_pings(self) -> int | None: ...
@max_outstanding_pings.setter
def max_outstanding_pings(self, arg: int | None) -> None: ...
@property
def ca_certificate_pem_file(self) -> str | None: ...
@ca_certificate_pem_file.setter
def ca_certificate_pem_file(self, arg: str | None) -> None: ...
@property
def certificate_pem_file(self) -> str | None: ...
@certificate_pem_file.setter
def certificate_pem_file(self, arg: str | None) -> None: ...
@property
def key_pem_file(self) -> str | None: ...
@key_pem_file.setter
def key_pem_file(self, arg: str | None) -> None: ...
@property
def key_pem_pass(self) -> str | None: ...
@key_pem_pass.setter
def key_pem_pass(self, arg: str | None) -> None: ...
@property
def max_message_size(self) -> int | None: ...
@max_message_size.setter
def max_message_size(self, arg: int | None) -> None: ...
class WebSocketServerConfiguration:
def __init__(self) -> None: ...
@property
def port(self) -> int: ...
@port.setter
def port(self, arg: int, /) -> None: ...
@property
def enable_tls(self) -> bool: ...
@enable_tls.setter
def enable_tls(self, arg: bool, /) -> None: ...
@property
def certificate_pem_file(self) -> str | None: ...
@certificate_pem_file.setter
def certificate_pem_file(self, arg: str | None) -> None: ...
@property
def key_pem_file(self) -> str | None: ...
@key_pem_file.setter
def key_pem_file(self, arg: str | None) -> None: ...
@property
def key_pem_pass(self) -> str | None: ...
@key_pem_pass.setter
def key_pem_pass(self, arg: str | None) -> None: ...
@property
def bind_address(self) -> str | None: ...
@bind_address.setter
def bind_address(self, arg: str | None) -> None: ...
@property
def connection_timeout(self) -> datetime.timedelta | None: ...
@connection_timeout.setter
def connection_timeout(self, arg: datetime.timedelta | float | None) -> None: ...
@property
def max_message_size(self) -> int | None: ...
@max_message_size.setter
def max_message_size(self, arg: int | None) -> None: ...
class CertificateFingerprint:
def __init__(self) -> None: ...
class Algorithm(enum.Enum):
Sha1 = 0
Sha224 = 1
Sha256 = 2
Sha384 = 3
Sha512 = 4
@property
def algorithm(self) -> CertificateFingerprint.Algorithm: ...
@algorithm.setter
def algorithm(self, arg: CertificateFingerprint.Algorithm, /) -> None: ...
@property
def value(self) -> str: ...
@value.setter
def value(self, arg: str, /) -> None: ...
def is_valid(self) -> bool: ...
@staticmethod
def algorithm_identifier(arg: CertificateFingerprint.Algorithm, /) -> str: ...
@staticmethod
def algorithm_size(arg: CertificateFingerprint.Algorithm, /) -> int: ...
class Description:
@overload
def __init__(self, sdp: str, type: Description.Type = Description.Type.Unspec, role: Description.Role = Description.Role.ActPass) -> None: ...
@overload
def __init__(self, sdp: str, type_string: str) -> None: ...
class Type(enum.Enum):
Unspec = 0
Offer = 1
Answer = 2
Pranswer = 3
Rollback = 4
class Role(enum.Enum):
ActPass = 0
Passive = 1
Active = 2
class Direction(enum.Enum):
SendOnly = 1
RecvOnly = 2
SendRecv = 3
Inactive = 4
Unknown = 0
class Entry:
class ExtMap:
@overload
def __init__(self, id: int, uri: str, direction: Description.Direction = Description.Direction.Unknown) -> None: ...
@overload
def __init__(self, description: str) -> None: ...
def set_description(self, arg: str, /) -> None: ...
@staticmethod
def parse_id(arg: str, /) -> int: ...
@property
def id(self) -> int: ...
@id.setter
def id(self, arg: int, /) -> None: ...
@property
def uri(self) -> str: ...
@uri.setter
def uri(self, arg: str, /) -> None: ...
@property
def attributes(self) -> str: ...
@attributes.setter
def attributes(self, arg: str, /) -> None: ...
@property
def direction(self) -> Description.Direction: ...
@direction.setter
def direction(self, arg: Description.Direction, /) -> None: ...
def type(self) -> str: ...
def protocol(self) -> str: ...
def description(self) -> str: ...
def mid(self) -> str: ...
def direction(self) -> Description.Direction: ...
def set_direction(self, arg: Description.Direction, /) -> None: ...
def is_removed(self) -> bool: ...
def mark_removed(self) -> None: ...
def attributes(self) -> list[str]: ...
def add_attribute(self, arg: str, /) -> None: ...
def remove_attribute(self, arg: str, /) -> None: ...
def add_rid(self, arg: str, /) -> None: ...
def ext_ids(self) -> list[int]: ...
def add_ext_map(self, arg: Description.Entry.ExtMap, /) -> None: ...
def remove_ext_map(self, arg: int, /) -> None: ...
def __str__(self) -> str: ...
class Application(Description.Entry):
@overload
def __init__(self, mid: str = 'data') -> None: ...
@overload
def __init__(self, mline: str, mid: str) -> None: ...
def reciprocate(self) -> Description.Application: ...
def set_sctp_port(self, arg: int, /) -> None: ...
def hint_sctp_port(self, arg: int, /) -> None: ...
def set_max_message_size(self, arg: int, /) -> None: ...
def sctp_port(self) -> int | None: ...
def max_message_size(self) -> int | None: ...
def parse_sdp_line(self, arg: str, /) -> None: ...
class Media(Description.Entry):
@overload
def __init__(self, mline: str, mid: str, direction: Description.Direction = Description.Direction.SendOnly) -> None: ...
@overload
def __init__(self, sdp: str) -> None: ...
def description(self) -> str: ...
def reciprocate(self) -> Description.Media: ...
def add_ssrc(self, ssrc: int, name: str | None, msid: str | None = None, track_id: str | None = None) -> None: ...
def remove_ssrc(self, arg: int, /) -> None: ...
def replace_ssrc(self, arg0: int, arg1: int, arg2: str | None, arg3: str | None, arg4: str | None) -> None: ...
def has_ssrc(self, arg: int, /) -> bool: ...
def clear_ssrcs(self) -> None: ...
def get_ssrcs(self) -> list[int]: ...
def get_cname_for_ssrc(self, arg: int, /) -> str | None: ...
def bitrate(self) -> int: ...
def set_bitrate(self, arg: int, /) -> None: ...
def parse_sdp_line(self, arg: str, /) -> None: ...
def has_payload_type(self, arg: int, /) -> bool: ...
def payload_types(self) -> list[int]: ...
def rtp_map(self, payload_type: int) -> Description.RtpMap: ...
def add_rtp_map(self, map: Description.RtpMap) -> None: ...
def remove_rtp_map(self, payload_type: int) -> None: ...
def remove_format(self, format: str) -> None: ...
def add_rtx_codec(self, payload_type: int, orig_payload_type: int, clock_rate: int) -> None: ...
def as_audio(self) -> Description.Audio: ...
def as_video(self) -> Description.Video: ...
class RtpMap:
@overload
def __init__(self, payload_type: int) -> None: ...
@overload
def __init__(self, description: str) -> None: ...
def set_description(self, arg: str, /) -> None: ...
@staticmethod
def parse_payload_type(arg: str, /) -> int: ...
def add_feedback(self, arg: str, /) -> None: ...
def remove_feedback(self, arg: str, /) -> None: ...
def add_parameter(self, arg: str, /) -> None: ...
def remove_parameter(self, arg: str, /) -> None: ...
@property
def payload_type(self) -> int: ...
@payload_type.setter
def payload_type(self, arg: int, /) -> None: ...
@property
def format(self) -> str: ...
@format.setter
def format(self, arg: str, /) -> None: ...
@property
def clock_rate(self) -> int: ...
@clock_rate.setter
def clock_rate(self, arg: int, /) -> None: ...
@property
def enc_params(self) -> str: ...
@enc_params.setter
def enc_params(self, arg: str, /) -> None: ...
@property
def rtcp_fbs(self) -> list[str]: ...
@rtcp_fbs.setter
def rtcp_fbs(self, arg: Sequence[str], /) -> None: ...
@property
def fmtps(self) -> list[str]: ...
@fmtps.setter
def fmtps(self, arg: Sequence[str], /) -> None: ...
class Audio(Description.Media):
def __init__(self, mid: str = 'audio', direction: Description.Direction = Description.Direction.SendOnly) -> None: ...
def add_audio_codec(self, payload_type: int, codec: str, profile: str | None = None) -> None: ...
def add_opus_codec(self, payload_type: int, profile: str | None = ...) -> None: ...
def add_pcmu_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def add_pcma_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def add_aac_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def add_g722_codec(self, payload_type: int, profile: str | None = None) -> None: ...
class Video(Description.Media):
def __init__(self, mid: str = 'video', direction: Description.Direction = Description.Direction.SendOnly) -> None: ...
def add_video_codec(self, payload_type: int, codec: str, profile: str | None = None) -> None: ...
def add_h264_codec(self, payload_type: int, profile: str | None = ...) -> None: ...
def add_h265_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def add_vp8_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def add_vp9_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def add_av1_codec(self, payload_type: int, profile: str | None = None) -> None: ...
def type(self) -> Description.Type: ...
def type_string(self) -> str: ...
def role(self) -> Description.Role: ...
def bundle_mid(self) -> str: ...
def ice_options(self) -> list[str]: ...
def ice_ufrag(self) -> str | None: ...
def ice_pwd(self) -> str | None: ...
def fingerprint(self) -> CertificateFingerprint | None: ...
def hint_type(self, arg: Description.Type, /) -> None: ...
def add_ice_option(self, arg: str, /) -> None: ...
def remove_ice_option(self, arg: str, /) -> None: ...
def set_ice_attribute(self, ufrag: str, pwd: str) -> None: ...
def set_fingerprint(self, arg: CertificateFingerprint, /) -> None: ...
def __str__(self) -> str: ...
def has_application(self) -> bool: ...
def has_audio_or_video(self) -> bool: ...
def has_mid(self, mid: str) -> bool: ...
@overload
def add_media(self, media: Description.Media) -> int: ...
@overload
def add_media(self, application: Description.Application) -> int: ...
def add_application(self, mid: str = 'data') -> int: ...
def add_video(self, mid: str = 'video', dir: Description.Direction = Description.Direction.SendOnly) -> int: ...
def add_audio(self, mid: str = 'audio', dir: Description.Direction = Description.Direction.SendOnly) -> int: ...
def clear_media(self) -> None: ...
def media(self, arg: int, /) -> object: ...
def media_count(self) -> int: ...
def application(self) -> Description.Application: ...
class Candidate:
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, arg: str, /) -> None: ...
@overload
def __init__(self, candidate: str, mid: str) -> None: ...
class Family(enum.Enum):
Unresolved = 0
Ipv4 = 1
Ipv6 = 2
class Type(enum.Enum):
Unknown = 0
Host = 1
ServerReflexive = 2
PeerReflexive = 3
Relayed = 4
class TransportType(enum.Enum):
Unknown = 0
Udp = 1
TcpActive = 2
TcpPassive = 3
TcpSo = 4
TcpUnknown = 5
class ResolveMode(enum.Enum):
Simple = 0
Lookup = 1
def hint_mid(self, arg: str, /) -> None: ...
@overload
def change_address(self, arg: str, /) -> None: ...
@overload
def change_address(self, arg0: str, arg1: int, /) -> None: ...
@overload
def change_address(self, arg0: str, arg1: str, /) -> None: ...
def resolve(self, mode: Candidate.ResolveMode = Candidate.ResolveMode.Simple) -> bool: ...
def type(self) -> Candidate.Type: ...
def transport_type(self) -> Candidate.TransportType: ...
def priority(self) -> int: ...
def candidate(self) -> str: ...
def mid(self) -> str: ...
def is_resolved(self) -> bool: ...
def family(self) -> Candidate.Family: ...
def address(self) -> str | None: ...
def port(self) -> int | None: ...
def __eq__(self, arg: object, /) -> bool: ...
def __ne__(self, arg: object, /) -> bool: ...
def __str__(self) -> str: ...
class Reliability:
def __init__(self) -> None: ...
@property
def unordered(self) -> bool: ...
@unordered.setter
def unordered(self, arg: bool, /) -> None: ...
@property
def max_packet_lifetime(self) -> datetime.timedelta | None: ...
@max_packet_lifetime.setter
def max_packet_lifetime(self, arg: datetime.timedelta | float | None) -> None: ...
@property
def max_retransmits(self) -> int | None: ...
@max_retransmits.setter
def max_retransmits(self, arg: int | None) -> None: ...
class FrameInfo:
@overload
def __init__(self, timestamp: int) -> None: ...
@overload
def __init__(self, timestamp_seconds: datetime.timedelta | float) -> None: ...
@property
def timestamp(self) -> int: ...
@timestamp.setter
def timestamp(self, arg: int, /) -> None: ...
@property
def payload_type(self) -> int: ...
@payload_type.setter
def payload_type(self, arg: int, /) -> None: ...
@property
def timestamp_seconds(self) -> datetime.timedelta | None: ...
@timestamp_seconds.setter
def timestamp_seconds(self, arg: datetime.timedelta | float | None) -> None: ...
class Message:
def __init__(self, size: int, type: Message.Type = Message.Type.Binary) -> None: ...
class Type(enum.Enum):
Binary = 0
String = 1
Control = 2
Reset = 3
@property
def type(self) -> Message.Type: ...
@type.setter
def type(self, arg: Message.Type, /) -> None: ...
@property
def stream(self) -> int: ...
@stream.setter
def stream(self, arg: int, /) -> None: ...
@property
def dscp(self) -> int: ...
@dscp.setter
def dscp(self, arg: int, /) -> None: ...
@property
def reliability(self) -> Reliability: ...
@reliability.setter
def reliability(self, arg: Reliability, /) -> None: ...
@property
def frame_info(self) -> FrameInfo: ...
@frame_info.setter
def frame_info(self, arg: FrameInfo, /) -> None: ...
def to_bytes(self) -> bytes: ...
def to_str(self) -> str: ...
def __len__(self) -> int: ...
def __getitem__(self, arg: int, /) -> int: ...
def __setitem__(self, arg0: int, arg1: int, /) -> None: ...
def make_message(size: int, type: Message.Type = Message.Type.Binary, stream: int = 0, reliability: Reliability | None = None) -> Message: ...
def make_message_from_data(data: bytes, type: Message.Type = Message.Type.Binary, stream: int = 0, reliability: Reliability | None = None) -> Message: ...
def make_message_with_frame_info(data: bytes, frame_info: FrameInfo) -> Message: ...
def make_message_from_variant(data: bytes | str) -> Message: ...
def message_size(message: Message) -> int: ...
def to_variant(message: Message) -> object: ...
class NalUnitHeader:
def __init__(self) -> None: ...
def forbidden_bit(self) -> bool: ...
def nri(self) -> int: ...
def idc(self) -> int: ...
def unit_type(self) -> int: ...
def set_forbidden_bit(self, arg: bool, /) -> None: ...
def set_nri(self, arg: int, /) -> None: ...
def set_unit_type(self, arg: int, /) -> None: ...
class NalUnitFragmentHeader:
def __init__(self) -> None: ...
def is_start(self) -> bool: ...
def reserved_bit6(self) -> bool: ...
def is_end(self) -> bool: ...
def unit_type(self) -> int: ...
def set_start(self, arg: bool, /) -> None: ...
def set_end(self, arg: bool, /) -> None: ...
def set_reserved_bit6(self, arg: bool, /) -> None: ...
def set_unit_type(self, arg: int, /) -> None: ...
class NalUnitStartSequenceMatch(enum.Enum):
NoMatch = 0
FirstZero = 1
SecondZero = 2
ThirdZero = 3
ShortMatch = 4
LongMatch = 5
class NalUnit:
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, size: int, including_header: bool = True, type: NalUnit.Type = NalUnit.Type.H264) -> None: ...
@overload
def __init__(self, arg: bytes, /) -> None: ...
class Type(enum.Enum):
H264 = 0
H265 = 1
class Separator(enum.Enum):
Length = 0
LongStartSequence = 1
ShortStartSequence = 2
StartSequence = 3
def forbidden_bit(self) -> bool: ...
def nri(self) -> int: ...
def unit_type(self) -> int: ...
def payload(self) -> bytes: ...
def set_forbidden_bit(self, arg: bool, /) -> None: ...
def set_nri(self, arg: int, /) -> None: ...
def set_unit_type(self, arg: int, /) -> None: ...
def set_payload(self, arg: bytes, /) -> None: ...
@staticmethod
def start_sequence_match_succ(match: NalUnitStartSequenceMatch, _byte: int, separator: NalUnit.Separator) -> NalUnitStartSequenceMatch: ...
class NalUnitFragmentA(NalUnit):
def __init__(self, type: NalUnitFragmentA.FragmentType, forbidden_bit: bool, nri: int, unit_type: int, data: bytes) -> None: ...
class FragmentType(enum.Enum):
Start = 0
Middle = 1
End = 2
def unit_type(self) -> int: ...
def payload(self) -> bytes: ...
def type(self) -> NalUnitFragmentA.FragmentType: ...
def set_unit_type(self, arg: int, /) -> None: ...
def set_payload(self, arg: bytes, /) -> None: ...
def set_fragment_type(self, arg: NalUnitFragmentA.FragmentType, /) -> None: ...
class H265NalUnitHeader:
def __init__(self) -> None: ...
def forbidden_bit(self) -> bool: ...
def unit_type(self) -> int: ...
def nuh_layer_id(self) -> int: ...
def nuh_temp_id_plus1(self) -> int: ...
def set_forbidden_bit(self, arg: bool, /) -> None: ...
def set_unit_type(self, arg: int, /) -> None: ...
def set_nuh_layer_id(self, arg: int, /) -> None: ...
def set_nuh_temp_id_plus1(self, arg: int, /) -> None: ...
class H265NalUnitFragmentHeader:
def __init__(self) -> None: ...
def is_start(self) -> bool: ...
def is_end(self) -> bool: ...
def unit_type(self) -> int: ...
def set_start(self, arg: bool, /) -> None: ...
def set_end(self, arg: bool, /) -> None: ...
def set_unit_type(self, arg: int, /) -> None: ...
class H265NalUnit(NalUnit):
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, size: int, including_header: bool = True) -> None: ...
@overload
def __init__(self, data: bytes) -> None: ...
def forbidden_bit(self) -> bool: ...
def unit_type(self) -> int: ...
def nuh_layer_id(self) -> int: ...
def nuh_temp_id_plus1(self) -> int: ...
def payload(self) -> bytes: ...
def set_forbidden_bit(self, arg: bool, /) -> None: ...
def set_unit_type(self, arg: int, /) -> None: ...
def set_nuh_layer_id(self, arg: int, /) -> None: ...
def set_nuh_temp_id_plus1(self, arg: int, /) -> None: ...
def set_payload(self, arg: bytes, /) -> None: ...
class H265NalUnitFragment(H265NalUnit):
def __init__(self, type: H265NalUnitFragment.FragmentType, forbidden_bit: bool, nuh_layer_id: int, nuh_temp_id_plus1: int, unit_type: int, data: bytes) -> None: ...
class FragmentType(enum.Enum):
Start = 0
Middle = 1
End = 2
def unit_type(self) -> int: ...
def payload(self) -> bytes: ...
def type(self) -> H265NalUnitFragment.FragmentType: ...
def set_unit_type(self, arg: int, /) -> None: ...
def set_payload(self, arg: bytes, /) -> None: ...
def set_fragment_type(self, arg: H265NalUnitFragment.FragmentType, /) -> None: ...
class MediaHandler:
def __init__(self) -> None: ...
def media(self, desc: Description.Media) -> None: ...
def incoming(self, messages: Sequence[Message], send: Callable[[Message], None]) -> None: ...
def outgoing(self, messages: Sequence[Message], send: Callable[[Message], None]) -> None: ...
def request_keyframe(self, send: Callable[[Message], None]) -> bool: ...
def request_bitrate(self, bitrate: int, send: Callable[[Message], None]) -> bool: ...
def add_to_chain(self, handler: MediaHandler) -> None: ...
def set_next(self, next: MediaHandler) -> None: ...
def next(self) -> MediaHandler: ...
def last(self) -> MediaHandler: ...
def media_chain(self, desc: Description.Media) -> None: ...
def incoming_chain(self, messages: Sequence[Message], send: Callable[[Message], None]) -> None: ...
def outgoing_chain(self, messages: Sequence[Message], send: Callable[[Message], None]) -> None: ...
class PyMediaHandler(MediaHandler):
def __init__(self) -> None: ...
class DecodeTargetIndication(enum.Enum):
NotPresent = 0
Discardable = 1
Switch = 2
Required = 3
class RenderResolution:
def __init__(self) -> None: ...
@property
def width(self) -> int: ...
@width.setter
def width(self, arg: int, /) -> None: ...
@property
def height(self) -> int: ...
@height.setter
def height(self, arg: int, /) -> None: ...
class FrameDependencyTemplate:
def __init__(self) -> None: ...
@property
def spatial_id(self) -> int: ...
@spatial_id.setter
def spatial_id(self, arg: int, /) -> None: ...
@property
def temporal_id(self) -> int: ...
@temporal_id.setter
def temporal_id(self, arg: int, /) -> None: ...
@property
def decode_target_indications(self) -> list[DecodeTargetIndication]: ...
@decode_target_indications.setter
def decode_target_indications(self, arg: Sequence[DecodeTargetIndication], /) -> None: ...
@property
def frame_diffs(self) -> list[int]: ...
@frame_diffs.setter
def frame_diffs(self, arg: Sequence[int], /) -> None: ...
@property
def chain_diffs(self) -> list[int]: ...
@chain_diffs.setter
def chain_diffs(self, arg: Sequence[int], /) -> None: ...
class FrameDependencyStructure:
def __init__(self) -> None: ...
@property
def template_id_offset(self) -> int: ...
@template_id_offset.setter
def template_id_offset(self, arg: int, /) -> None: ...
@property
def decode_target_count(self) -> int: ...
@decode_target_count.setter
def decode_target_count(self, arg: int, /) -> None: ...
@property
def chain_count(self) -> int: ...
@chain_count.setter
def chain_count(self, arg: int, /) -> None: ...
@property
def decode_target_protected_by(self) -> list[int]: ...
@decode_target_protected_by.setter
def decode_target_protected_by(self, arg: Sequence[int], /) -> None: ...
@property
def resolutions(self) -> list[RenderResolution]: ...
@resolutions.setter
def resolutions(self, arg: Sequence[RenderResolution], /) -> None: ...
@property
def templates(self) -> list[FrameDependencyTemplate]: ...
@templates.setter
def templates(self, arg: Sequence[FrameDependencyTemplate], /) -> None: ...
class DependencyDescriptor:
def __init__(self) -> None: ...
@property
def start_of_frame(self) -> bool: ...
@start_of_frame.setter
def start_of_frame(self, arg: bool, /) -> None: ...
@property
def end_of_frame(self) -> bool: ...
@end_of_frame.setter
def end_of_frame(self, arg: bool, /) -> None: ...
@property
def frame_number(self) -> int: ...
@frame_number.setter
def frame_number(self, arg: int, /) -> None: ...
@property
def dependency_template(self) -> FrameDependencyTemplate: ...
@dependency_template.setter
def dependency_template(self, arg: FrameDependencyTemplate, /) -> None: ...
@property
def resolution(self) -> RenderResolution | None: ...
@resolution.setter
def resolution(self, arg: RenderResolution | None) -> None: ...
@property
def active_decode_targets_bitmask(self) -> int | None: ...
@active_decode_targets_bitmask.setter
def active_decode_targets_bitmask(self, arg: int | None) -> None: ...
@property
def structure_attached(self) -> bool: ...
@structure_attached.setter
def structure_attached(self, arg: bool, /) -> None: ...
class DependencyDescriptorContext:
def __init__(self) -> None: ...
@property
def descriptor(self) -> DependencyDescriptor: ...
@descriptor.setter
def descriptor(self, arg: DependencyDescriptor, /) -> None: ...
@property
def structure(self) -> FrameDependencyStructure: ...
@structure.setter
def structure(self, arg: FrameDependencyStructure, /) -> None: ...
class DependencyDescriptorWriter:
def __init__(self, context: DependencyDescriptorContext) -> None: ...
def get_size_bits(self) -> int: ...
def get_size(self) -> int: ...
def write_to(self) -> bytes: ...
class RtpPacketizationConfig:
def __init__(self, ssrc: int, cname: str, payload_type: int, clock_rate: int, video_orientation_id: int = 0) -> None: ...
@property
def ssrc(self) -> int: ...
@ssrc.setter
def ssrc(self, arg: int, /) -> None: ...
@property
def cname(self) -> str: ...
@cname.setter
def cname(self, arg: str, /) -> None: ...
@property
def payload_type(self) -> int: ...
@payload_type.setter
def payload_type(self, arg: int, /) -> None: ...
@property
def clock_rate(self) -> int: ...
@clock_rate.setter
def clock_rate(self, arg: int, /) -> None: ...
@property
def video_orientation_id(self) -> int: ...
@video_orientation_id.setter
def video_orientation_id(self, arg: int, /) -> None: ...
@property
def sequence_number(self) -> int: ...
@sequence_number.setter
def sequence_number(self, arg: int, /) -> None: ...
@property
def timestamp(self) -> int: ...
@timestamp.setter
def timestamp(self, arg: int, /) -> None: ...
@property
def start_timestamp(self) -> int: ...
@start_timestamp.setter
def start_timestamp(self, arg: int, /) -> None: ...
@property
def video_orientation(self) -> int: ...
@video_orientation.setter
def video_orientation(self, arg: int, /) -> None: ...
@property
def mid_id(self) -> int: ...
@mid_id.setter
def mid_id(self, arg: int, /) -> None: ...
@property
def mid(self) -> str | None: ...
@mid.setter
def mid(self, arg: str | None) -> None: ...
@property
def rid_id(self) -> int: ...
@rid_id.setter
def rid_id(self, arg: int, /) -> None: ...
@property
def rid(self) -> str | None: ...
@rid.setter
def rid(self, arg: str | None) -> None: ...
@property
def dependency_descriptor_id(self) -> int: ...
@dependency_descriptor_id.setter
def dependency_descriptor_id(self, arg: int, /) -> None: ...
@property
def dependency_descriptor_context(self) -> DependencyDescriptorContext | None: ...
@dependency_descriptor_context.setter
def dependency_descriptor_context(self, arg: DependencyDescriptorContext | None) -> None: ...
@property
def playout_delay_id(self) -> int: ...
@playout_delay_id.setter
def playout_delay_id(self, arg: int, /) -> None: ...
@property
def playout_delay_min(self) -> int: ...
@playout_delay_min.setter
def playout_delay_min(self, arg: int, /) -> None: ...
@property
def playout_delay_max(self) -> int: ...
@playout_delay_max.setter
def playout_delay_max(self, arg: int, /) -> None: ...
@property
def color_space_id(self) -> int: ...
@color_space_id.setter
def color_space_id(self, arg: int, /) -> None: ...
@property
def color_chroma_siting_horz(self) -> int: ...
@color_chroma_siting_horz.setter
def color_chroma_siting_horz(self, arg: int, /) -> None: ...
@property
def color_chroma_siting_vert(self) -> int: ...
@color_chroma_siting_vert.setter
def color_chroma_siting_vert(self, arg: int, /) -> None: ...
@property
def color_range(self) -> int: ...
@color_range.setter
def color_range(self, arg: int, /) -> None: ...
@property
def color_primaries(self) -> int: ...
@color_primaries.setter
def color_primaries(self, arg: int, /) -> None: ...
@property
def color_transfer(self) -> int: ...
@color_transfer.setter
def color_transfer(self, arg: int, /) -> None: ...
@property
def color_matrix(self) -> int: ...
@color_matrix.setter
def color_matrix(self, arg: int, /) -> None: ...
@staticmethod
def get_seconds_from_timestamp(timestamp: int, clock_rate: int) -> float: ...
def timestamp_to_seconds(self, timestamp: int) -> float: ...
@staticmethod
def get_timestamp_from_seconds(seconds: float, clock_rate: int) -> int: ...
def seconds_to_timestamp(self, seconds: float) -> int: ...
class RtpPacketizer(MediaHandler):
def __init__(self, rtp_config: RtpPacketizationConfig) -> None: ...
def media(self, arg: Description.Media, /) -> None: ...
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
@property
def rtp_config(self) -> RtpPacketizationConfig: ...
DEFAULT_MAX_FRAGMENT_SIZE: int = ...
"""(arg: object, /) -> int"""
VIDEO_CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
class OpusRtpPacketizer(RtpPacketizer):
def __init__(self, rtp_config: RtpPacketizationConfig) -> None: ...
DEFAULT_CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
class PCMARtpPacketizer(RtpPacketizer):
def __init__(self, rtp_config: RtpPacketizationConfig) -> None: ...
DEFAULT_CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
class AV1RtpPacketizer(RtpPacketizer):
def __init__(self, packetization: AV1RtpPacketizer.Packetization, rtp_config: RtpPacketizationConfig, max_fragment_size: int = 1220) -> None: ...
class Packetization(enum.Enum):
Obu = 0
TemporalUnit = 1
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
DEFAULT_MAX_FRAGMENT_SIZE: int = ...
"""(arg: object, /) -> int"""
class H264RtpPacketizer(RtpPacketizer):
def __init__(self, separator: NalUnit.Separator, rtp_config: RtpPacketizationConfig, max_fragment_size: int = 1220) -> None: ...
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
DEFAULT_MAX_FRAGMENT_SIZE: int = ...
"""(arg: object, /) -> int"""
class H265RtpPacketizer(RtpPacketizer):
def __init__(self, separator: NalUnit.Separator, rtp_config: RtpPacketizationConfig, max_fragment_size: int = 1220) -> None: ...
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
DEFAULT_MAX_FRAGMENT_SIZE: int = ...
"""(arg: object, /) -> int"""
class RtpDepacketizer(MediaHandler):
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, clock_rate: int) -> None: ...
def incoming(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
class OpusRtpDepacketizer(RtpDepacketizer):
def __init__(self, clock_rate: int = 48000) -> None: ...
DEFAULT_CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
class PCMARtpDepacketizer(RtpDepacketizer):
def __init__(self, clock_rate: int = 8000) -> None: ...
DEFAULT_CLOCK_RATE: int = ...
"""(arg: object, /) -> int"""
class H264RtpDepacketizer(RtpDepacketizer):
def __init__(self, separator: NalUnit.Separator = NalUnit.Separator.StartSequence) -> None: ...
class H265RtpDepacketizer(RtpDepacketizer):
def __init__(self, separator: NalUnit.Separator = NalUnit.Separator.StartSequence) -> None: ...
class PacingHandler(MediaHandler):
def __init__(self, bits_per_second: float, send_interval: datetime.timedelta | float) -> None: ...
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
class RembHandler(MediaHandler):
def __init__(self, on_remb: Callable[[int], None]) -> None: ...
def incoming(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
class PliHandler(MediaHandler):
def __init__(self, on_pli: Callable[[], None]) -> None: ...
def incoming(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
class RtcpNackResponder(MediaHandler):
def __init__(self, max_size: int = 512) -> None: ...
DEFAULT_MAX_SIZE: int = ...
"""(arg: object, /) -> int"""
def incoming(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
class SyncTimestamps:
@property
def rtp_timestamp(self) -> int: ...
@property
def ntp_timestamp(self) -> int: ...
class RtcpReceivingSession(MediaHandler):
def __init__(self) -> None: ...
def incoming(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
def request_keyframe(self, arg: Callable[[Message], None], /) -> bool: ...
def request_bitrate(self, arg0: int, arg1: Callable[[Message], None], /) -> bool: ...
def get_sync_timestamps(self) -> SyncTimestamps: ...
class RtcpSrReporter(MediaHandler):
def __init__(self, rtp_config: RtpPacketizationConfig) -> None: ...
def last_reported_timestamp(self) -> int: ...
def outgoing(self, arg0: Sequence[Message], arg1: Callable[[Message], None], /) -> None: ...
@property
def rtp_config(self) -> RtpPacketizationConfig: ...
class Channel:
def close(self) -> None: ...
@overload
def send(self, data: bytes | str) -> bool: ...
@overload
def send(self, data: bytes, size: int) -> bool: ...
def is_open(self) -> bool: ...
def is_closed(self) -> bool: ...
def max_message_size(self) -> int: ...
def buffered_amount(self) -> int: ...
def on_open(self, arg: Callable[[], None], /) -> None: ...
def on_closed(self, arg: Callable[[], None], /) -> None: ...
def on_error(self, arg: Callable[[str], None], /) -> None: ...
@overload
def on_message(self, arg: Callable[[bytes | str], None], /) -> None: ...
@overload
def on_message(self, binary_callback: Callable[[bytes], None], string_callback: Callable[[str], None]) -> None: ...
def on_buffered_amount_low(self, arg: Callable[[], None], /) -> None: ...
def set_buffered_amount_low_threshold(self, arg: int, /) -> None: ...
def reset_callbacks(self) -> None: ...
def receive(self) -> bytes | str | None: ...
def peek(self) -> bytes | str | None: ...
def available_amount(self) -> int: ...
def on_available(self, arg: Callable[[], None], /) -> None: ...
class DataChannel(Channel):
def is_open(self) -> bool: ...
def is_closed(self) -> bool: ...
def max_message_size(self) -> int: ...
def close(self) -> None: ...
@overload
def send(self, data: bytes | str) -> bool: ...
@overload
def send(self, data: bytes, size: int) -> bool: ...
def stream(self) -> int | None: ...
def id(self) -> int | None: ...
def label(self) -> str: ...
def protocol(self) -> str: ...
def reliability(self) -> Reliability: ...
class Track(Channel):
def is_open(self) -> bool: ...
def is_closed(self) -> bool: ...
def max_message_size(self) -> int: ...
def close(self) -> None: ...
@overload
def send(self, data: bytes | str) -> bool: ...
@overload
def send(self, data: bytes, size: int) -> bool: ...
@overload
def send_frame(self, data: bytes, info: FrameInfo) -> None: ...
@overload
def send_frame(self, data: bytes, size: int, info: FrameInfo) -> None: ...
def mid(self) -> str: ...
def direction(self) -> Description.Direction: ...
def description(self) -> Description.Media: ...
def set_description(self, description: Description.Media) -> None: ...
def on_frame(self, callback: Callable[[bytes, FrameInfo], None]) -> None: ...
def request_keyframe(self) -> bool: ...
def request_bitrate(self, bitrate: int) -> bool: ...
def set_media_handler(self, handler: MediaHandler | None) -> None: ...
def chain_media_handler(self, handler: MediaHandler) -> None: ...
def get_media_handler(self) -> MediaHandler: ...
class DataChannelInit:
def __init__(self) -> None: ...
@property
def reliability(self) -> Reliability: ...
@reliability.setter
def reliability(self, arg: Reliability, /) -> None: ...
@property
def negotiated(self) -> bool: ...
@negotiated.setter
def negotiated(self, arg: bool, /) -> None: ...
@property
def id(self) -> int | None: ...
@id.setter
def id(self, arg: int | None) -> None: ...
@property
def protocol(self) -> str: ...
@protocol.setter
def protocol(self, arg: str, /) -> None: ...
class LocalDescriptionInit:
def __init__(self) -> None: ...
@property
def ice_ufrag(self) -> str | None: ...
@ice_ufrag.setter
def ice_ufrag(self, arg: str | None) -> None: ...
@property
def ice_pwd(self) -> str | None: ...
@ice_pwd.setter
def ice_pwd(self, arg: str | None) -> None: ...
class PeerConnection:
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, config: Configuration) -> None: ...
class State(enum.Enum):
New = 0
Connecting = 1
Connected = 2
Disconnected = 3
Failed = 4
Closed = 5
class IceState(enum.Enum):
New = 0
Checking = 1
Connected = 2
Completed = 3
Failed = 4
Disconnected = 5
Closed = 6
class GatheringState(enum.Enum):
New = 0
InProgress = 1
Complete = 2
class SignalingState(enum.Enum):
Stable = 0
HaveLocalOffer = 1
HaveRemoteOffer = 2
HaveLocalPranswer = 3
HaveRemotePranswer = 4
def close(self) -> None: ...
def __del__(self) -> None: ...
def config(self) -> Configuration: ...
def state(self) -> PeerConnection.State: ...
def ice_state(self) -> PeerConnection.IceState: ...
def gathering_state(self) -> PeerConnection.GatheringState: ...
def signaling_state(self) -> PeerConnection.SignalingState: ...
def negotiation_needed(self) -> bool: ...
def has_media(self) -> bool: ...
def local_description(self) -> Description | None: ...
def remote_description(self) -> Description | None: ...
def remote_max_message_size(self) -> int: ...
def local_address(self) -> str | None: ...
def remote_address(self) -> str | None: ...
def max_data_channel_id(self) -> int: ...
def get_selected_candidate_pair(self, arg0: Candidate, arg1: Candidate, /) -> bool: ...
def set_local_description(self, type: Description.Type = Description.Type.Unspec, init: LocalDescriptionInit | None = None) -> None: ...
def set_remote_description(self, arg: Description, /) -> None: ...
def add_remote_candidate(self, arg: Candidate, /) -> None: ...
def gather_local_candidates(self, additional_ice_servers: Sequence[IceServer] = []) -> None: ...
def create_offer(self) -> Description: ...
def create_answer(self) -> Description: ...
def set_media_handler(self, handler: MediaHandler | None) -> None: ...
def get_media_handler(self) -> MediaHandler: ...
def create_data_channel(self, label: str, init: DataChannelInit | None = None) -> DataChannel: ...
def on_data_channel(self, arg: Callable[[DataChannel], None], /) -> None: ...
def add_track(self, arg: Description.Media, /) -> Track: ...
def on_track(self, arg: Callable[[Track], None], /) -> None: ...
def on_local_description(self, arg: Callable[[Description], None], /) -> None: ...
def on_local_candidate(self, arg: Callable[[Candidate], None], /) -> None: ...
def on_state_change(self, arg: Callable[[PeerConnection.State], None], /) -> None: ...
def on_ice_state_change(self, arg: Callable[[PeerConnection.IceState], None], /) -> None: ...
def on_gathering_state_change(self, arg: Callable[[PeerConnection.GatheringState], None], /) -> None: ...
def on_signaling_state_change(self, arg: Callable[[PeerConnection.SignalingState], None], /) -> None: ...
def reset_callbacks(self) -> None: ...
def remote_fingerprint(self) -> CertificateFingerprint: ...
def clear_stats(self) -> None: ...
def bytes_sent(self) -> int: ...
def bytes_received(self) -> int: ...
def rtt(self) -> datetime.timedelta | None: ...
class WebSocket(Channel):
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, config: WebSocketConfiguration) -> None: ...
class State(enum.Enum):
Connecting = 0
Open = 1
Closing = 2
Closed = 3
def is_open(self) -> bool: ...
def is_closed(self) -> bool: ...
def max_message_size(self) -> int: ...
def close(self) -> None: ...
@overload
def send(self, data: bytes | str) -> bool: ...
@overload
def send(self, data: bytes, size: int) -> bool: ...
def ready_state(self) -> WebSocket.State: ...
def open(self, url: str) -> None: ...
def force_close(self) -> None: ...
def remote_address(self) -> str | None: ...
def path(self) -> str | None: ...
class IceUdpMuxRequest:
@property
def local_ufrag(self) -> str: ...
@property
def remote_ufrag(self) -> str: ...
@property
def remote_address(self) -> str: ...
@property
def remote_port(self) -> int: ...
class IceUdpMuxListener:
def __init__(self, port: int, bind_address: str | None = None) -> None: ...
def stop(self) -> None: ...
def port(self) -> int: ...
def on_unhandled_stun_request(self, callback: Callable[[IceUdpMuxRequest], None]) -> None: ...
class WebSocketServer:
@overload
def __init__(self) -> None: ...
@overload
def __init__(self, config: WebSocketServerConfiguration) -> None: ...
def stop(self) -> None: ...
def port(self) -> int: ...
def on_client(self, callback: Callable[[WebSocket], None]) -> None: ...