feat: Android TV support (#503)

Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
PartyDonut 2025-09-28 21:07:49 +02:00 committed by GitHub
parent 7ab8c015b9
commit c299492d6d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
168 changed files with 12019 additions and 3073 deletions

View file

@ -13,6 +13,7 @@ import 'package:fladder/models/playback/playback_model.dart';
import 'package:fladder/models/settings/subtitle_settings_model.dart';
import 'package:fladder/models/settings/video_player_settings.dart';
import 'package:fladder/providers/settings/subtitle_settings_provider.dart';
import 'package:fladder/screens/video_player/video_player.dart' as video_screen;
import 'package:fladder/util/subtitle_position_calculator.dart';
import 'package:fladder/wrappers/players/base_player.dart';
import 'package:fladder/wrappers/players/player_states.dart';
@ -82,11 +83,18 @@ class LibMPV extends BasePlayer {
}
@override
Future<void> open(String url, bool play) async {
Future<void> loadVideo(String url, bool play) async {
await _player?.open(mpv.Media(url), play: play);
return setState(lastState.update(buffering: true));
}
@override
Future<void> open(BuildContext context) async => Navigator.of(context, rootNavigator: true).push(
MaterialPageRoute(
builder: (context) => const video_screen.VideoPlayer(),
),
);
List<mpv.SubtitleTrack> get subTracks => _player?.state.tracks.subtitle ?? [];
mpv.SubtitleTrack get subtitleTrack => _player?.state.track.subtitle ?? mpv.SubtitleTrack.no();