@@ -19,29 +19,13 @@ class MyApp extends StatefulWidget {
19
19
class _MyAppState extends State <MyApp > {
20
20
MediaStream _localStream;
21
21
RTCPeerConnection _peerConnection;
22
- var _width = 240.0 ;
23
- var _height = 180.0 ;
24
- var _rotation = 0 ;
25
- final _localVideoRenderer = new RTCVideoRenderer ();
26
- final _remoteVideoRenderer = new RTCVideoRenderer ();
22
+ final _localRenderer = new RTCVideoRenderer ();
23
+ final _remoteRenderer = new RTCVideoRenderer ();
27
24
28
25
@override
29
26
initState () {
30
27
super .initState ();
31
28
initPlatformState ();
32
- _localVideoRenderer.onVideoRotationChange = _onVideoRotationChange;
33
- _localVideoRenderer.onVideoSizeChange = _onVideoSizeChange;
34
- }
35
-
36
- _onVideoRotationChange (int textureId, int rotation)
37
- {
38
- setState ((){
39
- _rotation = rotation;
40
- });
41
- }
42
-
43
- _onVideoSizeChange (int textureId, double width, double height){
44
-
45
29
}
46
30
47
31
_onSignalingState (RTCSignalingState state) {
@@ -58,11 +42,11 @@ class _MyAppState extends State<MyApp> {
58
42
59
43
_onAddStream (MediaStream stream) {
60
44
print ('addStream: ' + stream.id);
61
- _remoteVideoRenderer .srcObject = stream;
45
+ _remoteRenderer .srcObject = stream;
62
46
}
63
47
64
48
_onRemoveStream (MediaStream stream) {
65
- _remoteVideoRenderer .srcObject = null ;
49
+ _remoteRenderer .srcObject = null ;
66
50
}
67
51
68
52
_onCandidate (RTCIceCandidate candidate) {
@@ -89,11 +73,7 @@ class _MyAppState extends State<MyApp> {
89
73
"optional" : [],
90
74
}
91
75
};
92
- /*
93
- final Map<String, dynamic> mediaConstraints = {
94
- "audio": true,
95
- "video": true,
96
- };*/
76
+
97
77
Map <String , dynamic > configuration = {
98
78
"iceServers" : [
99
79
{"url" : "stun:stun.l.google.com:19302" },
@@ -118,9 +98,9 @@ class _MyAppState extends State<MyApp> {
118
98
// Platform messages may fail, so we use a try/catch PlatformException.
119
99
try {
120
100
_localStream = await getUserMedia (mediaConstraints);
121
- await _localVideoRenderer .initialize ();
122
- await _remoteVideoRenderer .initialize ();
123
- _localVideoRenderer .srcObject = _localStream;
101
+ await _localRenderer .initialize ();
102
+ await _remoteRenderer .initialize ();
103
+ _localRenderer .srcObject = _localStream;
124
104
125
105
_peerConnection =
126
106
await createPeerConnection (configuration, LOOPBACK_CONSTRAINTS );
@@ -161,30 +141,16 @@ class _MyAppState extends State<MyApp> {
161
141
crossAxisAlignment: CrossAxisAlignment .start,
162
142
children: [
163
143
new Text ('Loopback demo.' ),
164
- new Transform (
165
- child: new Container (
166
- width: _width,
167
- height: _height,
168
- child: _remoteVideoRenderer.isInitialized
169
- ? new Texture (textureId: _remoteVideoRenderer.renderId)
170
- : null ,
171
- ),
172
- alignment: FractionalOffset .center, // set transform origin
173
- transform: new Matrix4 .identity ()
174
- ..rotateZ (_rotation * 3.1415927 / 180 ),
144
+ new Container (
145
+ width: 320.0 ,
146
+ height: 240.0 ,
147
+ child: new RTCVideoView (_localRenderer),
175
148
),
176
149
new Text ('Local video' ),
177
- new Transform (
178
- child: new Container (
179
- width: _width,
180
- height: _height,
181
- child: _remoteVideoRenderer.isInitialized
182
- ? new Texture (textureId: _remoteVideoRenderer.renderId)
183
- : null ,
184
- ),
185
- alignment: FractionalOffset .center, // set transform origin
186
- transform: new Matrix4 .identity ()
187
- ..rotateZ (90 * 3.1415927 / 180 ),
150
+ new Container (
151
+ width: 320.0 ,
152
+ height: 240.0 ,
153
+ child: new RTCVideoView (_remoteRenderer),
188
154
),
189
155
new Text ('Remote video' ),
190
156
])),
0 commit comments