§
    ÜóÉj¾  ã                   óì   — d dl Z d dlZd dlmc mZ d dlmZ  G d„ d¦  «        Zej	        dej
        ej                 defd„¦   «         Zdedee         fd	„Zdedee         fd
„Zdedee         fd„ZdS )é    N)Ú	err_checkc            
       ó|   — e Zd ZU dZeed<   eed<   eed<   ee         ed<   dedededee         ddf
d„Zdefd	„Z	dS )
Ú
DeviceInfoaœ  Information about an input or output device.

    :param str name: The device identifier, for use as the first argument to :func:`av.open`.
    :param str description: Human-readable description of the device.
    :param bool is_default: Whether this is the default device.
    :param list media_types: Media types this device provides, e.g. ``["video"]``, ``["audio"]``,
        or ``["video", "audio"]``.

    ÚnameÚdescriptionÚ
is_defaultÚmedia_typesÚreturnNc                 ó>   — || _         || _        || _        || _        d S )N©r   r   r   r	   )Úselfr   r   r   r	   s        ún/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/av/device.pyÚ__init__zDeviceInfo.__init__   s(   € ð ˆŒ	Ø&ˆÔØ$ˆŒØ&ˆÔÐÐó    c                 óB   — | j         rdnd}d| j        ›d| j        ›|› d�S )Nz
 (default)Ú z<av.DeviceInfo ú ú>)r   r   r   )r   Údefaults     r   Ú__repr__zDeviceInfo.__repr__$   s5   € Ø"&¤/Ð9�,�,°rˆØM ¤ÐMÐM¨tÔ/?ÐMÀ7ÐMÐMÐMÐMr   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__ÚboolÚlistr   r   © r   r   r   r      s½   € € € € € € ðð ð €I€I�IØÐÐÑØÐÐÑØ�c”ÐÐÑð
'àð
'ð ð
'ð ð	
'ð
 ˜#”Yð
'ð 
ð
'ð 
'ð 
'ð 
'ðN˜#ð Nð Nð Nð Nð Nð Nr   r   Údevice_listr
   c           
      ó6  — g }t          | j        ¦  «        D �] }| j        |         }g }t          |j        ¦  «        D ]:}|j        |         }t          j        |¦  «        }|r|                     |¦  «         Œ;|                     t          |j	        r1t          j        t          |j	        ¦  «                             ¦   «         nd|j        r1t          j        t          |j        ¦  «                             ¦   «         nd|| j        k    |¬¦  «        ¦  «         �Œ|S )Nr   r   )ÚrangeÚ
nb_devicesÚdevicesÚnb_media_typesr	   ÚlibÚav_get_media_type_stringÚappendr   Údevice_nameÚcythonÚcastÚbytesÚdecodeÚdevice_descriptionÚdefault_device)r    r$   ÚiÚdevice_infor	   ÚjÚmtÚss           r   Ú_build_device_listr5   )   s'  € à€Gõ �;Ô)Ñ*Ô*ð 
ñ 
ˆØ!Ô)¨!Ô,ˆàˆÝ�{Ô1Ñ2Ô2ð 	&ð 	&ˆAØÔ(¨Ô+ˆBÝÔ,¨RÑ0Ô0ˆAØð &Ø×"Ò" 1Ñ%Ô%Ð%øà�ŠÝàÔ*ð•V”[¥¨Ô(?Ñ@Ô@×GÒGÑIÔIÐIààÔ1ð�FœK­¨{Ô/MÑNÔN×UÒUÑWÔWÐWàØ Ô!;Ò;Ø'ð	ñ 	ô 	ñ	
ô 	
ð 	
ñ 	
ð €Nr   Úformat_namec           	      ó   — ddl m} t          j        | ¦  «        }t          j        }t          j        t	          j        |¦  «        ddd¦  «         t          j        }|                     ¦   «         }| 	                    |j
        ¦  «         g }	 |                     ¦   «         5 }t          j        t	          j        |¦  «        d|t	          j        |¦  «        ¦  «         |r&t          j        t	          j        |¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   d}|D ]°\  }	}
}|                     ¦   «         }d|                     ¦   «         v rd}Œ3d	|                     ¦   «         v rd
}ŒLt!          j        d|¦  «        }|rM|                     t'          |                     d¦  «        |                     d¦  «        d|g¬¦  «        ¦  «         Œ±	 | 	                    |¦  «         t          j        t	          j        |¦  «        ¦  «         n@# | 	                    |¦  «         t          j        t	          j        |¦  «        ¦  «         w xY w|S )z¯Fallback for formats (e.g. avfoundation) that log devices instead of
    implementing get_device_list. Opens the format with list_devices=1 and
    parses the INFO log output.r   )Úloggings   list_devicesó   1r   NÚvideozvideo deviceszaudio devicesÚaudioz\[(\d+)\] (.+)é   é   Fr   )Úavr8   r&   Úav_find_input_formatr*   ÚNULLÚav_dict_setÚaddressÚ	get_levelÚ	set_levelÚINFOÚCaptureÚavformat_open_inputÚavformat_close_inputÚstripÚlowerÚreÚmatchr(   r   ÚgroupÚav_dict_free)r6   Ú	avloggingÚfmtÚoptsÚctxÚ	old_levelr$   ÚlogsÚcurrent_media_typeÚ_levelÚ_nameÚmessageÚms                r   Ú_enumerate_via_log_fallbackrZ   L   s€  € ð (Ð'Ð'Ð'Ð'Ð'å;>Ô;SØñ<ô <€Cõ .4¬[€DÝ„O•F”N 4Ñ(Ô(¨/¸4ÀÑCÔCÐCå/5¬{€Cð ×#Ò#Ñ%Ô%€IØ×Ò˜	œÑ'Ô'Ð'Ø "€Gð/Ø×ÒÑ Ô ð 	> DÝÔ#¥F¤N°3Ñ$7Ô$7¸¸cÅ6Ä>ÐRVÑCWÔCWÑXÔXÐXØð >ÝÔ(­¬¸Ñ)<Ô)<Ñ=Ô=Ð=ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð
 %ÐØ&*ð 	ð 	Ñ"ˆF�E˜7Ø—m’m‘o”oˆGØ '§-¢-¡/¤/Ð1Ð1Ø%,Ð"Ð"Ø  G§M¢M¡O¤OÐ3Ð3Ø%,Ð"Ð"å”HÐ.°Ñ8Ô8�Øð Ø—N’NÝ"Ø!"§¢¨¡¤Ø()¯ª°©
¬
Ø',Ø);Ð(<ð	ñ ô ñô ð øð	ð$ 	×Ò˜IÑ&Ô&Ð&ÝÔ�œ¨Ñ-Ô-Ñ.Ô.Ð.Ð.øð 	×Ò˜IÑ&Ô&Ð&ÝÔ�œ¨Ñ-Ô-Ñ.Ô.Ð.Ð.øøøà€Ns2   ÂH Â!A$DÄH ÄDÄH ÄDÄB8H È=Ic           
      óJ  — t          j        | ¦  «        }|st          d| ›�¦  «        ‚t          j        }	 t          t          j        |t          j        t          j        t          j        |¦  «        ¦  «        ¦  «         t          |¦  «        t          j	        t          j        |¦  «        ¦  «         S # t          $ r8 t          | ¦  «        cY t          j	        t          j        |¦  «        ¦  «         S w xY w# t          j	        t          j        |¦  «        ¦  «         w xY w)aÊ  List the available input devices for a given format.

    :param str format_name: The format name, e.g. ``"avfoundation"``, ``"dshow"``, ``"v4l2"``.
    :rtype: list[DeviceInfo]
    :raises ValueError: If *format_name* is not a known input format.
    :raises av.FFmpegError: If the device does not support enumeration.

    Example::

        for device in av.enumerate_input_devices("avfoundation"):
            print(device.name, device.description)

    zno such input format: )r&   r?   Ú
ValueErrorr*   r@   r   Úavdevice_list_input_sourcesrB   r5   Úavdevice_free_list_devicesÚNotImplementedErrorrZ   ©r6   rP   r    s      r   Úenumerate_input_devicesra   ~   s   € õ <?Ô;SØñ<ô <€Cð ð CÝÐA°+ÐAÐAÑBÔBÐBå8>¼€KðDÝÝÔ+Ø•V”[¥&¤+­v¬~¸kÑ/JÔ/Jñô ñ	
ô 	
ð 	
õ
 " +Ñ.Ô.õ 	Ô&¥v¤~°kÑ'BÔ'BÑCÔCÐCÐCøõ ð 8ð 8ð 8õ +¨;Ñ7Ô7Ð7Ð7åÔ&¥v¤~°kÑ'BÔ'BÑCÔCÐCÐCð8øøøøõ
 	Ô&¥v¤~°kÑ'BÔ'BÑCÔCÐCÐCøøøs$   ¶AB5 Â5C7ÃC: Ã6C7Ã7C: Ã:(D"c           
      óì  — t          j        | t          j        t          j        ¦  «        }|st	          d| ›�¦  «        ‚t          j        }t          t          j        |t          j        t          j        t          j        |¦  «        ¦  «        ¦  «         	 t          |¦  «        t          j	        t          j        |¦  «        ¦  «         S # t          j	        t          j        |¦  «        ¦  «         w xY w)a.  List the available output devices for a given format.

    :param str format_name: The format name, e.g. ``"audiotoolbox"``.
    :rtype: list[DeviceInfo]
    :raises ValueError: If *format_name* is not a known output format.
    :raises av.FFmpegError: If the device does not support enumeration.

    zno such output format: )
r&   Úav_guess_formatr*   r@   r\   r   Úavdevice_list_output_sinksrB   r5   r^   r`   s      r   Úenumerate_output_devicesre   ¢   sÔ   € õ =@Ô<OØ•V”[¥&¤+ñ=ô =€Cð ð DÝÐB°;ÐBÐBÑCÔCÐCå8>¼€KÝÝÔ&Ø•”�fœk­6¬>¸+Ñ+FÔ+Fñ	
ô 	
ñô ð ðDÝ! +Ñ.Ô.åÔ&¥v¤~°kÑ'BÔ'BÑCÔCÐCÐCø�Ô&¥v¤~°kÑ'BÔ'BÑCÔCÐCÐCøøøs   ÂC Ã(C3)rK   r*   Úcython.cimports.libavÚcimportsÚlibavr&   Úcython.cimports.av.errorr   r   ÚcfuncÚpointerÚAVDeviceInfoListr   r5   r   rZ   ra   re   r   r   r   ú<module>rm      s?  ðØ 	€	€	€	à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø .Ð .Ð .Ð .Ð .Ð .ðNð Nð Nð Nð Nñ Nô Nð NðB „ð F¤N°3Ô3GÔ$Hð ÈTð ð ð ñ „ððD/¨Sð /°T¸*Ô5Eð /ð /ð /ð /ðd!D¨ð !D°°jÔ1Að !Dð !Dð !Dð !DðHD¨#ð D°$°zÔ2Bð Dð Dð Dð Dð Dð Dr   