o
    di                     @   s6  d dl mZmZ d dlmZmZ eeeeedf f Z	eG dd dZ
eG dd dZeG dd	 d	ZeG d
d dZG dd deZG dd deZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd dZeG dd deZeG dd deZdS )     )	dataclassfield)OptionalUnionNc                   @   s^   e Zd ZU dZeed< 	 eed< 	 dZee ed< 	 e	e
dZeed< 	 edefd	d
ZdS )RTCRtpCodecCapabilityzg
    The :class:`RTCRtpCodecCapability` dictionary provides information on
    codec capabilities.
    mimeType	clockRateNchannelsdefault_factory
parametersreturnc                 C      | j dd S N/   r   splitself r   K/home/ubuntu/.local/lib/python3.10/site-packages/aiortc/rtcrtpparameters.pyname      zRTCRtpCodecCapability.name)__name__
__module____qualname____doc__str__annotations__intr	   r   r   dictr   ParametersDictpropertyr   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU dZeed< 	 eed< 	 dZee ed< 	 dZ	ee ed< 	 e
edZed ed	< 	 e
edZeed
< 	 edefddZdefddZdS )RTCRtpCodecParameterszc
    The :class:`RTCRtpCodecParameters` dictionary provides information on
    codec settings.
    r   r   Nr	   payloadTyper
   RTCRtcpFeedbackrtcpFeedbackr   r   c                 C   r   r   r   r   r   r   r   r   0   r   zRTCRtpCodecParameters.namec                 C   s(   | j  d| j }| jdkr|d7 }|S )Nr      z/2)r   r   r	   )r   sr   r   r   __str__4   s   
zRTCRtpCodecParameters.__str__)r   r   r   r   r   r   r    r	   r   r%   r   listr'   r!   r   r"   r#   r   r*   r   r   r   r   r$      s"   
 r$   c                   @   s   e Zd ZU eed< dS )RTCRtpRtxParametersssrcN)r   r   r   r    r   r   r   r   r   r,   ;   s   
 r,   c                   @   s.   e Zd ZU eed< eed< dZee ed< dS )RTCRtpCodingParametersr-   r%   Nrtx)r   r   r   r    r   r/   r   r,   r   r   r   r   r.   @   s   
 r.   c                   @      e Zd ZdS )RTCRtpDecodingParametersNr   r   r   r   r   r   r   r1   G       r1   c                   @   r0   )RTCRtpEncodingParametersNr2   r   r   r   r   r4   K   r3   r4   c                   @   s   e Zd ZU dZeed< dS )RTCRtpHeaderExtensionCapabilityz{
    The :class:`RTCRtpHeaderExtensionCapability` dictionary provides information
    on a supported header extension.
    uriN)r   r   r   r   r   r   r   r   r   r   r5   O   s   
 r5   c                   @   s$   e Zd ZU dZeed< 	 eed< dS )RTCRtpHeaderExtensionParametersz
    The :class:`RTCRtpHeaderExtensionParameters` dictionary enables a header
    extension to be configured for use within an :class:`RTCRtpSender` or
    :class:`RTCRtpReceiver`.
    idr6   N)r   r   r   r   r    r   r   r   r   r   r   r7   Z   s   
 r7   c                   @   s@   e Zd ZU dZeedZee ed< 	 eedZ	ee
 ed< dS )RTCRtpCapabilitieszy
    The :class:`RTCRtpCapabilities` dictionary provides information about
    support codecs and header extensions.
    r
   codecsheaderExtensionsN)r   r   r   r   r   r+   r:   r   r   r;   r5   r   r   r   r   r9   h   s   
 r9   c                   @   s*   e Zd ZU dZeed< dZee ed< dS )r&   ze
    The :class:`RTCRtcpFeedback` dictionary provides information on RTCP feedback
    messages.
    typeN	parameter)r   r   r   r   r   r   r=   r   r   r   r   r   r&   w   s   
 r&   c                   @   sB   e Zd ZU dZdZee ed< 	 dZe	ed< 	 dZ
ee ed< dS )RTCRtcpParameterszZ
    The :class:`RTCRtcpParameters` dictionary provides information on RTCP settings.
    NcnameFmuxr-   )r   r   r   r   r?   r   r   r   r@   boolr-   r    r   r   r   r   r>      s   
 r>   c                   @   sb   e Zd ZU dZeedZee ed< 	 eedZ	ee
 ed< 	 dZeed< 	 eedZeed< dS )	RTCRtpParametersz
    The :class:`RTCRtpParameters` dictionary describes the configuration of
    an :class:`RTCRtpReceiver` or an :class:`RTCRtpSender`.
    r
   r:   r;    muxIdrtcpN)r   r   r   r   r   r+   r:   r$   r   r;   r7   rD   r   r>   rE   r   r   r   r   rB      s   
 rB   c                   @   $   e Zd ZU eedZee ed< dS )RTCRtpReceiveParametersr
   	encodingsN)r   r   r   r   r+   rH   r1   r   r   r   r   r   rG         
 rG   c                   @   rF   )RTCRtpSendParametersr
   rH   N)r   r   r   r   r+   rH   r4   r   r   r   r   r   rJ      rI   rJ   )dataclassesr   r   typingr   r   r!   r   r    r"   r   r$   r,   r.   r1   r4   r5   r7   r9   r&   r>   rB   rG   rJ   r   r   r   r   <module>   s:    

