anchor.diff:    void initState() {
       print('Init State');
       super.initState();
  -    initRenderers();
  -    initLocalConnection();
  +
       _refreshMediaDevices();
       navigator.mediaDevices.ondevicechange = (event) async {
         print('++++++ ondevicechange ++++++');
  
positive.code:       await _videoSender?.dispose();
        await _audioSender?.dispose();
        await _remotePeerConnection?.close();
        _remotePeerConnection = null;
        await _localPeerConnection?.close();
        _localPeerConnection = null;
        _localRenderer.srcObject = null;
        _remoteRenderer.srcObject = null;
  
negative.code: 
    // Platform messages are asynchronous, so we initialize in an async method.
    void _makeCall() async {
      initRenderers();
      initLocalConnection();
  
      if (_remotePeerConnection != null) return;
  
      try {
  