diff --git a/lib/src/participant/local_participant.dart b/lib/src/participant/local_participant.dart index a889ea3..fa0dc32 100644 --- a/lib/src/participant/local_participant.dart +++ b/lib/src/participant/local_participant.dart @@ -242,11 +242,15 @@ class LocalParticipant extends Participant { @override List> get videoTracks => - super.videoTracks.cast>(); + trackPublications.values + .whereType>() + .toList(); @override List> get audioTracks => - super.audioTracks.cast>(); + trackPublications.values + .whereType>() + .toList(); } extension LocalParticipantTrackSourceExt on LocalParticipant { diff --git a/lib/src/participant/participant.dart b/lib/src/participant/participant.dart index fb50863..917c840 100644 --- a/lib/src/participant/participant.dart +++ b/lib/src/participant/participant.dart @@ -77,13 +77,11 @@ abstract class Participant extends DisposableChangeNotifier List get subscribedTracks => trackPublications.values.where((e) => e.subscribed).toList(); - List get videoTracks => trackPublications.values - .where((e) => e.kind == lk_models.TrackType.VIDEO) - .toList(); + // Must be implemented by child class + List get videoTracks; - List get audioTracks => trackPublications.values - .where((e) => e.kind == lk_models.TrackType.AUDIO) - .toList(); + // Must be implemented by child class + List get audioTracks; /// for internal use /// {@nodoc} diff --git a/lib/src/participant/remote_participant.dart b/lib/src/participant/remote_participant.dart index 44f4453..4bb416c 100644 --- a/lib/src/participant/remote_participant.dart +++ b/lib/src/participant/remote_participant.dart @@ -27,11 +27,15 @@ class RemoteParticipant extends Participant { @override List> get videoTracks => - super.videoTracks.cast>(); + trackPublications.values + .whereType>() + .toList(); @override List> get audioTracks => - super.audioTracks.cast>(); + trackPublications.values + .whereType>() + .toList(); RemoteParticipant( this._engine,