signal events marked internal
This commit is contained in:
+2
-114
@@ -1,19 +1,17 @@
|
|||||||
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
|
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
|
||||||
import 'package:meta/meta.dart';
|
|
||||||
|
|
||||||
import 'participant/local_participant.dart';
|
import 'participant/local_participant.dart';
|
||||||
import 'participant/participant.dart';
|
import 'participant/participant.dart';
|
||||||
import 'participant/remote_participant.dart';
|
import 'participant/remote_participant.dart';
|
||||||
import 'proto/livekit_models.pb.dart' as lk_models;
|
import 'proto/livekit_models.pb.dart' as lk_models;
|
||||||
import 'proto/livekit_rtc.pb.dart' as lk_rtc;
|
|
||||||
import 'publication/local_track_publication.dart';
|
import 'publication/local_track_publication.dart';
|
||||||
import 'publication/remote_track_publication.dart';
|
import 'publication/remote_track_publication.dart';
|
||||||
import 'publication/track_publication.dart';
|
import 'publication/track_publication.dart';
|
||||||
import 'track/track.dart';
|
|
||||||
import 'types.dart';
|
|
||||||
import 'room.dart';
|
import 'room.dart';
|
||||||
import 'rtc_engine.dart';
|
import 'rtc_engine.dart';
|
||||||
import 'signal_client.dart';
|
import 'signal_client.dart';
|
||||||
|
import 'track/track.dart';
|
||||||
|
import 'types.dart';
|
||||||
|
|
||||||
/// Base type for all LiveKit events.
|
/// Base type for all LiveKit events.
|
||||||
abstract class LiveKitEvent {}
|
abstract class LiveKitEvent {}
|
||||||
@@ -283,113 +281,3 @@ class EngineRemoteMuteChangedEvent with EngineEvent {
|
|||||||
required this.muted,
|
required this.muted,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// Signal events
|
|
||||||
//
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalConnectedEvent with SignalEvent {
|
|
||||||
final lk_rtc.JoinResponse response;
|
|
||||||
const SignalConnectedEvent({
|
|
||||||
required this.response,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalCloseEvent with SignalEvent {
|
|
||||||
final CloseReason? reason;
|
|
||||||
const SignalCloseEvent({
|
|
||||||
this.reason,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalOfferEvent with SignalEvent {
|
|
||||||
final rtc.RTCSessionDescription sd;
|
|
||||||
const SignalOfferEvent({
|
|
||||||
required this.sd,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalAnswerEvent with SignalEvent {
|
|
||||||
final rtc.RTCSessionDescription sd;
|
|
||||||
const SignalAnswerEvent({
|
|
||||||
required this.sd,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalTrickleEvent with SignalEvent {
|
|
||||||
final rtc.RTCIceCandidate candidate;
|
|
||||||
final lk_rtc.SignalTarget target;
|
|
||||||
const SignalTrickleEvent({
|
|
||||||
required this.candidate,
|
|
||||||
required this.target,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
// relayed by Engine
|
|
||||||
class SignalParticipantUpdateEvent with SignalEvent, EngineEvent {
|
|
||||||
final List<lk_models.ParticipantInfo> participants;
|
|
||||||
const SignalParticipantUpdateEvent({
|
|
||||||
required this.participants,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalConnectionQualityUpdateEvent with SignalEvent, EngineEvent {
|
|
||||||
final List<lk_rtc.ConnectionQualityInfo> updates;
|
|
||||||
const SignalConnectionQualityUpdateEvent({
|
|
||||||
required this.updates,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalLocalTrackPublishedEvent with SignalEvent {
|
|
||||||
final String cid;
|
|
||||||
final lk_models.TrackInfo track;
|
|
||||||
const SignalLocalTrackPublishedEvent({
|
|
||||||
required this.cid,
|
|
||||||
required this.track,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
// Speaker update received through websocket
|
|
||||||
// relayed by Engine
|
|
||||||
class SignalSpeakersChangedEvent with SignalEvent, EngineEvent {
|
|
||||||
final List<lk_models.SpeakerInfo> speakers;
|
|
||||||
const SignalSpeakersChangedEvent({
|
|
||||||
required this.speakers,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
// Event received through data channel
|
|
||||||
class EngineActiveSpeakersUpdateEvent with EngineEvent {
|
|
||||||
final List<lk_models.SpeakerInfo> speakers;
|
|
||||||
const EngineActiveSpeakersUpdateEvent({
|
|
||||||
required this.speakers,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalLeaveEvent with SignalEvent {
|
|
||||||
final bool canReconnect;
|
|
||||||
const SignalLeaveEvent({
|
|
||||||
required this.canReconnect,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
@internal
|
|
||||||
class SignalMuteTrackEvent with SignalEvent {
|
|
||||||
final String sid;
|
|
||||||
final bool muted;
|
|
||||||
const SignalMuteTrackEvent({
|
|
||||||
required this.sid,
|
|
||||||
required this.muted,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -5,7 +5,10 @@ import 'package:meta/meta.dart';
|
|||||||
import 'package:visibility_detector/visibility_detector.dart';
|
import 'package:visibility_detector/visibility_detector.dart';
|
||||||
|
|
||||||
import '../events.dart';
|
import '../events.dart';
|
||||||
|
import '../proto/livekit_models.pb.dart' as lk_models;
|
||||||
|
import '../proto/livekit_rtc.pb.dart' as lk_rtc;
|
||||||
import '../track/track.dart';
|
import '../track/track.dart';
|
||||||
|
import '../types.dart';
|
||||||
|
|
||||||
abstract class InternalEvent implements LiveKitEvent {}
|
abstract class InternalEvent implements LiveKitEvent {}
|
||||||
|
|
||||||
@@ -72,3 +75,113 @@ class TrackMuteUpdatedEvent with TrackEvent, InternalEvent {
|
|||||||
required this.muted,
|
required this.muted,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Signal events
|
||||||
|
//
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalConnectedEvent with SignalEvent {
|
||||||
|
final lk_rtc.JoinResponse response;
|
||||||
|
const SignalConnectedEvent({
|
||||||
|
required this.response,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalCloseEvent with SignalEvent {
|
||||||
|
final CloseReason? reason;
|
||||||
|
const SignalCloseEvent({
|
||||||
|
this.reason,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalOfferEvent with SignalEvent {
|
||||||
|
final rtc.RTCSessionDescription sd;
|
||||||
|
const SignalOfferEvent({
|
||||||
|
required this.sd,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalAnswerEvent with SignalEvent {
|
||||||
|
final rtc.RTCSessionDescription sd;
|
||||||
|
const SignalAnswerEvent({
|
||||||
|
required this.sd,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalTrickleEvent with SignalEvent {
|
||||||
|
final rtc.RTCIceCandidate candidate;
|
||||||
|
final lk_rtc.SignalTarget target;
|
||||||
|
const SignalTrickleEvent({
|
||||||
|
required this.candidate,
|
||||||
|
required this.target,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
// relayed by Engine
|
||||||
|
class SignalParticipantUpdateEvent with SignalEvent, EngineEvent {
|
||||||
|
final List<lk_models.ParticipantInfo> participants;
|
||||||
|
const SignalParticipantUpdateEvent({
|
||||||
|
required this.participants,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalConnectionQualityUpdateEvent with SignalEvent, EngineEvent {
|
||||||
|
final List<lk_rtc.ConnectionQualityInfo> updates;
|
||||||
|
const SignalConnectionQualityUpdateEvent({
|
||||||
|
required this.updates,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalLocalTrackPublishedEvent with SignalEvent {
|
||||||
|
final String cid;
|
||||||
|
final lk_models.TrackInfo track;
|
||||||
|
const SignalLocalTrackPublishedEvent({
|
||||||
|
required this.cid,
|
||||||
|
required this.track,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
// Speaker update received through websocket
|
||||||
|
// relayed by Engine
|
||||||
|
class SignalSpeakersChangedEvent with SignalEvent, EngineEvent {
|
||||||
|
final List<lk_models.SpeakerInfo> speakers;
|
||||||
|
const SignalSpeakersChangedEvent({
|
||||||
|
required this.speakers,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
// Event received through data channel
|
||||||
|
class EngineActiveSpeakersUpdateEvent with EngineEvent {
|
||||||
|
final List<lk_models.SpeakerInfo> speakers;
|
||||||
|
const EngineActiveSpeakersUpdateEvent({
|
||||||
|
required this.speakers,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalLeaveEvent with SignalEvent {
|
||||||
|
final bool canReconnect;
|
||||||
|
const SignalLeaveEvent({
|
||||||
|
required this.canReconnect,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@internal
|
||||||
|
class SignalMuteTrackEvent with SignalEvent {
|
||||||
|
final String sid;
|
||||||
|
final bool muted;
|
||||||
|
const SignalMuteTrackEvent({
|
||||||
|
required this.sid,
|
||||||
|
required this.muted,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ import '../managers/event.dart';
|
|||||||
import '../options.dart';
|
import '../options.dart';
|
||||||
import '../proto/livekit_models.pb.dart' as lk_models;
|
import '../proto/livekit_models.pb.dart' as lk_models;
|
||||||
import '../publication/local_track_publication.dart';
|
import '../publication/local_track_publication.dart';
|
||||||
|
import '../room.dart';
|
||||||
import '../rtc_engine.dart';
|
import '../rtc_engine.dart';
|
||||||
import '../track/local.dart';
|
import '../track/local.dart';
|
||||||
import '../track/local/audio.dart';
|
import '../track/local/audio.dart';
|
||||||
import '../track/local/video.dart';
|
import '../track/local/video.dart';
|
||||||
import '../types.dart';
|
import '../types.dart';
|
||||||
import '../utils.dart';
|
import '../utils.dart';
|
||||||
import '../room.dart';
|
|
||||||
import 'participant.dart';
|
import 'participant.dart';
|
||||||
|
|
||||||
/// Represents the current participant in the room. Instance of [LocalParticipant] is automatically
|
/// Represents the current participant in the room. Instance of [LocalParticipant] is automatically
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'constants.dart';
|
|||||||
import 'events.dart';
|
import 'events.dart';
|
||||||
import 'exceptions.dart';
|
import 'exceptions.dart';
|
||||||
import 'extensions.dart';
|
import 'extensions.dart';
|
||||||
|
import 'internal/events.dart';
|
||||||
import 'logger.dart';
|
import 'logger.dart';
|
||||||
import 'managers/event.dart';
|
import 'managers/event.dart';
|
||||||
import 'options.dart';
|
import 'options.dart';
|
||||||
|
|||||||
@@ -17,11 +17,11 @@ import 'managers/event.dart';
|
|||||||
import 'options.dart';
|
import 'options.dart';
|
||||||
import 'proto/livekit_models.pb.dart' as lk_models;
|
import 'proto/livekit_models.pb.dart' as lk_models;
|
||||||
import 'proto/livekit_rtc.pb.dart' as lk_rtc;
|
import 'proto/livekit_rtc.pb.dart' as lk_rtc;
|
||||||
|
import 'room.dart';
|
||||||
import 'signal_client.dart';
|
import 'signal_client.dart';
|
||||||
import 'support/disposable.dart';
|
import 'support/disposable.dart';
|
||||||
import 'transport.dart';
|
import 'transport.dart';
|
||||||
import 'types.dart';
|
import 'types.dart';
|
||||||
import 'room.dart';
|
|
||||||
|
|
||||||
class RTCEngine extends Disposable with EventsEmittable<EngineEvent> {
|
class RTCEngine extends Disposable with EventsEmittable<EngineEvent> {
|
||||||
static const _lossyDCLabel = '_lossy';
|
static const _lossyDCLabel = '_lossy';
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:http/http.dart' as http;
|
|||||||
import 'events.dart';
|
import 'events.dart';
|
||||||
import 'exceptions.dart';
|
import 'exceptions.dart';
|
||||||
import 'extensions.dart';
|
import 'extensions.dart';
|
||||||
|
import 'internal/events.dart';
|
||||||
import 'logger.dart';
|
import 'logger.dart';
|
||||||
import 'managers/event.dart';
|
import 'managers/event.dart';
|
||||||
import 'options.dart';
|
import 'options.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user