Option to control DTX (#25)

* protocol 4

* default to v4

* mediaStreamTrack.enabled

* track start

* private constructor

* remote audio/video tracks

* log sdp

* organize imports

* dtx option (default true)
This commit is contained in:
Hiroshi Horie
2021-10-26 02:53:34 +09:00
committed by GitHub
parent 71a21f00b6
commit 6240457333
7 changed files with 61 additions and 17 deletions
+23 -5
View File
@@ -6,23 +6,27 @@ class ConnectOptions {
/// Auto-subscribe to room tracks upon connect, defaults to true.
final bool autoSubscribe;
/// Default options used when publishing a track
final TrackPublishOptions defaultPublishOptions;
/// Default options used when publishing a video track
final VideoPublishOptions defaultVideoPublishOptions;
/// Default options used when publishing a audio track
final AudioPublishOptions defaultAudioPublishOptions;
const ConnectOptions({
this.autoSubscribe = true,
this.defaultPublishOptions = const TrackPublishOptions(),
this.defaultVideoPublishOptions = const VideoPublishOptions(),
this.defaultAudioPublishOptions = const AudioPublishOptions(),
});
}
class TrackPublishOptions {
class VideoPublishOptions {
///
final VideoEncoding? videoEncoding;
///
final bool simulcast;
const TrackPublishOptions({
const VideoPublishOptions({
this.videoEncoding,
this.simulcast = false,
});
@@ -31,3 +35,17 @@ class TrackPublishOptions {
String toString() =>
'${runtimeType}(videoEncoding: ${videoEncoding}, simulcast: ${simulcast})';
}
class AudioPublishOptions {
/// DTX (Discontinuous Transmission)
/// https://en.wikipedia.org/wiki/Discontinuous_transmission
/// defaults to true
final bool dtx;
const AudioPublishOptions({
this.dtx = true,
});
@override
String toString() => '${runtimeType}(dtx: ${dtx})';
}