+
    ›~jv  ã                  óZ   € ^ RI Ht ^RIHtHt ^RIHt ^RIHt	 ^RI
Ht  ! R R4      tR# )	é    )Úannotations)Ú	FfiHandleÚ	FfiClient)Úffi_pb2)Úvideo_frame_pb2)Ú
VideoFramec                  óv   € ] tR t^tRR/R R lltR^ R]P                  P                  /R R lltR	 R
 lt	Rt
R# )ÚVideoSourceÚis_screencastFc               ó(   € V ^8„  d   QhRRRRRRRR/# )é   ÚwidthÚintÚheightr   ÚboolÚreturnÚNone© )Úformats   "Úm/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/rtc/video_source.pyÚ__annotate__ÚVideoSource.__annotate__   s)   € ÷ ;ñ ;˜cð ;¨3ð ;À$ð ;ÐSWñ ;ó    c               óÚ  € \         P                  ! 4       p\        P                  P                  VP
                  n        WP
                  P                  n        W$P
                  P                  n	        W4P
                  n
        \        P                  P                  V4      pVP
                  P                  V n        \!        V P                  P"                  P$                  4      V n        R# )a6  
Create a new video source.

Args:
    width (int): Initial width of the video source.
    height (int): Initial height of the video source.
    is_screencast (bool, optional): Optimize the WebRTC pipeline for screen content.
        Defaults to False.

        When True, WebRTC will:

        - Maintain resolution under congestion by dropping frames instead of
          downscaling (keeps text crisp)
        - Disable quality scaling and denoising to preserve text/UI readability
        - Guarantee a minimum 1200 kbps bitrate floor
        - Enable zero-hertz mode, stopping frame transmission when the screen
          is static to save bandwidth
        - Set content type to screen, adjusting encoder configuration throughout
          the pipeline (VP9 inter-layer prediction, simulcast layer allocation, etc.)
N)Ú	proto_ffiÚ
FfiRequestÚproto_videoÚVideoSourceTypeÚVIDEO_SOURCE_NATIVEÚnew_video_sourceÚtypeÚ
resolutionr   r   r   r   ÚinstanceÚrequestÚsourceÚ_infor   ÚhandleÚidÚ_ffi_handle)Úselfr   r   r   ÚreqÚresps   &&&$  r   Ú__init__ÚVideoSource.__init__   s¢   € ô* ×"Ò"Ó$ˆÜ$/×$?Ñ$?×$SÑ$Sˆ×ÑÔ!Ø05×Ñ×'Ñ'Ô-Ø17×Ñ×'Ñ'Ô.Ø-:×ÑÔ*ä×!Ñ!×)Ñ)¨#Ó.ˆØ×*Ñ*×1Ñ1ˆŒ
Ü$ T§Z¡Z×%6Ñ%6×%9Ñ%9Ó:ˆÖr   Útimestamp_usÚrotationc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Úframer   r/   r   r0   z#proto_video.VideoRotation.ValueTyper   r   r   )r   s   "r   r   r   7   s2   € ÷ (ñ (àð(ð ð	(ð
 6ð(ð 
ñ(r   c               	ó^  € \         P                  ! 4       pV P                  P                  VP                  n        VP                  P                  P                  VP                  4       4       W4P                  n	        W$P                  n
        \        P                  P                  V4       R # ©N)r   r   r)   r'   Úcapture_video_frameÚsource_handleÚbufferÚCopyFromÚ_proto_infor0   r/   r   r#   r$   )r*   r2   r/   r0   r+   s   &&$$ r   Úcapture_frameÚVideoSource.capture_frame7   s{   € ô ×"Ò"Ó$ˆØ04×0@Ñ0@×0GÑ0Gˆ×ÑÔ-Ø×Ñ×&Ñ&×/Ñ/°×0AÑ0AÓ0CÔDØ+3×ÑÔ(Ø/;×ÑÔ,Ü×Ñ×"Ñ" 3Ö'r   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   E   s   € ÷ #ñ #˜dñ #r   c              ƒ  	óB   "  € V P                   P                  4        R # 5ir4   )r)   Údispose)r*   s   &r   ÚacloseÚVideoSource.acloseE   s   é € Ø×Ñ× Ñ Ö"ùs   ‚)r)   r&   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r-   r   ÚVideoRotationÚVIDEO_ROTATION_0r:   r?   Ú__static_attributes__r   r   r   r
   r
      s>   † ð;È÷ ;ð>(ð ð	(ð
 9D×8QÑ8Q×8bÑ8b÷(÷#ñ #r   r
   N)Ú
__future__r   Ú_ffi_clientr   r   Ú_protor   r   r   r   Úvideo_framer   r
   r   r   r   Ú<module>rL      s    ðõ #ç -Ý (Ý 2Ý #÷/#ó /#r   