
    3j                         S SK r S SKJr  S SKJrJr  S SKJrJ	r	  S SK
JrJr  S SKJr  S SKJr  \ R"                  \ R$                   " S S	\5      5       5       rg)
    N)libav)AudioFormatget_audio_format)
AudioFramealloc_audio_frame)AudioLayoutget_audio_layout)Frame)Packetc                      \ rS rSr\R
                  S\S-  S\4S j5       r\R
                  S\4S j5       r	\R
                  S\S\
4S	 j5       r\S
 5       r\S 5       r\R                  S\R                   4S j5       r\S 5       r\R                  S 5       r\S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       rSrg)AudioCodecContext
   input_frameNreturnc                    UnU R                   R                  R                  [        R                  -  nU R
                  (       dV  [        U R                  U R                  U R                   R                  U(       a  S OU R                   R                  S9U l        U R
                  R                  U5      nUc  UR                  S 5        U$ )N)formatlayoutrate
frame_size)ptrcodeccapabilitieslib AV_CODEC_CAP_VARIABLE_FRAME_SIZE	resamplerAudioResamplerr   r   sample_rater   resampleappend)selfr   frameallow_var_frame_sizeframess        O/home/wildlama/miniconda3/lib/python3.13/site-packages/av/audio/codeccontext.py_prepare_frames_for_encode,AudioCodecContext._prepare_frames_for_encode   s    #.HHNN''#*N*NN 	 ~~+{{{{XX))#74TXX=P=P	DN ((/MM$    c                     [        5       $ N)r   r    s    r$   _alloc_next_frame#AudioCodecContext._alloc_next_frame#   s     ""r'   r!   packetc                 T    [         R                  XU5        UnUR                  5         g r)   )CodecContext_setup_decoded_frame_init_user_attributes)r    r!   r-   aframes       r$   r0   &AudioCodecContext._setup_decoded_frame'   s#    ))$v>"$$&r'   c                 .    U R                   R                  $ )z>
Number of samples per channel in an audio frame.

:type: int
)r   r   r*   s    r$   r   AudioCodecContext.frame_size-   s     xx"""r'   c                 .    U R                   R                  $ )zC
Sample rate of the audio data, in samples per second.

:type: int
r   r   r*   s    r$   r   AudioCodecContext.sample_rate6   s     xx###r'   valuec                 $    XR                   l        g r)   r7   r    r9   s     r$   r   r8   ?   s    $r'   c                     U R                   $ )z%Another name for :attr:`sample_rate`.r   r*   s    r$   r   AudioCodecContext.rateC   s     r'   c                     Xl         g r)   r=   r;   s     r$   r   r>   H   s     r'   c                 .    U R                   R                  $ r)   )r   nb_channelsr*   s    r$   channelsAudioCodecContext.channelsL   s    {{&&&r'   c                 @    [        U R                  R                  5      $ )z/
The audio channel layout.

:type: AudioLayout
)r	   r   	ch_layoutr*   s    r$   r   AudioCodecContext.layoutP   s       2 233r'   c                 P    [        U5      nUR                  U R                  l        g r)   )r   r   r   rE   )r    r9   r   s      r$   r   rF   Y   s    )%0#]]r'   c                 @    [        U R                  R                  5      $ )z.
The audio sample format.

:type: AudioFormat
)r   r   
sample_fmtr*   s    r$   r   AudioCodecContext.format^   s       3 344r'   c                 P    [        U5      nUR                  U R                  l        g r)   )r   rI   r   )r    r9   r   s      r$   r   rJ   g   s    )%0$//r'   )r   r   )__name__
__module____qualname____firstlineno__cythoncfuncr
   listr%   r+   r   r0   propertyr   r   setterintr   rB   r   r   __static_attributes__ r'   r$   r   r   
   sV    \\edl t  * \\#5 # # \\'% ' ' '
 # # $ $ % % %     
[[! ! ' ' 4 4 ]]+ + 5 5 ]]0 0r'   r   )rP   cython.cimportsr   r   cython.cimports.av.audio.formatr   r   cython.cimports.av.audio.framer   r   cython.cimports.av.audio.layoutr   r	   cython.cimports.av.framer
   cython.cimports.av.packetr   finalcclassr/   r   rW   r'   r$   <module>r`      sH     ( I H I * , ^0 ^0  ^0r'   