MillicastSDK 2.0.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
millicast::WebrtcRemoteAudioTrack Class Referenceabstract

#include <track.h>

Inheritance diagram for millicast::WebrtcRemoteAudioTrack:
Inheritance graph
[legend]
Collaboration diagram for millicast::WebrtcRemoteAudioTrack:
Collaboration graph
[legend]

Public Member Functions

 WebrtcRemoteAudioTrack ()=default
 
 MC_DISABLE_COPY_AND_ASSIGN (WebrtcRemoteAudioTrack)
 
virtual Promise< void > project (RtsRemoteAudioTrack &rts_track)=0
 
virtual Promise< void > set_volume (double volume)=0
 
virtual Promise< RtsRemoteAudioTrack * > current_projection ()=0
 
- Public Member Functions inherited from millicast::WebrtcRemoteTrack
 WebrtcRemoteTrack ()=default
 
 MC_DISABLE_COPY_AND_ASSIGN (WebrtcRemoteTrack)
 
virtual Kind kind () const =0
 
virtual Promise< void > unproject ()=0
 
virtual std::optional< std::string > get_current_mid () const =0
 
virtual const std::string & get_cname () const =0
 
virtual WebrtcRemoteVideoTrackas_video ()=0
 
virtual WebrtcRemoteAudioTrackas_audio ()=0
 
virtual EventConnectionPtr add_event_handler (EventHandler< Disabled > &&handler)=0
 
virtual EventConnectionPtr add_event_handler (EventHandler< MidUpdated > &&handler)=0
 
virtual EventConnectionPtr add_event_handler (EventHandler< FrameMetadata > &&handler)=0
 

Additional Inherited Members

- Public Types inherited from millicast::WebrtcRemoteTrack
enum  Kind { AUDIO , VIDEO }
 

Detailed Description

The webrtc logical track's audio interface.

Constructor & Destructor Documentation

◆ WebrtcRemoteAudioTrack()

millicast::WebrtcRemoteAudioTrack::WebrtcRemoteAudioTrack ( )
default

Member Function Documentation

◆ current_projection()

virtual Promise< RtsRemoteAudioTrack * > millicast::WebrtcRemoteAudioTrack::current_projection ( )
pure virtual

Get the RTS track which is currently projected onto this webrtc track.

Note: properly written applications should rely on the asynchronous status of the project() operation only.

Returns
asynchronously produced RTS audio track which is projected onto this track, or null if not projected.

◆ MC_DISABLE_COPY_AND_ASSIGN()

millicast::WebrtcRemoteAudioTrack::MC_DISABLE_COPY_AND_ASSIGN ( WebrtcRemoteAudioTrack  )

◆ project()

virtual Promise< void > millicast::WebrtcRemoteAudioTrack::project ( RtsRemoteAudioTrack rts_track)
pure virtual

Enable the track and project from given RTS track.

Note that unlike the simple API for the RTS track, this API is more flexible, but requires more handling by the application. Specifically, the track will not be unprojected automatically when the RTS track goes inactive (and will not require repeating project operation when it goes active again)

You can project the same RTS track onto multiple webrtc logical tracks.

Parameters
rts_trackthe RTS track which will be projected onto this webrtc track.
Returns
asynchronous status.

◆ set_volume()

virtual Promise< void > millicast::WebrtcRemoteAudioTrack::set_volume ( double  volume)
pure virtual

Set volume

The volume will only be set if projected, and will be reset when unprojected.

Parameters
volumethe volume in range 0.0 ... 1.0
Returns
asynchronous status.

The documentation for this class was generated from the following file: