FChannelMediaRelayConfiguration
Configuration of cross channel media relay.
USTRUCT(BlueprintType)
struct FChannelMediaRelayConfiguration
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration")
FChannelMediaInfo srcInfo = FChannelMediaInfo();
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration")
TArray<FChannelMediaInfo> destInfos;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration")
int destCount = 0;
FChannelMediaRelayConfiguration(){}
FChannelMediaRelayConfiguration(const agora::rtc::ChannelMediaRelayConfiguration & AgoraData){
srcInfo = FChannelMediaInfo(*(AgoraData.srcInfo));
destCount = AgoraData.destCount;
for(int i = 0; i< destCount; i++){
destInfos.Add(FChannelMediaInfo(AgoraData.destInfos[i]));
}
}
agora::rtc::ChannelMediaRelayConfiguration CreateAgoraData() const {
agora::rtc::ChannelMediaRelayConfiguration AgoraData;
SET_UABT_UECUSTOMDATA_TO_AGORA_PTR_1_ENTRY___MEMALLOC(AgoraData.srcInfo,agora::rtc::ChannelMediaInfo, this->srcInfo)
AgoraData.destCount = destCount;
SET_UABT_TARRARY_CUSTOMDATA_TO_AGORA_ARRAY___MEMALLOC(AgoraData.destInfos, agora::rtc::ChannelMediaInfo, destCount, this->destInfos)
return AgoraData;
}
void FreeAgoraData(agora::rtc::ChannelMediaRelayConfiguration & AgoraData) const {
SET_UABT_UECUSTOMDATA_TO_AGORA_PTR_1_ENTRY___MEMFREE(AgoraData.srcInfo, FChannelMediaInfo)
SET_UABT_TARRARY_CUSTOMDATA_TO_AGORA_ARRAY___MEMFREE(AgoraData.destInfos, destCount, FChannelMediaInfo)
}
};
Attributes
- srcInfo
-
The information of the source channel. See FChannelMediaInfo. It contains the following members:
- channelName: The name of the source channel. The default value is
NULL, which means the SDK applies the name of the current channel. - token: The token for joining the source channel. This token is generated with the channelName and uid you set in srcInfo.
- If you have not enabled the App Certificate, set this parameter as the default value
NULL, 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.
- If you have not enabled the App Certificate, set this parameter as the default value
- uid: The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged.
- channelName: The name of the source channel. The default value is
- destInfos
-
The information of the target channel FChannelMediaInfo. It contains the following members:
- channelName: The name of the target channel.
- token: The token for joining the target channel. It is generated with the channelName and uid you set in destInfos.
- If you have not enabled the App Certificate, set this parameter as the default value
NULL, 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.
Attention:If the token of any target channel expires, the whole media relay stops; hence Agora recommends that you specify the same expiration time for the tokens of all the target channels.
- If you have not enabled the App Certificate, set this parameter as the default value
- uid: The unique user ID to identify the relay stream in the target channel. The value ranges from 0 to (2 32-1). To avoid user ID conflicts, this user ID must be different from any other user ID in the target channel. The default value is 0, which means the SDK generates a random UID.
- destCount
- The number of target channels. The default value is 0, and the value range is from 0 to 6. Ensure that the value of this parameter corresponds to the number of FChannelMediaInfo structs you define in destInfo.