
    3j                        S SK r S SK Jr  S SKJr  S SKJr  S SKJrJ	r	  S SK
Jr  \ R                  " \ R                  \	   5      r\ R                  " \ R                  \ R                  \	      5      r\ R                  " S5      r\ R$                  \ R&                   " S S	5      5       5       r\ R*                  \ R,                  \ R.                  " S
S9S\ R0                  S\S\ R2                  S\ R2                  4S j5       5       5       r\ R*                  \ R.                  " S
S9S\ R0                  S\S\ R2                  S\ R2                  4S j5       5       r\ R*                  \ R,                  \ R.                  " S
S9S\ R0                  S\S\ R2                  S\ R2                  4S j5       5       5       r\ R*                  \ R.                  " S
S9S\ R0                  S\S\ R2                  S\ R2                  4S j5       5       r\ R*                  \ R,                  \ R.                  " S
S9S\ R0                  S\S\ R2                  S\4S j5       5       5       r\ R*                  S\ R0                  S\S\ R2                  S\4S j5       r\ R*                  S\ R                  \R@                     S\ R2                  4S j5       r!\ R*                  S\ R                  \R@                     S\ R2                  4S j5       r"g)    N)NULL)libav)stash_exception)int64_tuint8_t)memcpyzOint64_t (*seek_func_t)(void *opaque, int64_t offset, int whence) noexcept nogilc                   $    \ rS rSrSS jrS rSrg)PyIOFile   Nc           	         Xl         [        n[        U R                   SS 5      n[        U R                   SS 5      n[        U R                   SS 5      n[        U R                   SS 5      U l        [        U R                   SS 5      U l        [        U R                   SS 5      U l        [        U R                   SS 5      U l        [        U R                   SS 5      U l        U R
                  b"  U R                  b  Ub  U" 5       (       a  [        nUc  U R                  S LnU(       a(  U R                  b  Ub  U" 5       (       d  [        S	5      eO'U R                  b  Ub  U" 5       (       d  [        S
5      eSU l
        SU l        [        R                  " [        R                  [        R                   " U5      5      U l        [        R$                  " U R"                  UU[        R                  " [        R&                  U 5      [(        [*        U5      U l        U(       a  [        R.                  U R,                  l        X R,                  l        g )Nreadablewritableseekablereadwriteseektellclosez@File object has no write() method, or writable() returned False.z?File object has no read() method, or readable() returned False.r   T)filer   getattrfreadfwritefseekftellfclose	pyio_seek
ValueErrorpospos_is_validcythoncastp_ucharlib	av_mallocbufferavio_alloc_contextp_void	pyio_read
pyio_write	iocontextAVIO_SEEKABLE_NORMALr   max_packet_size)selfr   buffer_size	writeable	seek_funcr   r   r   s           K/home/wildlama/miniconda3/lib/python3.13/site-packages/av/container/pyio.py	__cinit__PyIOFile.__cinit__   s   	!%	499j$7499j$7499j$7TYY5
dii$7TYY5
TYY5
dii$7
 JJ"

&!XZZ%.I4/I{{"x';HJJ V  zz!h&:8:: U    kk&..#--2LM//KKKKt,
 &)&>&>DNN#)4&    c                    [         R                     U R                  (       as  [        R                  " [         R
                  " U R                  R                  5      5        [        R                  " [         R
                  " U R                  5      5        O4[        R                  " [         R
                  " U R                  5      5        S S S 5        g ! , (       d  f       g = fN)r    nogilr*   r#   av_freepaddressr%   )r-   s    r1   __dealloc__PyIOFile.__dealloc__M   so    \\ ~~V^^DNN,A,ABCV^^DNN;< V^^DKK89 \\s   B9C
C!)
r%   r   r   r   r   r   r   r*   r   r   r6   )__name__
__module____qualname____firstlineno__r2   r:   __static_attributes__ r4   r1   r
   r
      s    75r
:r4   r
   F)checkopaquebufbuf_sizereturnc                 p    [         R                     [        XU5      sS S S 5        $ ! , (       d  f       g = fr6   )r    gilpyio_read_gilrC   rD   rE   s      r1   r(   r(   Z   s     
V(3 
   '
5c           
          [         R                  " [        U 5      nUR                  U5      n[	        U[         R                  " [         R
                  [         R                  " [         R                  U5      5      [        U5      5        U=R                  [        U5      -  sl        U(       d  [        R                  $ [        U5      $ ! [         a    [        5       s $ f = fr6   )r    r!   r
   r   r   r'   p_charlenr   r#   AVERROR_EOF	Exceptionr   )rC   rD   rE   r-   ress        r1   rI   rI   b   s    
!{{8V,jj"V]]FKKs,KLcRUh	
 	CH??"3x !  !s   B<C
 ?
C
 
C! C!c                 p    [         R                     [        XU5      sS S S 5        $ ! , (       d  f       g = fr6   )r    rH   pyio_write_gilrJ   s      r1   r)   r)   u   s     
f84 
rK   c                      [         R                  " [        U 5      nUS U nUR                  U5      n[	        U[
        5      (       a  UOUnU=R                  U-  sl        U$ ! [         a    [        5       s $ f = fr6   )	r    r!   r
   r   
isinstanceintr   rP   r   )rC   rD   rE   r-   bytes_to_write	ret_valuebytes_writtens          r1   rS   rS   }   so    !{{8V,YhKK/	%/	3%?%?	XM! !  !s   A A# #A:9A:offsetwhencec                     U[         R                  :X  a  g[        R                     [	        XU5      sS S S 5        $ ! , (       d  f       g = f)N)r#   AVSEEK_SIZEr    rH   pyio_seek_gil)rC   rZ   r[   s      r1   r   r      s.      	VV4 
s	   <
A
c                 X    [         R                  " [        U 5      nUR                  X5      nUS:X  a  Xl        O#US:X  a  U=R                  U-  sl        OSUl        Uc/  UR
                  (       a  UR                  nU$ UR                  5       nU$ ! [         a    [        5       s $ f = f)Nr      F)	r    r!   r
   r   r   r   r   rP   r   )rC   rZ   r[   r-   rQ   s        r1   r_   r_      s    
!{{8V,jj( Q;Hq[HHH %D;  hh 
 jjl
 !  !s   A=B  B B)(B)pbc                 d     [         R                  " U 5      $ ! [         a    [        5       s $ f = fr6   )r#   
avio_closerP   r   )rb   s    r1   pyio_close_gilre      s.    !~~b!! !  !s    //c                      [         R                  " [        U R                  5      n[        R
                  " U 5        UR                  b  UR                  5         g! [         a    [        5          g f = f)Nr   )	r    r!   r
   rC   r#   
avio_flushr   rP   r   )rb   r-   s     r1   pyio_close_custom_gilrh      sT    {{8RYY/ 	r;;"KKM s   AA A21A2)#r    r   cython.cimportsr   r#   cython.cimports.av.errorr   cython.cimports.libc.stdintr   r   cython.cimports.libc.stringr   typedefpointerBufconstBufCseek_func_tfinalcclassr
   cfuncr7   	exceptvalr'   rV   r(   rI   r)   rS   r   r_   AVIOContextre   rh   rA   r4   r1   <module>rx      s     ( 4 8 .nnV^^G,-~~fnnV\\'%:;<nnU
 D: D:  D:N 4fmm 4# 4 4

 4   4
 !&-- !c !VZZ !FJJ !  !" 5v}} 54 56:: 5&** 5   5
 !MM! $!06

!ZZ!  !" 5fmm 5W 5fjj 5W 5   5 !MM!#*!4:JJ!! !2 !v~~coo6 !6:: ! ! fnnS__= &**  r4   