
    C1i                         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"                   " S S	\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-  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_frameNc                    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/james-whalen/.local/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$    returnc                     [        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_rate5   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.rateB   s     r&   c                     Xl         g r)   r=   r;   s     r#   r   r>   G   s     r&   c                 .    U R                   R                  $ r)   )r   nb_channelsr*   s    r#   channelsAudioCodecContext.channelsK   s    {{&&&r&   c                 @    [        U R                  R                  5      $ )z/
The audio channel layout.

:type: AudioLayout
)r	   r   	ch_layoutr*   s    r#   r   AudioCodecContext.layoutO   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   X   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   f   s    )%0$//r&   )r   r   )__name__
__module____qualname____firstlineno__cythoncfuncr
   r$   r+   r   r0   propertyr   r   setterintr   rB   r   r   __static_attributes__ r&   r#   r   r   
   sM   \\edl  * \\#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   cclassr/   r   rV   r&   r#   <module>r^      s<     ( I H I * , ^0 ^0 ^0r&   