mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 11:08:03 +08:00
* fix(player): disable audio normalization on missing audio input * fix(player): skip normalization when local audio input is missing * fix `hasDashAudio` --------- Co-authored-by: dom <githubaccount56556@proton.me>
41 lines
906 B
Dart
41 lines
906 B
Dart
import 'package:PiliPlus/utils/path_utils.dart';
|
|
import 'package:path/path.dart' as path;
|
|
|
|
sealed class DataSource {
|
|
final String videoSource;
|
|
final String? audioSource;
|
|
|
|
DataSource({
|
|
required this.videoSource,
|
|
required this.audioSource,
|
|
});
|
|
}
|
|
|
|
class NetworkSource extends DataSource {
|
|
NetworkSource({
|
|
required super.videoSource,
|
|
required super.audioSource,
|
|
});
|
|
}
|
|
|
|
class FileSource extends DataSource {
|
|
final String dir;
|
|
final bool isMp4;
|
|
|
|
FileSource({
|
|
required this.dir,
|
|
required this.isMp4,
|
|
required bool hasDashAudio,
|
|
required String typeTag,
|
|
}) : super(
|
|
videoSource: path.join(
|
|
dir,
|
|
typeTag,
|
|
isMp4 ? PathUtils.videoNameType1 : PathUtils.videoNameType2,
|
|
),
|
|
audioSource: isMp4 || !hasDashAudio
|
|
? null
|
|
: path.join(dir, typeTag, PathUtils.audioNameType2),
|
|
);
|
|
}
|