Video optimizations (#18)
* use events for `VideoTrackRenderer` * logger * implemented visibility detection * optimize code with 1 param debounce func * stop pending visibility event when disposed * clean up * mark internal * report to track * call dispose on pub and track * use internal events to receive visibility events * clean up visibility for disposed track * listen to track visibility events on pub * re-design * quickly re-enable * clean up * clean up
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
|
||||
import 'package:meta/meta.dart';
|
||||
|
||||
import '../proto/livekit_models.pb.dart' as lk_models;
|
||||
import 'track.dart';
|
||||
|
||||
/// A video track will notify when its mediaTrack has changed.
|
||||
class VideoTrack extends Track {
|
||||
//
|
||||
rtc.MediaStream _mediaStream;
|
||||
|
||||
VideoTrack(
|
||||
String name,
|
||||
rtc.MediaStreamTrack mediaTrack,
|
||||
this._mediaStream,
|
||||
// this._client,
|
||||
) : super(
|
||||
lk_models.TrackType.VIDEO,
|
||||
name,
|
||||
@@ -22,6 +23,7 @@ class VideoTrack extends Track {
|
||||
|
||||
/// internal use
|
||||
/// {@nodoc}
|
||||
@internal
|
||||
void setMediaStream(rtc.MediaStream stream) {
|
||||
_mediaStream = stream;
|
||||
notifyListeners();
|
||||
|
||||
Reference in New Issue
Block a user