ChannelMediaRelayConfiguration

Configuration of cross channel media relay.

class ChannelMediaRelayConfiguration {
    const ChannelMediaRelayConfiguration(
        {this.srcInfo, this.destInfos, this.destCount});

    @JsonKey(name: 'srcInfo')
    final ChannelMediaInfo? srcInfo;
    @JsonKey(name: 'destInfos')
    final List<ChannelMediaInfo>? destInfos;
    @JsonKey(name: 'destCount')
    final int? destCount;
    factory ChannelMediaRelayConfiguration.fromJson(Map<String, dynamic> json) =>
        _$ChannelMediaRelayConfigurationFromJson(json);
    Map<String, dynamic> toJson() => _$ChannelMediaRelayConfigurationToJson(this);
  }

Attributes

srcInfo
The information of the source channel. See ChannelMediaInfo. 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.
  • uid: The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged.
destInfos
The information of the target channel ChannelMediaInfo. 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.

  • 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 user ID.
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 ChannelMediaInfo structs you define in destInfo.