
    3j              	          % S SK r S SKJs  Jr  S SK JrJr  S SKJrJ	r	  S SK
Jr  \ R                  " \ R                  \   5      r\ R                  \ R                   " SS9\ R"                  S\ R$                  S\S	\ R&                  4S
 j5       5       5       r\ R*                  \ R,                   " S S5      5       5       r\" 5       r\\S'   g)    N)NULLsizeof)uint8_t	uintptr_t)memcpyF)checkopaquedatareturnc                     [         R                  " [         R                  U5      n[         R                     [        R                  U5        S S S 5        [        R                  " U5        g ! , (       d  f       N%= fN)cythoncastp_chargilopaque_containerpoplibav_free)r	   r
   names      C/home/wildlama/miniconda3/lib/python3.13/site-packages/av/opaque.pykey_freer      sF     !++fmmT:D	T" 
KK 
s   A++
A9c                       \ rS rSrS r\R                  S\S\R                  \	R                     4S j5       rS\4S jrS\4S jrSrg	)
OpaqueContainer   c                     0 U l         g r   _objects)selfs    r   	__cinit__OpaqueContainer.__cinit__   s	        vr   c                    [         R                  " [         R                  [        U5      5      nXR                  U'   [         R                  " [
        [        R                  " [        [        5      5      5      nU[        :X  a  [        S5      e[        U[         R                  " U5      [        [        5      5        [        R                  " U[        [        5      [        [        S5      nU[        :X  a  [        S5      eU$ )Nz!Failed to allocate memory for keyr   zFailed to create AVBufferRef)r   r   longlongidr   u8ptrr   	av_mallocr   r   r   MemoryErrorr   addressav_buffer_creater   )r   r#   keyr
   
buffer_refs        r   addOpaqueContainer.add   s      V__be<ckk%vi7H)IJ4<ABBtV^^C(&*;< 7:6J6J&#XtQ7

 <==r"   c                     [         R                  " [         R                  [           U5      S   nU R                  R                  U5      $ Nr   )r   r   pointerr   r   getr   r   r,   s      r   r3   OpaqueContainer.get1   s5    V^^I%>EaH}}  %%r"   c                     [         R                  " [         R                  [           U5      S   nU R                  R                  US 5      $ r1   )r   r   r2   r   r   r   r4   s      r   r   OpaqueContainer.pop5   s7    V^^I%>EaH}}  d++r"   r   N)__name__
__module____qualname____firstlineno__r    r   cfuncobjectr2   r   AVBufferRefr.   r3   r   __static_attributes__ r"   r   r   r      sR     \\V s ?  *&6 &,6 ,r"   r   r   )r   cython.cimports.libavcimportslibavr   r   r   cython.cimports.libc.stdintr   r   cython.cimports.libc.stringr   typedefr2   r'   r<   	exceptvalnogilp_voidvoidr   finalcclassr   r   __annotations__r@   r"   r   <module>rN      s     # #  : .v~~g./ V]] % FKK      ,  ,   ,F %4$5 / 5r"   