Change AudioSession configuration logic (#104)

* impl

* ref

* ref
This commit is contained in:
Hiroshi Horie
2022-04-08 01:58:49 +09:00
committed by GitHub
parent 8c227574ac
commit 84b9ef130f
5 changed files with 111 additions and 55 deletions
+2 -1
View File
@@ -8,7 +8,8 @@ import '../audio_management.dart';
import '../options.dart';
import 'local.dart';
class LocalAudioTrack extends LocalTrack with AudioTrack, AudioManagementMixin {
class LocalAudioTrack extends LocalTrack
with AudioTrack, LocalAudioManagementMixin {
// Options used for this track
@override
covariant AudioCaptureOptions currentOptions;
+32 -1
View File
@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:flutter_webrtc/flutter_webrtc.dart' as rtc;
import 'package:meta/meta.dart';
import '../../events.dart';
import '../../exceptions.dart';
import '../../extensions.dart';
import '../../logger.dart';
import '../../participant/remote.dart';
import '../../proto/livekit_models.pb.dart' as lk_models;
@@ -46,6 +46,9 @@ abstract class LocalTrack extends Track {
/// Options used for this track
abstract LocalTrackOptions currentOptions;
bool _published = false;
bool get isPublished => _published;
LocalTrack(
String name,
lk_models.TrackType kind,
@@ -170,4 +173,32 @@ abstract class LocalTrack extends Track {
// mark as started
await start();
}
@internal
@mustCallSuper
Future<bool> onPublish() async {
if (_published) {
// already published
return false;
}
logger.fine('$objectId.publish()');
_published = true;
return true;
}
@internal
@mustCallSuper
Future<bool> onUnpublish() async {
if (!_published) {
// already unpublished
return false;
}
logger.fine('$objectId.unpublish()');
_published = false;
return true;
}
}