88from cython .cimports .av .utils import avrational_to_fraction , to_avrational
99from cython .cimports .libc .string import memcpy
1010
11- # check https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/packet.h#L41 for
12- # new additions in the future FFmpeg releases
13- # note : the order must follow that of the AVPacketSideDataType enum def
14- PacketSideDataTypeLiteral = Literal [
11+ # Check https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/packet.h#L41
12+ # for new additions in the future ffmpeg releases
13+ # Note : the order must follow that of the AVPacketSideDataType enum def
14+ PktSideDataT = Literal [
1515 "palette" ,
1616 "new_extradata" ,
1717 "param_change" ,
5555]
5656
5757
58- def _packet_side_data_type_to_literal (
59- data_type : lib .AVPacketSideDataType ,
60- ) -> PacketSideDataTypeLiteral :
61- return get_args (PacketSideDataTypeLiteral )[cython .cast (int , data_type )]
58+ def packet_sidedata_type_to_literal (dtype : lib .AVPacketSideDataType ) -> PktSideDataT :
59+ return get_args (PktSideDataT )[cython .cast (int , dtype )]
6260
6361
64- def _packet_side_data_type_from_literal (
65- data_type : PacketSideDataTypeLiteral ,
66- ) -> lib .AVPacketSideDataType :
67- i = cython .declare (cython .int , get_args (PacketSideDataTypeLiteral ).index (data_type ))
62+ def packet_sidedata_type_from_literal (dtype : PktSideDataT ) -> lib .AVPacketSideDataType :
63+ return get_args (PktSideDataT ).index (dtype )
6864
69- return cython .cast (lib .AVPacketSideDataType , i )
7065
71-
72- def packet_side_data_type_desc ( data_type : PacketSideDataTypeLiteral ) -> str | None :
66+ @ cython . ccall
67+ def sidedata_typedesc ( dtype : PktSideDataT ) -> str | None :
7368 """FFmpeg description of packet side data type"""
74- dtype = _packet_side_data_type_from_literal ( data_type )
75- res = lib .av_packet_side_data_name (dtype )
69+ dtype2 : lib . AVPacketSideDataType = packet_sidedata_type_from_literal ( dtype )
70+ res : cython . pointer [ cython . char ] = lib .av_packet_side_data_name (dtype2 )
7671 return res if res != cython .NULL else None
7772
7873
7974@cython .cclass
8075class PacketSideData :
8176 @staticmethod
82- def from_packet (
83- packet : "Packet" , data_type : PacketSideDataTypeLiteral
84- ) -> "PacketSideData" :
77+ def from_packet (packet : Packet , data_type : PktSideDataT ) -> PacketSideData :
8578 """create new PacketSideData by copying an existing packet's side data
8679
8780 :param packet: Source packet
@@ -92,8 +85,8 @@ def from_packet(
9285 :rtype: :class:`~av.packet.PacketSideData`
9386 """
9487
95- dtype = _packet_side_data_type_from_literal (data_type )
96- return _packet_side_data_from_packet (packet .ptr , dtype )
88+ dtype = packet_sidedata_type_from_literal (data_type )
89+ return _packet_sidedata_from_packet (packet .ptr , dtype )
9790
9891 def __cinit__ (self , dtype : lib .AVPacketSideDataType , size : cython .size_t ):
9992 self .dtype = dtype
@@ -110,7 +103,7 @@ def __dealloc__(self):
110103 with cython .nogil :
111104 lib .av_freep (cython .address (self .data ))
112105
113- def to_packet (self , packet : " Packet" , move : cython .bint = False ):
106+ def to_packet (self , packet : Packet , move : cython .bint = False ):
114107 """copy or move side data to the specified packet
115108
116109 :param packet: Target packet
@@ -146,7 +139,7 @@ def data_type(self) -> str:
146139
147140 :type: str
148141 """
149- return _packet_side_data_type_to_literal (self .dtype )
142+ return packet_sidedata_type_to_literal (self .dtype )
150143
151144 @property
152145 def data_desc (self ) -> str :
@@ -177,17 +170,16 @@ def __bool__(self) -> bool:
177170
178171
179172@cython .cfunc
180- def _packet_side_data_from_packet (
181- packet : cython .pointer [lib .AVPacket ], data_type : lib .AVPacketSideDataType
173+ def _packet_sidedata_from_packet (
174+ packet : cython .pointer [lib .AVPacket ], dtype : lib .AVPacketSideDataType
182175) -> PacketSideData :
183176 with cython .nogil :
184177 c_ptr = lib .av_packet_side_data_get (
185- packet .side_data , packet .side_data_elems , data_type
178+ packet .side_data , packet .side_data_elems , dtype
186179 )
180+ found : cython .bint = c_ptr != cython .NULL
187181
188- found = cython .declare (cython .bint , c_ptr != cython .NULL )
189-
190- sdata = PacketSideData (data_type , c_ptr .size if found else 0 )
182+ sdata = PacketSideData (dtype , c_ptr .size if found else 0 )
191183
192184 with cython .nogil :
193185 if found :
@@ -426,48 +418,47 @@ def opaque(self, v):
426418 return
427419 self .ptr .opaque_ref = opaque_container .add (v )
428420
429- def has_side_data (self , data_type : str ) -> bool :
421+ def has_sidedata (self , dtype : str ) -> bool :
430422 """True if this packet has the specified side data
431423
432- :param data_type : side data type
433- :type data_type : str
424+ :param dtype : side data type
425+ :type dtype : str
434426 """
435427
436- dtype = _packet_side_data_type_from_literal ( data_type )
428+ dtype2 = packet_sidedata_type_from_literal ( dtype )
437429 return (
438430 lib .av_packet_side_data_get (
439- self .ptr .side_data , self .ptr .side_data_elems , dtype
431+ self .ptr .side_data , self .ptr .side_data_elems , dtype2
440432 )
441433 != cython .NULL
442434 )
443435
444- def get_side_data (self , data_type : str ) -> PacketSideData :
436+ def get_sidedata (self , dtype : str ) -> PacketSideData :
445437 """get a copy of the side data
446438
447- :param data_type : side data type (:method:`~av.packet.PacketSideData.side_data_types ` for the full list of options)
448- :type data_type : str
439+ :param dtype : side data type (:method:`~av.packet.PacketSideData.sidedata_types ` for the full list of options)
440+ :type dtype : str
449441 :return: newly created copy of the side data if the side data of the
450442 requested type is found in the packet, else an empty object
451443 :rtype: :class:`~av.packet.PacketSideData`
452444 """
453- return PacketSideData .from_packet (self , data_type )
445+ return PacketSideData .from_packet (self , dtype )
454446
455- def set_side_data (self , side_data : PacketSideData , move : bool = False ):
447+ def set_sidedata (self , sidedata : PacketSideData , move : cython . bint = False ):
456448 """copy or move side data to this packet
457449
458- :param side_data: Source packet side data
459- :type side_data: :class:`~av.packet.PacketSideData`
460- :param move: True to move the data from `side_data` object,
461- defaults to False.
450+ :param sidedata: Source packet side data
451+ :type sidedata: :class:`~av.packet.PacketSideData`
452+ :param move: If True, move the data from `sidedata` object, defaults to False
462453 :type move: bool
463454 """
464- side_data .to_packet (self , move )
455+ sidedata .to_packet (self , move )
465456
466- def iter_side_data (self ) -> Iterator [PacketSideData ]:
457+ def iter_sidedata (self ) -> Iterator [PacketSideData ]:
467458 """iterate over side data of this packet.
468459
469460 :yield: :class:`~av.packet.PacketSideData` object
470461 """
471462
472463 for i in range (self .ptr .side_data_elems ):
473- yield _packet_side_data_from_packet (self .ptr , self .ptr .side_data [i ].type )
464+ yield _packet_sidedata_from_packet (self .ptr , self .ptr .side_data [i ].type )
0 commit comments