RoomClientRepository constructor

RoomClientRepository({
  1. required ProducersBloc producersBloc,
  2. required PeersBloc peersBloc,
  3. required MeBloc meBloc,
  4. required RoomBloc roomBloc,
  5. required String roomId,
  6. required String peerId,
  7. required String url,
  8. required String displayName,
  9. required MediaDevicesBloc mediaDevicesBloc,
})

Implementation

RoomClientRepository({
  required this.producersBloc,
  required this.peersBloc,
  required this.meBloc,
  required this.roomBloc,
  required this.roomId,
  required this.peerId,
  required this.url,
  required this.displayName,
  required this.mediaDevicesBloc,
}) {
  _mediaDevicesBlocSubscription =
      mediaDevicesBloc.stream.listen((MediaDevicesState state) async {
    if (state.selectedAudioInput != null &&
        state.selectedAudioInput?.deviceId != audioInputDeviceId) {
      await disableMic();
      enableMic();
    }

    if (state.selectedVideoInput != null &&
        state.selectedVideoInput?.deviceId != videoInputDeviceId) {
      await disableWebcam();
      enableWebcam();
    }
  });
}