videosdk-rtc-flutter-sdk-example
videosdk-rtc-flutter-sdk-example copied to clipboard
type 'MultiChildLayoutParentData' is not a subtype of type 'FlexParentData' in type cast
Flutter Doctor -
[√] Flutter (Channel stable, 3.3.10, on Microsoft Windows [Version 10.0.19045.3930], locale en-IN) • Flutter version 3.3.10 on channel stable at E:\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 135454af32 (1 year, 1 month ago), 2022-12-15 07:36:55 -0800 • Engine revision 3316dd8728 • Dart version 2.18.6 • DevTools version 2.15.0
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.0) • Android SDK at C:\Users\Admin\AppData\Local\Android\sdk • Platform android-33, build-tools 33.0.0 • Java binary at: E:\Android Studio\jre\bin\java • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866) • All Android licenses accepted.
[√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[X] Visual Studio - develop for Windows X Visual Studio not installed; this is necessary for Windows development. Download at https://visualstudio.microsoft.com/downloads/. Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2021.3) • Android Studio at E:\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
[√] VS Code (version 1.85.1) • VS Code at C:\Users\Admin\AppData\Local\Programs\Microsoft VS Code • Flutter extension version 3.80.0
[√] Connected device (3 available) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19045.3930] • Chrome (web) • chrome • web-javascript • Google Chrome 120.0.6099.217 • Edge (web) • edge • web-javascript • Microsoft Edge 120.0.2210.91
[√] HTTP Host Availability • All required HTTP hosts are available
Error StackTrace -
I/flutter (32283): meeting_screen:getRoomToken:response.data
I/flutter (32283): eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlrZXkiOiI5MDFkMmNkMi0xOWRjLTQ0YjctYTkyMS1iMWZmNTI0MzRjZmUiLCJwZXJtaXNzaW9ucyI6WyJhbGxvd19qb2luIiwiYWxsb3dfbW9kIl0sInZlcnNpb24iOjIsInJvb21JZCI6Imowa2YtNDR2NS1veG5tIiwiaWF0IjoxNzA1MjIwNDU1LCJleHAiOjE3MDUyMjEwNTV9.kVQ-wultNO9leEE-tLBvV-W3uRTVRBRNmaPTE3Q-kZw
D/FlutterWebRTCPlugin(32283): onConnectionChangeCLOSED
I/flutter (32283): generateProfileLevelIdForAnswer() | result: [profile:1, level:31
I/FlutterWebRTCPlugin(32283): getUserMedia(audio): mandatory: [googEchoCancellation2: true, googNoiseSuppression: true, echoCancellation: true, googAutoGainControl: true, googDAEchoCancellation: true, googEchoCancellation: true], optional: [sourceId: 0]
D/FlutterWebRTCPlugin(32283): MediaStream id: 7f9f4300-abfa-4a72-a188-09c3f76fa9e9
D/FlutterWebRTCPlugin(32283): addStreamcom.cloudwebrtc.webrtc.utils.AnyThreadResult@77ebd34
I/FlutterWebRTCPlugin(32283): getUserMedia(video): ConstraintsMap{mMap={frameRate=30, facingMode=user, width=1280, optional=[{sourceId=1}], height=720}}
D/FlutterWebRTCPlugin(32283): Creating video capturer using Camera2 API.
D/FlutterWebRTCPlugin(32283): create user specified camera 1 succeeded
D/FlutterWebRTCPlugin(32283): changeCaptureFormat: 1280x720@30
D/FlutterWebRTCPlugin(32283): MediaStream id: b9a41c6f-7b9b-44fd-ac45-6989a0539471
I/flutter (32283): type 'MultiChildLayoutParentData' is not a subtype of type 'FlexParentData' in type cast
D/FlutterWebRTCPlugin(32283): CameraEventsHandler.onCameraOpening: cameraName=1
I/flutter (32283): #0 Flexible.applyParentData (package:flutter/src/widgets/basic.dart:5030)
I/flutter (32283): #1 RenderObjectElement._updateParentData (package:flutter/src/widgets/framework.dart:6061)
I/flutter (32283): #2 RenderObjectElement.attachRenderObject (package:flutter/src/widgets/framework.dart:6082)
I/flutter (32283): #3 RenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5751)
I/flutter (32283): #4 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6299)
I/flutter (32283): #5 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863)
I/flutter (32283): #6 Element.updateChild (package:flutter/src/widgets/framework.dart:3592)
I/flutter (32283): #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #8 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #9 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4859)
I/flutter (32283): #10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4853)
I/flutter (32283): #11 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3863)
I/flutter (32283): #12 Element.updateChild (package:flutter/src/widgets/framework.dart:3586)
I/flutter (32283): #13 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #14 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #15 StatelessElement.update (package:flutter/src/widgets/framework.dart:4956)
I/flutter (32283): #16 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #17 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #18 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #19 StatelessElement.update (package:flutter/src/widgets/framework.dart:4956)
I/flutter (32283): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #21 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #22 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #23 StatelessElement.update (package:flutter/src/widgets/framework.dart:4956)
I/flutter (32283): #24 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #25 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #26 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #27 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #28 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #29 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #30 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #31 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #32 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #33 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:5904)
I/flutter (32283): #34 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6460)
I/flutter (32283): #35 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #36 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #37 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #38 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #39 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #40 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #41 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): #42 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #43 StatefulElement.update (package:flutter/src/widgets/framework.dart:5082)
I/flutter (32283): #44 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #45 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #46 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): #47 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #48 StatefulElement.update (package:flutter/src/widgets/framework.dart:5082)
I/flutter (32283): #49 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #50 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #51 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #52 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #53 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #54 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #55 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): #56 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #57 StatefulElement.update (package:flutter/src/widgets/framework.dart:5082)
I/flutter (32283): #58 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #59 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6307)
I/flutter (32283): #60 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #61 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #62 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #63 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #64 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #65 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:6307)
I/flutter (32283): #66 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #67 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #68 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): #69 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #70 StatefulElement.update (package:flutter/src/widgets/framework.dart:5082)
I/flutter (32283): #71 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #72 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #73 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): #74 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #75 StatefulElement.update (package:flutter/src/widgets/framework.dart:5082)
I/flutter (32283): #76 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #77 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #78 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #79 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #80 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #81 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #82 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #83 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #84 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #85 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #86 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #87 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #88 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #89 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #90 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): #91 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #92 StatefulElement.update (package:flutter/src/widgets/framework.dart:5082)
I/flutter (32283): #93 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #94 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #95 Element.rebuild (package:flutter/src/widgets/framework.dart:4604)
I/flutter (32283): #96 ProxyElement.update (package:flutter/src/widgets/framework.dart:5228)
I/flutter (32283): #97 Element.updateChild (package:flutter/src/widgets/framework.dart:3570)
I/flutter (32283): #98 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4904)
I/flutter (32283): #99 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5050)
I/flutter (32283): Another exception was thrown: Instance of 'DiagnosticsProperty<void>'
I/flutter (32283): Another exception was thrown: Instance of 'DiagnosticsProperty<void>'
D/FlutterWebRTCPlugin(32283): onIceGatheringChangeGATHERING
D/FlutterWebRTCPlugin(32283): onIceCandidate
D/FlutterWebRTCPlugin(32283): onIceCandidate
D/FlutterWebRTCPlugin(32283): onIceCandidate
D/FlutterWebRTCPlugin(32283): onConnectionChangeCONNECTING
D/FlutterWebRTCPlugin(32283): onIceCandidate
D/FlutterWebRTCPlugin(32283): onSelectedCandidatePairChanged
D/FlutterWebRTCPlugin(32283): onIceGatheringChangeCOMPLETE
D/FlutterWebRTCPlugin(32283): addStreamcom.cloudwebrtc.webrtc.utils.AnyThreadResult@307fdc9
D/FlutterWebRTCPlugin(32283): onConnectionChangeCONNECTED
D/FlutterWebRTCPlugin(32283): CameraEventsHandler.onFirstFrameAvailable
W/FlutterWebRTCPlugin(32283): FlutterRTCVideoRenderer.setVideoTrack, set video track to 5cf5d1ec-011d-4d90-bfdd-4d5523dc3e9a
P.S - working fine in debug mode in emulator, but breaks on a real device(Samsung S20FE)
@RudrThakur, We will check and let you know.
Let me also check if upgrading dart helps anything
EDIT - Didn't work with dart 3 either
EDIT2 - Hey, turns out you cannot use random widgets wrapping your participant tile
return Stack(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ParticipantTile(
key: Key(participants.values.first.id),
participant: participants.values.first),
),
),
MeetingControls(
onToggleMicButtonPressed: () {
micEnabled ? _room.muteMic() : _room.unmuteMic();
micEnabled = !micEnabled;
},
onToggleCameraButtonPressed: () {
camEnabled ? _room.disableCam() : _room.enableCam();
camEnabled = !camEnabled;
},
onLeaveButtonPressed: () {
_room.leave();
},
),
],
);
I just replaced Stack with a Column and everything works fine! But we should be able to put the meeting controls on top of the participant tile as its required in my use case.
return Column(
children: [
Expanded(
child: ParticipantTile(
key: Key(participants.values.first.id),
participant: participants.values.first),
),
MeetingControls(
onToggleMicButtonPressed: () {
micEnabled ? _room.muteMic() : _room.unmuteMic();
micEnabled = !micEnabled;
},
onToggleCameraButtonPressed: () {
camEnabled ? _room.disableCam() : _room.enableCam();
camEnabled = !camEnabled;
},
onLeaveButtonPressed: () {
_room.leave();
},
),
],
);