Agora C++ API Reference for All Platforms
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
agora::rtc::ChannelMediaOptions Struct Reference

Public Member Functions

 ChannelMediaOptions ()
 
 ~ChannelMediaOptions ()
 
void SetAll (const ChannelMediaOptions &change)
 
bool operator== (const ChannelMediaOptions &o) const
 
ChannelMediaOptionsoperator= (const ChannelMediaOptions &replace)
 

Static Public Member Functions

template<typename T >
static void SetFrom (Optional< T > *s, const Optional< T > &o)
 
template<typename T >
static void ReplaceBy (Optional< T > *s, const Optional< T > &o)
 

Public Attributes

Optional< bool > publishCameraTrack
 
Optional< bool > publishSecondaryCameraTrack
 
Optional< bool > publishAudioTrack
 
Optional< bool > publishScreenTrack
 
Optional< bool > publishSecondaryScreenTrack
 
Optional< bool > publishCustomAudioTrack
 
Optional< bool > publishCustomAudioTrackEnableAec
 
Optional< bool > publishCustomVideoTrack
 
Optional< bool > publishEncodedVideoTrack
 
Optional< bool > publishMediaPlayerAudioTrack
 
Optional< bool > publishMediaPlayerVideoTrack
 
Optional< bool > publishTrancodedVideoTrack
 
Optional< bool > autoSubscribeAudio
 
Optional< bool > autoSubscribeVideo
 
Optional< bool > enableAudioRecordingOrPlayout
 
Optional< int > publishMediaPlayerId
 
Optional< CLIENT_ROLE_TYPEclientRoleType
 
Optional< VIDEO_STREAM_TYPEdefaultVideoStreamType
 
Optional< CHANNEL_PROFILE_TYPEchannelProfile
 
Optional< int > audioDelayMs
 

Detailed Description

The channel media options.

Constructor & Destructor Documentation

◆ ChannelMediaOptions()

agora::rtc::ChannelMediaOptions::ChannelMediaOptions ( )
inline

◆ ~ChannelMediaOptions()

agora::rtc::ChannelMediaOptions::~ChannelMediaOptions ( )
inline

Member Function Documentation

◆ SetAll()

void agora::rtc::ChannelMediaOptions::SetAll ( const ChannelMediaOptions change)
inline

◆ operator==()

bool agora::rtc::ChannelMediaOptions::operator== ( const ChannelMediaOptions o) const
inline

◆ operator=()

ChannelMediaOptions& agora::rtc::ChannelMediaOptions::operator= ( const ChannelMediaOptions replace)
inline

◆ SetFrom()

template<typename T >
static void agora::rtc::ChannelMediaOptions::SetFrom ( Optional< T > *  s,
const Optional< T > &  o 
)
inlinestatic

◆ ReplaceBy()

template<typename T >
static void agora::rtc::ChannelMediaOptions::ReplaceBy ( Optional< T > *  s,
const Optional< T > &  o 
)
inlinestatic

Member Data Documentation

◆ publishCameraTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishCameraTrack

Determines whether to publish the video of the camera track.

  • true: Publish the video track of the camera capturer.
  • false: (Default) Do not publish the video track of the camera capturer.

◆ publishSecondaryCameraTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishSecondaryCameraTrack

Determines whether to publish the video of the secondary camera track.

  • true: Publish the video track of the secondary camera capturer.
  • false: (Default) Do not publish the video track of the secondary camera capturer.

◆ publishAudioTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishAudioTrack

Determines whether to publish the recorded audio.

  • true: Publish the recorded audio.
  • false: (Default) Do not publish the recorded audio.

◆ publishScreenTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishScreenTrack

Determines whether to publish the video of the screen track.

  • true: Publish the video track of the screen capturer.
  • false: (Default) Do not publish the video track of the screen capturer.

◆ publishSecondaryScreenTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishSecondaryScreenTrack

Determines whether to publish the video of the secondary screen track.

  • true: Publish the video track of the secondary screen capturer.
  • false: (Default) Do not publish the video track of the secondary screen capturer.

◆ publishCustomAudioTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishCustomAudioTrack

Determines whether to publish the audio of the custom audio track.

  • true: Publish the audio of the custom audio track.
  • false: (Default) Do not publish the audio of the custom audio track.

◆ publishCustomAudioTrackEnableAec

Optional<bool> agora::rtc::ChannelMediaOptions::publishCustomAudioTrackEnableAec

Determines whether to enable AEC when publish custom audio track.

  • true: Enable AEC.
  • false: (Default) Do not enable AEC.

◆ publishCustomVideoTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishCustomVideoTrack

Determines whether to publish the video of the custom video track.

  • true: Publish the video of the custom video track.
  • false: (Default) Do not publish the video of the custom video track.

◆ publishEncodedVideoTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishEncodedVideoTrack

Determines whether to publish the video of the encoded video track.

  • true: Publish the video of the encoded video track.
  • false: (default) Do not publish the video of the encoded video track.

◆ publishMediaPlayerAudioTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishMediaPlayerAudioTrack

Determines whether to publish the audio track of media player source.

  • true: Publish the audio track of media player source.
  • false: (default) Do not publish the audio track of media player source.

◆ publishMediaPlayerVideoTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishMediaPlayerVideoTrack

Determines whether to publish the video track of media player source.

  • true: Publish the video track of media player source.
  • false: (default) Do not publish the video track of media player source.

◆ publishTrancodedVideoTrack

Optional<bool> agora::rtc::ChannelMediaOptions::publishTrancodedVideoTrack

Determines whether to publish the local transcoded video track.

  • true: Publish the video track of local transcoded video track.
  • false: (default) Do not publish the local transcoded video track.

◆ autoSubscribeAudio

Optional<bool> agora::rtc::ChannelMediaOptions::autoSubscribeAudio

Determines whether to subscribe to all audio streams automatically. It can replace calling setDefaultMuteAllRemoteAudioStreams before joining a channel.

  • true: Subscribe to all audio streams automatically.
  • false: (Default) Do not subscribe to any audio stream automatically.

◆ autoSubscribeVideo

Optional<bool> agora::rtc::ChannelMediaOptions::autoSubscribeVideo

Determines whether to subscribe to all video streams automatically. It can replace calling setDefaultMuteAllRemoteVideoStreams before joining a channel.

  • true: Subscribe to all video streams automatically.
  • false: (Default) do not subscribe to any video stream automatically.

◆ enableAudioRecordingOrPlayout

Optional<bool> agora::rtc::ChannelMediaOptions::enableAudioRecordingOrPlayout

Determines whether to enable audio recording or playout.

  • true: It's used to publish audio and mix microphone, or subscribe audio and playout
  • false: It's used to publish extenal audio frame only without mixing microphone, or no need audio device to playout audio either

◆ publishMediaPlayerId

Optional<int> agora::rtc::ChannelMediaOptions::publishMediaPlayerId

Determines which media player source should be published.

  • DEFAULT_PLAYER_ID(0) is default.

◆ clientRoleType

Optional<CLIENT_ROLE_TYPE> agora::rtc::ChannelMediaOptions::clientRoleType

The client role type: CLIENT_ROLE_TYPE.

◆ defaultVideoStreamType

Optional<VIDEO_STREAM_TYPE> agora::rtc::ChannelMediaOptions::defaultVideoStreamType

The default video stream type: VIDEO_STREAM_TYPE.

◆ channelProfile

Optional<CHANNEL_PROFILE_TYPE> agora::rtc::ChannelMediaOptions::channelProfile

The channel profile: CHANNEL_PROFILE_TYPE.

◆ audioDelayMs

Optional<int> agora::rtc::ChannelMediaOptions::audioDelayMs

The delay in ms for sending audio frames. This is used for explicit control of A/V sync. To switch off the delay, set the value to zero.