
    ybj)                     ^   % S SK r S SKrS SKrS SKrS SKrS SKJr  S SKrS SKJ	r
  S SKJr  S SKJrJr  S SKJrJr  / SQr\R(                  S\R*                  S	\4S
 j5       r\R(                  S\S	\R*                  4S j5       r " S S\5      r\R6                  " \R*                  \" S5      5      r\R6                  " \S5      r " S S\\5      r " S S\5      r  " S S\5      r!S\
RD                  * S\4S\
RF                  * S\$4S\
RJ                  * S\&4S\
RN                  * S\4S\
RP                  * S\4S\
RR                  * S\4S\
RT                  * S\+4S \
RX                  * SS4S!\
RZ                  * SS4S"\
R\                  * S\4S#\
R^                  * S$\&4S%\
R`                  * S\4S&\
Rb                  * S\4S'\
Rd                  * S(S4S)\
Rf                  * S\4S*\
Rh                  * SS4S+\
Rj                  * SS4S,\
Rl                  * SS4S-\
Rn                  * SS4S.\
Rp                  * S/\!4S0\
Rr                  * S1\!4S2\
Rt                  * S3\!4S4\
Rv                  * S5\!4S6\
Rx                  * S7\!4S8\
Rz                  * S9\!4S:\
R|                  * S;\ 4S<\S=\$44r?\ R                  " S>\? V VVs/ s H  tpo U4PM
     snnn \AS?9rBS@\BlC        S	\4SA jrDS	\4SB jrE\F" \D5      \BlG        \F" \E5      \BlH        0 rI\J\KSC'   SD rL\L" SE\R                  \R                  45        \L" SF\R                  \R                  \R                  \R                  45        \L" SG\R                  45        \L" SH\R                  45        \L" SI\R                  45        \L" SJ\R                  45        \L" SK\R                  45        \L" SL\R                  45        \L" SM\R                  45        \L" SN\R                  45        \L" SO\R                  45        \L" SP\R                  \R                  45        \L" SQ\R                  45        \L" SR\R                  45        \L" SS\R                  45        \L" ST\R                  45        \L" SU\R                  45        \L" SV\R                   Vs/ s H  o3\I;  d  M
  UPM     sn5         " SW SX\\&5      rd " SY SZ\5      re\d\I\R                  '   \d\g" 5       SX'   \R                  SX5        \? H}  u  rirjrkrl\k=(       d#    \iR                  5       R                  S[S\5      S]-   rk\lc  \4roO\p" \l\5      (       a  \l4roO\\l4ro\q" \k\oS^\A05      rr\r\I\j'   \r\g" 5       \k'   \R                  \k5        M     C?\R6                  " \s\" 5       5      rt\R6                  " \R*                  S 5      qu\R6                  " \R*                  S 5      qv\R                  SeS	\R*                  4S_ jj5       rx\R(                  \R                  " S`SaSb9SeSc\R*                  S	\R*                  4Sd jj5       5       rzgs  snnn f s  snf )f    N)local)libav)get_last_error)fprintfstderr)freemalloc)	ErrorTypeFFmpegErrorLookupError	HTTPErrorHTTPClientErrorUndefinedErrorcodereturnc                 J    [        U S-  U S-	  S-  U S-	  S-  U S-	  S-  45      $ )zUConvert an integer error code into 4-byte tag.

>>> code_to_tag(1953719668)
b'test'

            )bytes)r   s    ڄ/tmp/claude-0/-home-danvics-docker-quiz/c1e0577a-e42c-4a3d-b1ea-3edd61103a4e/scratchpad/stt/lib/python3.13/site-packages/av/error.pycode_to_tagr      sA     4KQY$RZ4RZ4		
     tagc                 v    [        U 5      S:w  a  [        S5      eU S   U S   S-  -   U S   S-  -   U S   S	-  -   $ )
zWConvert a 4-byte error tag into an integer code.

>>> tag_to_code(b'test')
1953719668

   zError tags are 4 bytes.r      r      r      r   )len
ValueError)r   s    r   tag_to_coder#   +   sL     3x1}233Fs1v{#s1v|4A"EEr   c                   V   ^  \ rS rSrSrSU 4S jjr\S 5       r\S 5       rS r	Sr
U =r$ )	r   8   aJ  Exception class for errors from within FFmpeg.

.. attribute:: errno

    FFmpeg's integer error code.

.. attribute:: strerror

    FFmpeg's error message.

.. attribute:: filename

    The filename that was being operated on (if available).

.. attribute:: log

    The tuple from :func:`av.logging.get_last_log`, or ``None``.

c                    > X/nU(       d  U(       a)  UR                  U5        U(       a  UR                  U5        [        TU ]  " U6   Xl        X l        [        U5      U l        g N)appendsuper__init__errnostrerrortupleargs)selfr   messagefilenamelogr.   	__class__s         r   r*   FFmpegError.__init__M   sL    sKK!C $
$K	r   c                 B     U R                   S   $ ! [         a     g f = f)Nr   r.   
IndexErrorr/   s    r   r1   FFmpegError.filenameY   '    	99Q< 		    
c                 B     U R                   S   $ ! [         a     g f = f)Nr    r6   r8   s    r   r2   FFmpegError.log`   r:   r;   c                 j   SnU R                   b  U SU R                    S3nU R                  b  U U R                   3nU R                  (       a  U SU R                  < 3nU R                  (       a@  U SU R                  S   R	                  5        SU R                  S   R	                  5        3nU$ )N z[Errno ] : ; last error log: [r   r   )r+   r,   r1   r2   stripr/   msgs     r   __str__FFmpegError.__str__g   s    ::!EB/C==$E$--)C==EDMM,-C88%*488A;+<+<+>*?r$((1+BSBSBUAVW  
r   )r.   r+   r,   )NN)__name__
__module____qualname____firstlineno____doc__r*   propertyr1   r2   rF   __static_attributes____classcell__)r3   s   @r   r   r   8   s?    (
      r   r   s   PyAVzError in PyAV callbackc                       \ rS rSrSrg)r   }    NrH   rI   rJ   rK   rN   rR   r   r   r   r   }       r   r   c                       \ rS rSrSrg)r      rR   NrS   rR   r   r   r   r      rT   r   r   c                       \ rS rSrSrg)r      rR   NrS   rR   r   r   r   r      rT   r   r   BSF_NOT_FOUNDBSFNotFoundErrorBUGBUFFER_TOO_SMALLDECODER_NOT_FOUNDDEMUXER_NOT_FOUNDENCODER_NOT_FOUNDEOFEOFErrorEXITEXTERNALFILTER_NOT_FOUNDINVALIDDATAInvalidDataErrorMUXER_NOT_FOUNDOPTION_NOT_FOUNDPATCHWELCOMEPatchWelcomeErrorPROTOCOL_NOT_FOUNDUNKNOWNEXPERIMENTALINPUT_CHANGEDOUTPUT_CHANGEDHTTP_BAD_REQUESTHTTPBadRequestErrorHTTP_UNAUTHORIZEDHTTPUnauthorizedErrorHTTP_FORBIDDENHTTPForbiddenErrorHTTP_NOT_FOUNDHTTPNotFoundErrorHTTP_TOO_MANY_REQUESTSHTTPTooManyRequestsErrorHTTP_OTHER_4XXHTTPOtherClientErrorHTTP_SERVER_ERRORHTTPServerErrorPYAV_CALLBACKPyAVCallbackErrorr
   )modulez'An enumeration of FFmpeg's error types.c                 ,    [        U R                  5      $ )z"The FFmpeg byte tag for the error.)r   valuer8   s    r   _error_type_tagr      s    tzz""r   c                 x    U R                   [        :X  a  [        $ [        R                  " U R                   * 5      $ )z)The error message that would be returned.)r   c_PYAV_STASHED_ERRORPYAV_STASHED_ERROR_messagelib
av_err2strr8   s    r   _error_type_strerrorr      s*    zz))))>>4::+&&r   classesc                     [        [        U [        5      n[        U [        U4S[
        05      nU H  nU[        U'   M     U[        5       U '   [        R                  U 5        U$ )NrI   )
getattr__builtins__OSErrortyper   rH   r   globals__all__r(   )namecodesbaseclsr   s        r   _extend_builtinr      s[    <w/D
tk4(<*B
CC   GIdONN4Jr   PermissionErrorBlockingIOErrorChildProcessErrorConnectionAbortedErrorConnectionRefusedErrorConnectionResetErrorFileExistsErrorInterruptedErrorIsADirectoryErrorFileNotFoundErrorNotADirectoryErrorBrokenPipeErrorProcessLookupErrorTimeoutErrorMemoryErrorNotImplementedErrorOverflowErrorr   c                       \ rS rSrS rSrg)ArgumentError   c                 h   SnU R                   b  U U R                    3nU R                  (       a  U SU R                  < 3nU R                  b  U SU R                   3nU R                  (       a@  U SU R                  S   R	                  5        SU R                  S   R	                  5        3nU$ )Nr?   rA   z
 returned rB   r   r@   r   )r,   r1   r+   r2   rC   rD   s     r   rF   ArgumentError.__str__   s    ==$E$--)C==EDMM,-C::!EDJJ<0C88%*488A;+<+<+>*?r$((1+BSBSBUAVW  
r   rR   N)rH   rI   rJ   rK   rF   rN   rR   r   r   r   r      s    r   r   c                       \ rS rSrSrSrg)r      zLFallback exception type in case FFmpeg returns an error we don't know about.rR   N)rH   rI   rJ   rK   rL   rN   rR   r   r   r   r      s    Vr   r   _r?   ErrorrI   c                    [        [        SS 5      nUb,  [        [        S5        [        R
                  " U6   [        S-  qU =(       d    [        R                  " 5       n U [        l        U (       a	  [        S-  q[        * $ )Nexc_infoz&PyAV library exception being dropped:
r   )
r   _localr   r   	tracebackprint_exception
_err_countsysr   r   )r   existings     r   stash_exceptionr   %  sf     vz40HAB!!8,a
)3<<>HFOa
   r   F)checkresc           	         [         (       a?  [        [        SS5      nUb+  [         S-  q S[        l        US   R	                  US   5      eU S:  a  U $ [        5       u  p4U[        :  a  UqUnOSnU * n[        R                  " [        R                  [        [        R                  [        R                  " [        5      -  5      5      nU[        R                  :X  a
  [!        5       e U["        :X  a  [$        nOD[        R&                  " X[        R                  5        U=(       d    [(        R*                  " U5      n[,        R/                  U[0        5      n	U	" XhX5      e! [3        U5        f = f)z6Raise appropriate exceptions from library return code.r   Nr   r   r   )r   r   r   r   with_tracebackr   _last_log_countcythoncastp_charr	   r   AV_ERROR_MAX_STRING_SIZEsizeofcharNULLr   r   r   av_strerrorosr,   r   getr   r   )
r   r1   r   	log_countlast_logr2   r   error_bufferr0   r   s
             r   	err_checkr   7  s$    z6:t4!OJ"FO1+,,Xa[99
ax
 )*I?"#tD"(++vc::V]]4=PPQ#L v{{"m''0GOOCs/K/KL"7bkk$&7Gkk$/$//\s   )A8E! !E.r'   ){enumr+   r   r   r   	threadingr   r   cython.cimportsr   r   cython.cimports.av.loggingr   cython.cimports.libc.stdior   r   cython.cimports.libc.stdlibr   r	   r   ccallintr   r   r#   	Exceptionr   declarer   strr   r   r   r   AVERROR_BSF_NOT_FOUNDAVERROR_BUGRuntimeErrorAVERROR_BUFFER_TOO_SMALLr"   AVERROR_DECODER_NOT_FOUNDAVERROR_DEMUXER_NOT_FOUNDAVERROR_ENCODER_NOT_FOUNDAVERROR_EOFra   AVERROR_EXITAVERROR_EXTERNALAVERROR_FILTER_NOT_FOUNDAVERROR_INVALIDDATAAVERROR_MUXER_NOT_FOUNDAVERROR_OPTION_NOT_FOUNDAVERROR_PATCHWELCOMEAVERROR_PROTOCOL_NOT_FOUNDAVERROR_UNKNOWNAVERROR_EXPERIMENTALAVERROR_INPUT_CHANGEDAVERROR_OUTPUT_CHANGEDAVERROR_HTTP_BAD_REQUESTAVERROR_HTTP_UNAUTHORIZEDAVERROR_HTTP_FORBIDDENAVERROR_HTTP_NOT_FOUNDAVERROR_HTTP_TOO_MANY_REQUESTSAVERROR_HTTP_OTHER_4XXAVERROR_HTTP_SERVER_ERROR_ffmpeg_specsIntEnumrH   r
   rL   r   r   rM   r   r,   r   dict__annotations__r   EACCESEPERMEAGAINEALREADYEINPROGRESSEWOULDBLOCKECHILDECONNABORTEDECONNREFUSED
ECONNRESETEEXISTEINTREISDIRENOENTENOTDIREPIPE	ESHUTDOWNESRCH	ETIMEDOUTENOMEMENOSYSERANGE	errorcoder   r   EINVALr   r(   	enum_namer   r   r   titlereplacebases
issubclassr   r   objectr   r   r   cfuncr   	exceptvalr   )r   r   r   r   s   0000r   <module>r     s     	 
    ( 5 6 4 fjj U  " 	FU 	Fvzz 	F 	F<) <@ ~~fjj+g2FG #^^C1IJ 	+{ 		 		k 	 s0002DkR
S__dL1#666jI3888$L3888$L3888$L
S__j(3cd+#&&&d3#666kJS,,,.@*M444dKH#666kJc...0CTJC:::D+N$$$dD1c...d;s000$=222D$?#6668M_3888:QSbc2224H/Z2224GY B BBD^`op2224JO\3888:KYW*,?N7@ LL*78-tQE]-8	
 >	 #U #
'# ' )	23	   !ELL%++#> ? 
\\5>>5#4#4e6G6GH #ell_ 5 (5+=+=*? @ (5+=+=*? @ &)9)9(; < !ELL? 3 "U[[N 3 #ell_ 5 #ell_ 5 $u}}&6 7 !EKK#A B $u{{n 5  2 3  / % 7 %,, 1 	U__T_TG@SD_T UK "	[ 	 & *	/    $1ItT4?9??$,,S"5?D|	D+	&	&d#
tU\84
5C GDM GIdONN4# $1&  
	(^^FJJ*
..Q/ !fjj ! !" "E"+6:: + + # +W 9v Us   !X#	X*
X*
