§
    ÜóÉj…  ã                   óÆ   — d dl Z d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d d	lmZ e j        e j         G d
„ de¦  «        ¦   «         ¦   «         ZdS )é    N)Úlibav)Ú
ByteSourceÚ
bytesource)ÚCodecContext)Ú	err_check)ÚPacket)ÚSubtitleProxyÚSubtitleSet)ÚPyBytes_FromStringAndSize)Úmemcpyc                   óÊ   — e Zd Zededz  fd„¦   «         Zej        dedz  ddfd„¦   «         Zdd„Zdede	fd„Z
ej        d	e	dz  fd
„¦   «         Zej        d	e	fd„¦   «         ZdS )ÚSubtitleCodecContextÚreturnNc                 óÜ   — | j         j        t          j        k    s| j         j        dk    rdS t          t          j        t          j        | j         j        ¦  «        | j         j        ¦  «        S )zAGet the subtitle header data (ASS/SSA format for text subtitles).r   N)ÚptrÚsubtitle_headerÚcythonÚNULLÚsubtitle_header_sizer   ÚcastÚp_char©Úselfs    ú~/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/av/subtitles/codeccontext.pyr   z$SubtitleCodecContext.subtitle_header   s[   € ð ŒHÔ$­¬Ò3Ð3ØŒxÔ,°Ò1Ð1à�4Ý(ÝŒK�œ t¤xÔ'?Ñ@Ô@ØŒHÔ)ñ
ô 
ð 	
ó    Údatac                 ó<  — |€=t          j        t          j        | j        j        ¦  «        ¦  «         d| j        _        nÕt          |¦  «        }t          j        t          j	        t          j
        | j        j        |j        t           j        z   ¦  «        ¦  «        | j        _        | j        j        st          d¦  «        ‚t          | j        j        |j        |j        ¦  «         t          j        t          j        |j        ¦  «        | j        _        d| _        dS )zSet the subtitle header data.Nr   zCannot allocate subtitle_headerT)ÚlibÚav_freepr   Úaddressr   r   r   r   r   Úp_ucharÚ
av_reallocÚlengthÚAV_INPUT_BUFFER_PADDING_SIZEÚMemoryErrorr   ÚintÚsubtitle_header_set)r   r   Úsources      r   r   z$SubtitleCodecContext.subtitle_header   sã   € ð ˆ<ÝŒL�œ¨¬Ô(@ÑAÔAÑBÔBÐBØ,-ˆDŒHÔ)Ð)å Ñ%Ô%ˆFÝ'-¤{Ý”Ý”Ø”HÔ,Ø”M¥CÔ$DÑDñô ñ(ô (ˆDŒHÔ$ð ”8Ô+ð EÝ!Ð"CÑDÔDÐDÝ�4”8Ô+¨V¬Z¸¼ÑGÔGÐGÝ,2¬K½¼
ÀFÄMÑ,RÔ,RˆDŒHÔ)Ø#'ˆÔ Ð Ð r   c                 óŠ   — | j         r9| j        r4t          j        t	          j        | j         j        ¦  «        ¦  «         d S d S d S )N)r   r'   r   r   r   r    r   r   s    r   Ú__dealloc__z SubtitleCodecContext.__dealloc__2   sU   € ØŒ8ð 	C˜Ô0ð 	CÝŒL�œ¨¬Ô(@ÑAÔAÑBÔBÐBÐBÐBð	Cð 	Cð 	Cð 	Cr   Úsubtitlec                 ó  — | j         j        st          d¦  «        ‚|                      d¬¦  «         t	          j        t          j        t          j        d¦  «        ¦  «        }|t          j	        k    rt          ¦   «         ‚t          j        | j        |dt	          j        |j        j        ¦  «        ¦  «        }|dk     r$t          j        |¦  «         t!          |d¦  «         t#          |¦  «        }t%          |j        j        ||¦  «         t          j        |¦  «         |j        j        j        |j        _        |j        j        j        |j        _        |j        j        j        |j        j        j        z
  |j        _        |S )zÀ
        Encode a SubtitleSet into a Packet.

        Args:
            subtitle: The SubtitleSet to encode

        Returns:
            A Packet containing the encoded subtitle data
        z Cannot encode with unknown codecF©Ústricti   r   zavcodec_encode_subtitle())Úcodecr   Ú
ValueErrorÚopenr   r   r!   r   Ú	av_mallocr   r%   Úavcodec_encode_subtitler    ÚproxyÚstructÚav_freer   r   r   r   ÚptsÚdtsÚend_display_timeÚstart_display_timeÚduration)r   r+   ÚbufÚretÚpackets        r   Úencode_subtitlez$SubtitleCodecContext.encode_subtitle6   sB  € ð ŒzŒ~ð 	AÝÐ?Ñ@Ô@Ð@à�	Š	˜ˆ	ÑÔÐå$œk­&¬.½#¼-ÈÑ:TÔ:TÑUÔUˆØ•&”+ÒÐÝ‘-”-ÐåÔ5ØŒHØØÝŒN˜8œ>Ô0Ñ1Ô1ñ	
ô 
ˆð �Š7ˆ7ÝŒK˜ÑÔÐÝ�cÐ6Ñ7Ô7Ð7å ™œˆÝˆvŒzŒ  SÑ)Ô)Ð)ÝŒ�CÑÔÐØ!œÔ.Ô2ˆŒ
ŒØ!œÔ.Ô2ˆŒ
ŒàŒNÔ!Ô2ØŒnÔ#Ô6ñ7ð 	Œ
Ôð
 ˆr   r>   c           	      ó”  — | j         j        st          d¦  «        ‚|€t          d¦  «        ‚|                      d¬¦  «         t          ¦   «         }d}t          t          j        | j        t          j
        |j        ¦  «        t          j
        |¦  «        |j        ¦  «        ¦  «         |rt          t          |¦  «        ¦  «        S g S )z‡Decode a subtitle packet, returning a list of :class:`.Subtitle` objects
        if a subtitle was decoded, or an empty list otherwise.úcannot decode unknown codecNzpacket cannot be NoneFr-   r   )r/   r   r0   ÚRuntimeErrorr1   r	   r   r   Úavcodec_decode_subtitle2r   r    r5   Úlistr
   ©r   r>   r4   Ú	got_frames       r   Ú_decodezSubtitleCodecContext._decode_   sÂ   € ð ŒzŒ~ð 	<ÝÐ:Ñ;Ô;Ð;àˆ>ÝÐ6Ñ7Ô7Ð7à�	Š	˜ˆ	ÑÔÐÝ,™œˆØ !ˆ	åÝÔ(Ø”Ý”˜uœ|Ñ,Ô,Ý”˜yÑ)Ô)Ø”
ñ	ô ñ	
ô 	
ð 	
ð ð 	,Ý� EÑ*Ô*Ñ+Ô+Ð+Øˆ	r   c           	      óX  — | j         j        st          d¦  «        ‚|                      d¬¦  «         t	          ¦   «         }d}t          t          j        | j        t          j	        |j
        ¦  «        t          j	        |¦  «        |j        ¦  «        ¦  «         |rt          |¦  «        S dS )z<
        Returns SubtitleSet if you really need it.
        rA   Fr-   r   N)r/   r   r0   r1   r	   r   r   rC   r   r    r5   r
   rE   s       r   Údecode2zSubtitleCodecContext.decode2z   s¦   € ð
 ŒzŒ~ð 	<ÝÐ:Ñ;Ô;Ð;à�	Š	˜ˆ	ÑÔÐå,™œˆØ !ˆ	åÝÔ(Ø”Ý”˜uœ|Ñ,Ô,Ý”˜yÑ)Ô)Ø”
ñ	ô ñ	
ô 	
ð 	
ð ð 	&Ý˜uÑ%Ô%Ð%Øˆtr   )r   N)Ú__name__Ú
__module__Ú__qualname__ÚpropertyÚbytesr   Úsetterr*   r
   r   r?   r   ÚcfuncrG   ÚccallrI   © r   r   r   r      s  € € € € € ð ð

 ¨¡ð 

ð 

ð 

ñ „Xð

ð Ôð( E¨D¡Lð (°Tð (ð (ð (ñ Ôð(ð*Cð Cð Cð Cð'¨ð '¸ð 'ð 'ð 'ð 'ðR „\ð˜f t™mð ð ð ñ „\ðð4 „\ð˜fð ð ð ñ „\ðð ð r   r   )r   Úcython.cimportsr   r   Úcython.cimports.av.bufferr   r   Ú cython.cimports.av.codec.contextr   Úcython.cimports.av.errorr   Úcython.cimports.av.packetr   Ú%cython.cimports.av.subtitles.subtitler	   r
   Úcython.cimports.cpython.bytesr   Úcython.cimports.libc.stringr   ÚfinalÚcclassr   rR   r   r   ú<module>r]      s  ðØ €€€Ø (Ð (Ð (Ð (Ð (Ð (Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø .Ð .Ð .Ð .Ð .Ð .Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ CÐ CÐ CÐ CÐ CÐ CØ .Ð .Ð .Ð .Ð .Ð .ð „Ø„ðDð Dð Dð Dð D˜<ñ Dô Dñ „ñ „ðDð Dð Dr   