use object type instead of checking kind

This commit is contained in:
Hiroshi Horie
2021-12-02 07:15:59 +07:00
parent 1763676b98
commit 09eb52bc55
3 changed files with 16 additions and 10 deletions
+6 -2
View File
@@ -242,11 +242,15 @@ class LocalParticipant extends Participant {
@override
List<LocalTrackPublication<LocalVideoTrack>> get videoTracks =>
super.videoTracks.cast<LocalTrackPublication<LocalVideoTrack>>();
trackPublications.values
.whereType<LocalTrackPublication<LocalVideoTrack>>()
.toList();
@override
List<LocalTrackPublication<LocalAudioTrack>> get audioTracks =>
super.audioTracks.cast<LocalTrackPublication<LocalAudioTrack>>();
trackPublications.values
.whereType<LocalTrackPublication<LocalAudioTrack>>()
.toList();
}
extension LocalParticipantTrackSourceExt on LocalParticipant {
+4 -6
View File
@@ -77,13 +77,11 @@ abstract class Participant extends DisposableChangeNotifier
List<TrackPublication> get subscribedTracks =>
trackPublications.values.where((e) => e.subscribed).toList();
List<TrackPublication> get videoTracks => trackPublications.values
.where((e) => e.kind == lk_models.TrackType.VIDEO)
.toList();
// Must be implemented by child class
List<TrackPublication> get videoTracks;
List<TrackPublication> get audioTracks => trackPublications.values
.where((e) => e.kind == lk_models.TrackType.AUDIO)
.toList();
// Must be implemented by child class
List<TrackPublication> get audioTracks;
/// for internal use
/// {@nodoc}
+6 -2
View File
@@ -27,11 +27,15 @@ class RemoteParticipant extends Participant {
@override
List<RemoteTrackPublication<RemoteVideoTrack>> get videoTracks =>
super.videoTracks.cast<RemoteTrackPublication<RemoteVideoTrack>>();
trackPublications.values
.whereType<RemoteTrackPublication<RemoteVideoTrack>>()
.toList();
@override
List<RemoteTrackPublication<RemoteAudioTrack>> get audioTracks =>
super.audioTracks.cast<RemoteTrackPublication<RemoteAudioTrack>>();
trackPublications.values
.whereType<RemoteTrackPublication<RemoteAudioTrack>>()
.toList();
RemoteParticipant(
this._engine,