anchor.diff:      final Map<dynamic, dynamic> map = event;
       switch (map['event']) {
         case 'didTextureChangeRotation':
  -        _rotation = map['rotation'];
  +        value = value.copyWith(rotation: map['rotation']);
           break;
         case 'didTextureChangeVideoSize':
  -        _width = 0.0 + map['width'];
  -        _height = 0.0 + map['height'];
  +        value = value.copyWith(width: 0.0 + map['width'], height: 0.0 + map['height']);
           break;
         case 'didFirstFrameRendered':
  +        notifyListeners();
           break;
  -    }
  -    if (this.onStateChanged != null) {
  -      this.onStateChanged();
       }
     }
   
  
positive.code: import 'utils.dart';
  import 'enums.dart';
  
  class RTCVideoRenderer {
    MethodChannel _channel = WebRTC.methodChannel();
    int _textureId;
    int _rotation = 0;
    double _width = 0.0, _height = 0.0;
    MediaStream _srcObject;
    StreamSubscription<dynamic> _eventSubscription;
  
    dynamic onStateChanged;
  
    initialize() async {
      final Map<dynamic, dynamic> response =
  
negative.code:         child: FittedBox(
              fit: widget.objectFit == RTCVideoViewObjectFit.RTCVideoViewObjectFitContain ? BoxFit.contain : BoxFit.cover,
              child: Center(
                child: ValueListenableBuilder<RTCVideoValue>(
                    valueListenable: widget._renderer,
                    builder: (BuildContext context, RTCVideoValue value, Widget child) {
                      return SizedBox(
                        width: constraints.maxHeight * value.aspectRatio,
                        height: constraints.maxHeight,
                        child: child,
                      );
                    },
                    child: Transform(
                        transform: Matrix4.identity()
                          ..rotateY(widget.mirror ? -pi : 0.0),
                        alignment: FractionalOffset.center,
                        child: Texture(textureId: widget._renderer._textureId))),
              )));
    }
  
    @override
  