8000 FIX - Type conversion for null safety · next-coder/flutter-webrtc@be91a2b · GitHub
[go: up one dir, main page]

Skip to content

Commit be91a2b

Browse files
committed
FIX - Type conversion for null safety
Example (loopback) - Add callback method to the right semantics
1 parent b437c98 commit be91a2b

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

example/lib/src/loopback_sample.dart

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,17 @@ class _MyAppState extends State<LoopBackSample> {
106106

107107
void _onTrack(RTCTrackEvent event) {
108108
print('onTrack');
109-
if (event.track.kind == 'video' && (event.streams.isNotEmpty)) {
110-
print('New stream: ' + event.streams[0].id);
111-
_remoteRenderer.srcObject = event.streams[0];
109+
}
110+
111+
void _onAddTrack(MediaStream stream, MediaStreamTrack track) {
112+
if (track.kind == 'video') {
113+
_remoteRenderer.srcObject = stream;
114+
}
115+
}
116+
117+
void _onRemoveTrack(MediaStream stream, MediaStreamTrack track) {
118+
if (track.kind == 'video') {
119+
_remoteRenderer.srcObject = null;
112120
}
113121
}
114122

@@ -164,8 +172,6 @@ class _MyAppState extends State<LoopBackSample> {
164172
_peerConnection!.onIceGatheringState = _onIceGatheringState;
165173
_peerConnection!.onIceConnectionState = _onIceConnectionState;
166174
_peerConnection!.onConnectionState = _onPeerConnectionState;
167-
_peerConnection!.onAddStream = _onAddStream;
168-
_peerConnection!.onRemoveStream = _onRemoveStream;
169175
_peerConnection!.onIceCandidate = _onCandidate;
170176
_peerConnection!.onRenegotiationNeeded = _onRenegotiationNeeded;
171177

@@ -175,10 +181,14 @@ class _MyAppState extends State<LoopBackSample> {
175181

176182
switch (sdpSemantics) {
177183
case 'plan-b':
184+
_peerConnection!.onAddStream = _onAddStream;
185+
_peerConnection!.onRemoveStream = _onRemoveStream;
178186
await _peerConnection!.addStream(_localStream!);
179187
break;
180188
case 'unified-plan':
181189
_peerConnection!.onTrack = _onTrack;
190+
_peerConnection!.onAddTrack = _onAddTrack;
191+
_peerConnection!.onRemoveTrack = _onRemoveTrack;
182192
_localStream!.getTracks().forEach((track) {
183193
_peerConnection!.addTrack(track, _localStream!);
184194
});
@@ -247,6 +257,7 @@ class _MyAppState extends State<LoopBackSample> {
247257
description.type = 'answer';
248258
await _peerConnection!.setRemoteDescription(description);
249259

260+
// _peerConnection!.getStats();
250261
/* Unfied-Plan replaceTrack
251262
var stream = await MediaDevices.getDisplayMedia(mediaConstraints);
252263
_localRenderer.srcObject = _localStream;

lib/src/interface/rtc_rtp_parameters.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ class RTCRtpEncoding {
9292
int? maxFramerate;
9393

9494
/// The number of temporal layers for video.
95-
int numTemporalLayers;
95+
int? numTemporalLayers;
9696

9797
/// If non-null, scale the width and height down by this factor for video. If null,
9898
/// implementation default scaling factor will be used.
99-
double scaleResolutionDownBy;
99+
double? scaleResolutionDownBy;
100100

101101
/// SSRC to be used by this encoding.
102102
/// Can't be changed between getParameters/setParameters.

0 commit comments

Comments
 (0)
0