avoid disposing attached media stream
This commit is contained in:
@@ -155,6 +155,7 @@ class _RoomState extends State<RoomWidget> with RoomDelegate {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// displays a participant in view
|
||||||
class VideoView extends StatefulWidget {
|
class VideoView extends StatefulWidget {
|
||||||
final Participant participant;
|
final Participant participant;
|
||||||
final VideoQuality quality;
|
final VideoQuality quality;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_webrtc/flutter_webrtc.dart';
|
import 'package:flutter_webrtc/flutter_webrtc.dart';
|
||||||
|
|
||||||
import '../track/video_track.dart';
|
import '../track/video_track.dart';
|
||||||
import '../track/local_video_track.dart';
|
import '../track/local_video_track.dart';
|
||||||
|
|
||||||
@@ -30,6 +31,7 @@ class _VideoTrackRendererState extends State<VideoTrackRenderer> {
|
|||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
widget.track.removeListener(_trackChanged);
|
widget.track.removeListener(_trackChanged);
|
||||||
|
_renderer.srcObject = null;
|
||||||
_renderer.dispose();
|
_renderer.dispose();
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
@@ -38,6 +40,7 @@ class _VideoTrackRendererState extends State<VideoTrackRenderer> {
|
|||||||
void didUpdateWidget(covariant VideoTrackRenderer oldWidget) {
|
void didUpdateWidget(covariant VideoTrackRenderer oldWidget) {
|
||||||
oldWidget.track.removeListener(_trackChanged);
|
oldWidget.track.removeListener(_trackChanged);
|
||||||
widget.track.addListener(_trackChanged);
|
widget.track.addListener(_trackChanged);
|
||||||
|
_trackChanged();
|
||||||
super.didUpdateWidget(oldWidget);
|
super.didUpdateWidget(oldWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user