From 73eda7c91868a81a1bfa303ae66bc2bbf8caed0c Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Tue, 2 Dec 2025 17:20:59 +0100 Subject: [PATCH] refactor: simplify player classes --- .../player/{ => platform}/player_linux.dart | 2 +- .../player/{ => platform}/player_windows.dart | 2 +- lib/mpv/src/player/player.dart | 22 +++++-------------- lib/mpv/src/player/player_android.dart | 5 ----- lib/mpv/src/player/player_ios.dart | 5 ----- lib/mpv/src/player/player_macos.dart | 5 ----- 6 files changed, 8 insertions(+), 33 deletions(-) rename lib/mpv/src/player/{ => platform}/player_linux.dart (97%) rename lib/mpv/src/player/{ => platform}/player_windows.dart (96%) delete mode 100644 lib/mpv/src/player/player_android.dart delete mode 100644 lib/mpv/src/player/player_ios.dart delete mode 100644 lib/mpv/src/player/player_macos.dart diff --git a/lib/mpv/src/player/player_linux.dart b/lib/mpv/src/player/platform/player_linux.dart similarity index 97% rename from lib/mpv/src/player/player_linux.dart rename to lib/mpv/src/player/platform/player_linux.dart index 392ac2be..d349ace3 100644 --- a/lib/mpv/src/player/player_linux.dart +++ b/lib/mpv/src/player/platform/player_linux.dart @@ -1,6 +1,6 @@ import 'package:flutter/services.dart'; -import 'player_native.dart'; +import '../player_native.dart'; /// Linux implementation of [Player]. /// diff --git a/lib/mpv/src/player/player_windows.dart b/lib/mpv/src/player/platform/player_windows.dart similarity index 96% rename from lib/mpv/src/player/player_windows.dart rename to lib/mpv/src/player/platform/player_windows.dart index 569f8dff..d652069e 100644 --- a/lib/mpv/src/player/player_windows.dart +++ b/lib/mpv/src/player/platform/player_windows.dart @@ -1,6 +1,6 @@ import 'package:flutter/services.dart'; -import 'player_native.dart'; +import '../player_native.dart'; /// Windows implementation of [Player]. /// diff --git a/lib/mpv/src/player/player.dart b/lib/mpv/src/player/player.dart index 7e4df9ca..e4e80e50 100644 --- a/lib/mpv/src/player/player.dart +++ b/lib/mpv/src/player/player.dart @@ -4,14 +4,12 @@ import '../models/audio_device.dart'; import '../models/media.dart'; import '../models/audio_track.dart'; import '../models/subtitle_track.dart'; -import 'player_android.dart'; -import 'player_ios.dart'; -import 'player_linux.dart'; -import 'player_macos.dart'; +import 'player_native.dart'; import 'player_state.dart'; import 'player_streams.dart'; import 'player_stub.dart'; -import 'player_windows.dart'; +import 'platform/player_linux.dart'; +import 'platform/player_windows.dart'; /// Abstract interface for the video player. /// @@ -197,21 +195,13 @@ abstract class Player { /// Creates a new player instance. /// /// Returns a platform-specific implementation: - /// - macOS: [PlayerMacOS] using MPVKit with Metal rendering - /// - iOS: [PlayerIOS] using MPVKit with Metal rendering - /// - Android: [PlayerAndroid] using libmpv + /// - macOS/iOS/Android: [PlayerNative] using MPVKit/libmpv with texture rendering /// - Windows: [PlayerWindows] using libmpv with native window embedding /// - Linux: [PlayerLinux] using libmpv with OpenGL rendering via GtkGLArea /// - Other platforms: [PlayerStub] (placeholder) factory Player() { - if (Platform.isMacOS) { - return PlayerMacOS(); - } - if (Platform.isIOS) { - return PlayerIOS(); - } - if (Platform.isAndroid) { - return PlayerAndroid(); + if (Platform.isMacOS || Platform.isIOS || Platform.isAndroid) { + return PlayerNative(); } if (Platform.isWindows) { return PlayerWindows(); diff --git a/lib/mpv/src/player/player_android.dart b/lib/mpv/src/player/player_android.dart deleted file mode 100644 index 6d8cb01b..00000000 --- a/lib/mpv/src/player/player_android.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'player_native.dart'; - -/// Android implementation of Player. -/// Inherits all functionality from PlayerNative. -class PlayerAndroid extends PlayerNative {} diff --git a/lib/mpv/src/player/player_ios.dart b/lib/mpv/src/player/player_ios.dart deleted file mode 100644 index f5128307..00000000 --- a/lib/mpv/src/player/player_ios.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'player_native.dart'; - -/// iOS implementation of Player. -/// Inherits all functionality from PlayerNative. -class PlayerIOS extends PlayerNative {} diff --git a/lib/mpv/src/player/player_macos.dart b/lib/mpv/src/player/player_macos.dart deleted file mode 100644 index 019730b4..00000000 --- a/lib/mpv/src/player/player_macos.dart +++ /dev/null @@ -1,5 +0,0 @@ -import 'player_native.dart'; - -/// macOS implementation of Player. -/// Inherits all functionality from PlayerNative. -class PlayerMacOS extends PlayerNative {}