MisterAI's picture
download
raw
3.23 kB
from fractions import Fraction
from typing import Generic, Iterator, Literal, TypeVar, overload
from av.audio.frame import AudioFrame
from av.audio.stream import AudioStream
from av.stream import Stream
from av.subtitles.stream import SubtitleStream
from av.subtitles.subtitle import AssSubtitle, BitmapSubtitle
from av.video.frame import VideoFrame
from av.video.stream import VideoStream
from .buffer import Buffer
from .stream import Stream
# Sync with definition in 'packet.py'
PktSideDataT = Literal[
"palette",
"new_extradata",
"param_change",
"h263_mb_info",
"replay_gain",
"display_matrix",
"stereo_3d",
"audio_service_type",
"quality_stats",
"fallback_track",
"cpb_properties",
"skip_samples",
"jp_dual_mono",
"strings_metadata",
"subtitle_position",
"matroska_block_additional",
"webvtt_identifier",
"webvtt_settings",
"metadata_update",
"mpegts_stream_id",
"mastering_display_metadata",
"spherical",
"content_light_level",
"a53_cc",
"encryption_init_info",
"encryption_info",
"afd",
"prft",
"icc_profile",
"dovi_conf",
"s12m_timecode",
"dynamic_hdr10_plus",
"iamf_mix_gain_param",
"iamf_info_param",
"iamf_recon_gain_info_param",
"ambient_viewing_environment",
"frame_cropping",
"lcevc",
"3d_reference_displays",
"rtcp_sr",
]
class PacketSideData(Buffer):
@staticmethod
def from_packet(packet: Packet[Stream], dtype: PktSideDataT) -> PacketSideData: ...
def to_packet(self, packet: Packet[Stream], move: bool = False): ...
@property
def data_type(self) -> str: ...
@property
def data_desc(self) -> str: ...
@property
def data_size(self) -> int: ...
def __bool__(self) -> bool: ...
def packet_sidedata_type_to_literal(dtype: int) -> PktSideDataT: ...
def packet_sidedata_type_from_literal(dtype: PktSideDataT) -> int: ...
# TypeVar for stream types - bound to Stream so it can be any stream type
StreamT = TypeVar("StreamT", bound=Stream)
class Packet(Buffer, Generic[StreamT]):
stream: StreamT
stream_index: int
time_base: Fraction
pts: int | None
dts: int | None
pos: int | None
size: int
duration: int | None
opaque: object
is_keyframe: bool
is_corrupt: bool
is_discard: bool
is_trusted: bool
is_disposable: bool
def __init__(self: Packet[Stream], input: int | bytes | None = None) -> None: ...
# Overloads that return the same type as the stream's decode method
@overload
def decode(self: Packet[VideoStream]) -> list[VideoFrame]: ...
@overload
def decode(self: Packet[AudioStream]) -> list[AudioFrame]: ...
@overload
def decode(
self: Packet[SubtitleStream],
) -> list[AssSubtitle] | list[BitmapSubtitle]: ...
@overload
def decode(
self,
) -> list[VideoFrame | AudioFrame | AssSubtitle | BitmapSubtitle]: ...
def has_sidedata(self, dtype: PktSideDataT) -> bool: ...
def get_sidedata(self, dtype: PktSideDataT) -> PacketSideData: ...
def set_sidedata(self, sidedata: PacketSideData, move: bool = False) -> None: ...
def iter_sidedata(self) -> Iterator[PacketSideData]: ...

Xet Storage Details

Size:
3.23 kB
·
Xet hash:
b7557ac045b2262d01ea7d0e49b84c31129dc0c6aa49e0ab9a5cf250838d877b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.