anchor.diff:    /// binary data as a [Uint8List] or text data as a [String].
     RTCDataChannelOnMessageCallback onMessage;
   
  -  final _stateChangeController = StreamController<RTCDataChannelState>.broadcast();
  -  final _messageController = StreamController<RTCDataChannelMessage>.broadcast();
  +  final _stateChangeController = StreamController<RTCDataChannelState>.broadcast(sync: true);
  +  final _messageController = StreamController<RTCDataChannelMessage>.broadcast(sync: true);
   
     /// Stream of state change events. Emits the new state on change.
     Stream<RTCDataChannelState> stateChangeStream;
  
positive.code:         else {
            message = RTCDataChannelMessage(data);
          }
          _messageController.add(message);
          if (this.onMessage != null)
            this.onMessage(message);
          break;
      }
    }
  
negative.code:       case 'dataChannelStateChanged':
          //int dataChannelId = map['id'];
          _state = rtcDataChannelStateForString(map['state']);
          if (this.onDataChannelState != null) {
            this.onDataChannelState(_state);
          }
          _stateChangeController.add(_state);
          break;
        case 'dataChannelReceiveMessage':
          //int dataChannelId = map['id'];
  