updateForwardStreamToRooms method

Future<int?> updateForwardStreamToRooms(
  1. List<ForwardStreamInfo> forwardStreamInfos
)

@detail api @author shenpengliang @brief 更新跨房间媒体流转发信息。
通过 startForwardStreamToRooms{@link #RTCRoom#startForwardStreamToRooms} 发起媒体流转发后,可调用本方法增加或者减少目标房间,或更新房间密钥。
调用本方法增加或删减房间后,将在本端触发 onForwardStreamStateChanged{@link #IRTCRoomEventHandler#onForwardStreamStateChanged} 回调,包含发生了变动的目标房间中媒体流转发状态。 @param forwardStreamInfos 跨房间媒体流转发目标房间信息。参看 ForwardStreamInfo{@link #ForwardStreamInfo}。 @return - 0: 成功。 - < 0: 失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。 @note 增加或删减目标房间后,新增目标房间中的用户将接收到本地用户进房 onUserJoined{@link #IRTCRoomEventHandler#onUserJoined} 和发布 onUserPublishStreamVideo{@link #IRTCRoomEventHandler#onUserPublishStreamVideo}、onUserPublishStreamAudio{@link #IRTCRoomEventHandler#onUserPublishStreamAudio} 回调。

Implementation

Future<int?> updateForwardStreamToRooms(
    List<ForwardStreamInfo> forwardStreamInfos) async {
  $a() => ($instance as $p_a.RTCRoom).updateForwardStreamToRooms(
      forwardStreamInfos
          .map(($item) => unpackObject<$p_a.ForwardStreamInfo>($item))
          .toList());
  $i() => ($instance as $p_i.ByteRTCRoom).updateForwardStreamToRooms(
      forwardStreamInfos
          .map(($item) =>
              unpackObject<$p_i.ByteRTCForwardStreamConfiguration>($item))
          .toList());

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}