mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
feature: Added LibMDK video player backend (#162)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
6e32018183
commit
da354437e3
53 changed files with 1499 additions and 1006 deletions
|
|
@ -1,23 +1,31 @@
|
|||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/profiles/web_profile.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
const DeviceProfile defaultProfile = kIsWeb
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/models/settings/video_player_settings.dart';
|
||||
import 'package:fladder/profiles/web_profile.dart';
|
||||
import 'package:fladder/providers/video_player_provider.dart';
|
||||
|
||||
final videoProfileProvider = StateProvider.autoDispose<DeviceProfile>((ref) =>
|
||||
defaultProfile(ref.read(videoPlayerProvider.select((value) => value.backend)) ?? PlayerOptions.platformDefaults));
|
||||
|
||||
DeviceProfile defaultProfile(PlayerOptions player) => kIsWeb
|
||||
? webProfile
|
||||
: DeviceProfile(
|
||||
maxStreamingBitrate: 120000000,
|
||||
maxStaticBitrate: 120000000,
|
||||
musicStreamingTranscodingBitrate: 384000,
|
||||
directPlayProfiles: [
|
||||
DirectPlayProfile(
|
||||
const DirectPlayProfile(
|
||||
type: DlnaProfileType.video,
|
||||
),
|
||||
DirectPlayProfile(
|
||||
const DirectPlayProfile(
|
||||
type: DlnaProfileType.audio,
|
||||
)
|
||||
],
|
||||
transcodingProfiles: [
|
||||
TranscodingProfile(
|
||||
const TranscodingProfile(
|
||||
audioCodec: 'aac,mp3,mp2',
|
||||
container: 'ts',
|
||||
maxAudioChannels: '2',
|
||||
|
|
@ -28,8 +36,10 @@ const DeviceProfile defaultProfile = kIsWeb
|
|||
],
|
||||
containerProfiles: [],
|
||||
subtitleProfiles: [
|
||||
SubtitleProfile(format: 'vtt', method: SubtitleDeliveryMethod.$external),
|
||||
SubtitleProfile(format: 'ass', method: SubtitleDeliveryMethod.$external),
|
||||
SubtitleProfile(format: 'ssa', method: SubtitleDeliveryMethod.$external),
|
||||
const SubtitleProfile(format: 'vtt', method: SubtitleDeliveryMethod.$external),
|
||||
const SubtitleProfile(format: 'ass', method: SubtitleDeliveryMethod.$external),
|
||||
const SubtitleProfile(format: 'ssa', method: SubtitleDeliveryMethod.$external),
|
||||
if (player == PlayerOptions.libMDK)
|
||||
const SubtitleProfile(format: 'pgssub', method: SubtitleDeliveryMethod.$external),
|
||||
],
|
||||
);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue