
    \j\                     v    d dl Z d dlmZ d dlmZ e j
                  e j                   G d de                    Zy)    N)
AudioFrame)Packetc                   |    e Zd Zd Zd Zej                  ddedz  fd       Zej                  dde	dz  fd       Z
y)	AudioStreamc                 >   | j                   d| j                   dt        |       ddS | j                  r| j                  j                  nd }d| j                   d| j                   d| j
                   d| j                  j                   d| d	t        |       ddS )
Nz<av.AudioStream #z audio/<nocodec> at 0xx> z at zHz, z, z at 0x)codec_contextindexidformatnameratelayout)selfforms     B/root/.hermes/venv/lib/python3.12/site-packages/av/audio/stream.py__repr__zAudioStream.__repr__	   s    %&tzzl2HDRSTUVV#';;t{{D

|1TYYKtDII; G  !D64|1>	
    c                     | j                   %t        dt        |       j                   d| d      t	        | j                   |      S )N'z' object has no attribute ')r   AttributeErrortype__name__getattr)r   r   s     r   __getattr__zAudioStream.__getattr__   sN    % DJ''((CD6K  t))400r   Nframec                     | j                   j                  |      }|D ].  }| |_        | j                  j                  |j                  _        0 |S )z
        Encode an :class:`.AudioFrame` and return a list of :class:`.Packet`.

        :rtype: list[Packet]

        .. seealso:: This is mostly a passthrough to :meth:`.CodecContext.encode`.
        )r   encode_streamptrr   stream_index)r   r   packetspackets       r   r    zAudioStream.encode   sK     $$++E2 	5F!FN&*hhnnFJJ#	5 r   r%   c                 8    | j                   j                  |      S )z
        Decode a :class:`.Packet` and return a list of :class:`.AudioFrame`.

        :rtype: list[AudioFrame]

        .. seealso:: This is a passthrough to :meth:`.CodecContext.decode`.
        )r   decode)r   r%   s     r   r'   zAudioStream.decode+   s     !!((00r   )N)r   
__module____qualname__r   r   cythonccallr   r    r   r'    r   r   r   r      sS    
1 \\J-  " \\	1Vd] 	1 	1r   r   )	r*   cython.cimports.av.audio.framer   cython.cimports.av.packetr   finalcclassStreamr   r,   r   r   <module>r2      s9     5 , -1& -1  -1r   