Agora RTC Objective-C API Reference  Refactor
Instance Methods | Properties
AgoraChannelMediaRelayConfiguration Class Reference

Inherits <NSObject>.

Instance Methods

(BOOL) - setDestinationInfo:forChannelName:
 
(BOOL) - removeDestinationInfoForChannelName:
 

Properties

NSDictionary< NSString *, AgoraChannelMediaRelayInfo * > *_Nullable destinationInfos
 
AgoraChannelMediaRelayInfo *_Nonnull sourceInfo
 

Detailed Description

The definition of AgoraChannelMediaRelayConfiguration.

Method Documentation

◆ setDestinationInfo:forChannelName:

- (BOOL) setDestinationInfo: (AgoraChannelMediaRelayInfo *_Nonnull)  destinationInfo
forChannelName: (NSString *_Nonnull)  channelName 

Sets the information of the destination channel.

If you want to relay the media stream to multiple channels, call this method as many times (at most four).

Parameters
destinationInfoThe information of the destination channel: AgoraChannelMediaRelayInfo. It contains the following members:
  • channelName: The name of the destination channel.
  • uid: ID of the broadcaster in the destination channel. The value ranges from 0 to (232-1). To avoid UID conflicts, this uid must be different from any other UIDs in the destination channel. The default value is 0, which means the SDK generates a random UID.
  • token: The token for joining the destination channel. It is generated with the channelName and uid you set in destinationInfo.
  • If you have not enabled the App Certificate, set this parameter as the default value nil, which means the SDK applies the App ID.
  • If you have enabled the App Certificate, you must use the token generated with the channelName and uid.
Parameters
channelNameThe name of the destination channel. Ensure that the value of this parameter is the same as that of the channelName member in destinationInfo.
Returns
- YES: Success.
  • NO: Failure.

◆ removeDestinationInfoForChannelName:

- (BOOL) removeDestinationInfoForChannelName: (NSString *_Nonnull)  channelName

Removes the destination channel.

Parameters
channelNameThe name of the destination channel.
Returns
- YES: Success.
  • NO: Failure.

Property Documentation

◆ destinationInfos

- (NSDictionary<NSString *, AgoraChannelMediaRelayInfo *>* _Nullable) destinationInfos
readnonatomicstrong

The information of the destination channel: AgoraChannelMediaRelayInfo. It contains the following members:

  • channelName: The name of the destination channel.
  • uid: ID of the broadcaster in the destination channel. The value ranges from 0 to (232-1). To avoid UID conflicts, this uid must be different from any other UIDs in the destination channel. The default value is 0, which means the SDK generates a random UID.
  • token: The token for joining the destination channel. It is generated with the channelName and uid you set in destinationInfos.
  • If you have not enabled the App Certificate, set this parameter as the default value nil, which means the SDK applies the App ID.
  • If you have enabled the App Certificate, you must use the token generated with the channelName and uid.

◆ sourceInfo

- (AgoraChannelMediaRelayInfo* _Nonnull) sourceInfo
readwritenonatomicstrong

The information of the source channel: AgoraChannelMediaRelayInfo. It contains the following members:

  • channelName: The name of the source channel. The default value is nil, which means the SDK applies the name of the current channel.
  • uid: ID of the broadcaster whose media stream you want to relay. The default value is 0, which means the SDK generates a random UID. You must set it as 0.
  • token: The token for joining the source channel. It is generated with the channelName and uid you set in sourceInfo.
  • If you have not enabled the App Certificate, set this parameter as the default value nil, which means the SDK applies the App ID.
  • If you have enabled the App Certificate, you must use the token generated with the channelName and uid, and the uid must be set as 0.