
    Hui              	          d dl mZ d dlZd dlmZ d dlmZ ej                  dej                  ej                     defd       Zej                  defd       Zej                  d	ej                  ej                     d
ededefd       Zej                  dej                  ej                  ej                        ded
edefd       Zej                  d	ej                  ej&                  ej(                        defd       Zej                  ded	ej                  ej(                     dej.                  fd       Zej                  dededej2                  dej.                  fd       Zy)    )FractionN)libav)	err_checksreturnc                 V    t        j                  t        |       j                  ||      S N)cythoncastbytesdecoder   encodingerrorss      :/opt/pipecat/venv/lib/python3.12/site-packages/av/utils.py_decoder      s     ;;ua ''&99    c                 &    | j                  ||      S r	   )encoder   s      r   _encoder      s    88Hf%%r   inputr   r   c                     t         j                  }i }	 t        j                  | d|t        j                        }|t         j                  k(  r	 |S t        |j                  ||      |t        |j                  ||      <   l)N )r
   NULLlibav_dict_getAV_DICT_IGNORE_SUFFIXr   valuekey)r   r   r   elementoutputs        r   avdict_to_dictr"      st     6<[[GF
//%Wc6O6OPfkk!
 M	 :AMM8V:
ww{{Hf56	 r   dstsrcc                     t        j                  |        |j                         D ]F  \  }}t        t        j                  | |j                  ||      |j                  ||      d             H y )Nr   )r   av_dict_freeitemsr   av_dict_setr   )r#   r$   r   r   r   r   s         r   dict_to_avdictr)   '   s_     Siik 

UOOSZZ&15<<&3QST	

r   c                 t    | j                   r,| j                  r t        | j                   | j                        S y r	   )numdenr   )r   s    r   avrational_to_fractionr-   ;   s)     yyUYY		599--r   fracc                 H    | j                   |_        | j                  |_        y r	   )	numeratorr+   denominatorr,   )r.   r   s     r   to_avrationalr2   D   s    EI  EIr   arraydtypendimc                     | j                   |k7  rt        d| d| j                    d      | j                  |k7  rt        d| d| j                   d      y)zR
    Check a numpy array has the expected data type and number of dimensions.
    z!Expected numpy array with dtype `z` but got ``z Expected numpy array with ndim `N)r4   
ValueErrorr5   )r3   r4   r5   s      r   check_ndarrayr9   J   si    
 {{e/wk%++aP
 	
 zzT.tfK

|1M
 	
 r   )	fractionsr   r
   cython.cimportsr   r   cython.cimports.av.errorr   cfuncpointercharstrr   r   r   AVDictionarydictr"   r)   const
AVRationalobjectr-   voidr2   intr9    r   r   <module>rI      s     ( . :v~~fkk* : : : &E & & >>#**+7:DG	   
	s'7'78	9
	
 
 	
 
& >>&,,s~~67  ! !v~~cnn'E !&++ ! !
 
 
 
fjj 
V[[ 
 
r   