Files
client-sdk-flutter/lib/src/track/video_track.dart
T
Hiroshi HorieandGitHub 71a21f00b6 Reuse transceivers (#24)
* protocol 4

* default to v4

* mediaStreamTrack.enabled

* track start

* private constructor

* remote audio/video tracks

* log sdp

* organize imports
2021-10-26 02:46:10 +09:00

42 lines
919 B
Dart

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.
abstract class VideoTrack extends Track {
rtc.MediaStream _mediaStream;
VideoTrack(
String name,
rtc.MediaStreamTrack mediaTrack,
this._mediaStream,
// this._client,
) : super(
lk_models.TrackType.VIDEO,
name,
mediaTrack,
);
rtc.MediaStream get mediaStream => _mediaStream;
/// internal use
/// {@nodoc}
@internal
void setMediaStream(rtc.MediaStream stream) {
_mediaStream = stream;
notifyListeners();
}
@override
Future<bool> stop() async {
final didStop = await super.stop();
if (didStop) {
await _mediaStream.dispose();
}
// _mediaStream = null;
return didStop;
}
}