
    /j                         S SK JrJrJr  S SKrSSKJrJr  SSKJ	r
  SSKJr  SSKJr  SSKJrJrJr   " S	 S
5      r " S S\5      r " S S\5      rg)    )ListOptionalcastN   )	FfiHandle	FfiClient)e2ee_pb2)ffi_pb2)	track_pb2)Track
LocalTrackRemoteTrackc                      \ rS rSrS\R
                  4S jr\S\\	   4S j5       r
\S\4S j5       r\S\4S j5       r\S\R                  R                  4S j5       r\S\R"                  R                  4S	 j5       r\S\4S
 j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\R6                  R                  4S j5       r\S\\R<                  R                     4S j5       rSr g)TrackPublication   
owned_infoc                 |    UR                   U l        S U l        [        UR                  R
                  5      U l        g N)info_info_trackr   handleid_ffi_handle)selfr   s     N/app/agent/.venv/lib/python3.13/site-packages/livekit/rtc/track_publication.py__init__TrackPublication.__init__   s-    __
'+$Z%6%6%9%9:    returnc                     U R                   $ r   )r   r   s    r   trackTrackPublication.track   s    {{r   c                 .    U R                   R                  $ r   )r   sidr"   s    r   r&   TrackPublication.sid#   s    zz~~r   c                 .    U R                   R                  $ r   )r   namer"   s    r   r)   TrackPublication.name'       zzr   c                 .    U R                   R                  $ r   )r   kindr"   s    r   r-   TrackPublication.kind+   r+   r   c                 .    U R                   R                  $ r   )r   sourcer"   s    r   r0   TrackPublication.source/       zz   r   c                 .    U R                   R                  $ r   )r   simulcastedr"   s    r   r4   TrackPublication.simulcasted3   s    zz%%%r   c                 .    U R                   R                  $ r   )r   widthr"   s    r   r7   TrackPublication.width7       zzr   c                 .    U R                   R                  $ r   )r   heightr"   s    r   r;   TrackPublication.height;   r2   r   c                 .    U R                   R                  $ r   )r   	mime_typer"   s    r   r>   TrackPublication.mime_type?   s    zz###r   c                 .    U R                   R                  $ r   )r   mutedr"   s    r   rA   TrackPublication.mutedC   r9   r   c                 .    U R                   R                  $ r   )r   encryption_typer"   s    r   rD    TrackPublication.encryption_typeG   s    zz)))r   c                 @    [        U R                  R                  5      $ r   )listr   audio_featuresr"   s    r   rH   TrackPublication.audio_featuresK   s    DJJ--..r   )r   r   r   N)!__name__
__module____qualname____firstlineno__proto_trackOwnedTrackPublicationr   propertyr   r   r#   strr&   r)   	TrackKind	ValueTyper-   TrackSourcer0   boolr4   intr7   r;   r>   rA   
proto_e2eeEncryptionTyperD   r   AudioTrackFeaturerH   __static_attributes__ r   r   r   r      s   ;;#D#D ;
 x   S   c   k++55   !//99 ! ! &T & &  s     ! ! ! $3 $ $  t     *!:!:!D!D * * /[%B%B%L%L M / /r   r   c                   z   ^  \ rS rSrS\R
                  4U 4S jjr\S\\	   4S j5       r
S	S jrS\4S jrSrU =r$ )
LocalTrackPublicationP   r   c                 X   > [         TU ]  U5        [        R                  " 5       U l        g r   )superr   asyncioFuture_first_subscriptionr   r   	__class__s     r   r   LocalTrackPublication.__init__Q   s    $9@9I r   r    c                 D    [        [        [           U R                  5      $ r   )r   r   r   r   r"   s    r   r#   LocalTrackPublication.trackU   s    HZ($++66r   c                 `   #    [         R                  " U R                  5      I S h  vN   g  N7fr   )ra   shieldrc   r"   s    r   wait_for_subscription+LocalTrackPublication.wait_for_subscriptionY   s     nnT55666s   $.,.c           	      p    SU R                    SU R                   SU R                   SU R                   S3	$ )Nzrtc.LocalTrackPublication(sid=, name=, kind=	, source=)r&   r)   r-   r0   r"   s    r   __repr__LocalTrackPublication.__repr__\   s=    /z7SWS\S\R]]fgkgrgrfsstuur   )rc   )r    N)rJ   rK   rL   rM   rN   rO   r   rP   r   r   r#   rk   rQ   rs   rZ   __classcell__re   s   @r   r]   r]   P   sP    J;#D#D J 7x
+ 7 77v# v vr   r]   c                      ^  \ rS rSrS\R
                  4U 4S jjr\S\\	   4S j5       r
\S\4S j5       rS\4S jrS\4S	 jrS
rU =r$ )RemoteTrackPublication`   r   c                 2   > [         TU ]  U5        SU l        g )NF)r`   r   _subscribedrd   s     r   r   RemoteTrackPublication.__init__a   s    $ r   r    c                 D    [        [        [           U R                  5      $ r   )r   r   r   r   r"   s    r   r#   RemoteTrackPublication.tracke   s    H[)4;;77r   c                     U R                   $ r   r{   r"   s    r   
subscribed!RemoteTrackPublication.subscribedi   s    r   r   c                     [         R                  " 5       nXR                  l        U R                  R
                  UR                  l        [        R                  R                  U5        g r   )
	proto_ffi
FfiRequestset_subscribed	subscriber   r   publication_handler   instancerequest)r   r   reqs      r   r   %RemoteTrackPublication.set_subscribedm   sJ    ""$'1$040@0@0G0G-""3'r   c           	      p    SU R                    SU R                   SU R                   SU R                   S3	$ )Nzrtc.RemoteTrackPublication(sid=rn   ro   rp   rq   rr   r"   s    r   rs   RemoteTrackPublication.__repr__s   s=    0
'$))GTXT]T]S^^ghlhshsgttuvvr   r   )rJ   rK   rL   rM   rN   rO   r   rP   r   r   r#   rU   r   r   rQ   rs   rZ   ru   rv   s   @r   rx   rx   `   sp    !;#D#D ! 8x, 8 8  D    ( (w# w wr   rx   )typingr   r   r   ra   _ffi_clientr   r   _protor	   rW   r
   r   r   rN   r#   r   r   r   r   r]   rx   r[   r   r   <module>r      sK    ( '  - * ( , 1 14/ 4/nv, v w- wr   