onRoomStreamUpdate method

void onRoomStreamUpdate(
  1. String roomID,
  2. ZegoUpdateType updateType,
  3. List<ZegoStream> streamList,
  4. Map<String, dynamic> extendedData,
)

Implementation

void onRoomStreamUpdate(
  String roomID,
  ZegoUpdateType updateType,
  List<ZegoStream> streamList,
  Map<String, dynamic> extendedData,
) {
  debugPrint(
    '[ZegoPipPrivate] onRoomStreamUpdate: roomID=$roomID, updateType=$updateType, streamCount=${streamList.length}',
  );

  switch (updateType) {
    case ZegoUpdateType.Add:
      debugPrint(
        '[ZegoPipPrivate] Streams added: ${streamList.map((s) => s.streamID).join(', ')}',
      );
      for (var stream in streamList) {
        if (!streamData.isPlayingStream(stream.streamID)) {
          debugPrint(
            '[ZegoPipPrivate] Restarting play stream: ${stream.streamID}',
          );
          streamData.startPlayStream(stream.streamID);
        }
      }
      break;
    case ZegoUpdateType.Delete:
      debugPrint(
        '[ZegoPipPrivate] Streams deleted: ${streamList.map((s) => s.streamID).join(', ')}',
      );
      for (var stream in streamList) {
        if (streamData.isPlayingStream(stream.streamID)) {
          debugPrint(
            '[ZegoPipPrivate] Stopping play stream: ${stream.streamID}',
          );
          streamData.stopPlayStream(stream.streamID);
        }
      }
      break;
  }
}