From 246ab0d62482571634f45a116769774c31fd6965 Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Tue, 16 Dec 2025 21:54:47 +0100 Subject: [PATCH] fix: add audio codec support for VOD playback (AC3/DTS/EAC3) --- .../iptv/screens/native_player_screen.dart | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/mobile/features/iptv/screens/native_player_screen.dart b/lib/mobile/features/iptv/screens/native_player_screen.dart index c42cd97..70080b9 100644 --- a/lib/mobile/features/iptv/screens/native_player_screen.dart +++ b/lib/mobile/features/iptv/screens/native_player_screen.dart @@ -184,6 +184,30 @@ class _NativePlayerScreenState extends ConsumerState (_player.platform as dynamic)?.setProperty('framedrop', 'decoder+vo'); // Allow frame drops at decoder and video output + // ============ AUDIO CODEC SUPPORT FOR VOD ============ + // Critical for movies/series with AC3, EAC3, DTS, TrueHD audio + (_player.platform as dynamic)?.setProperty( + 'audio-channels', 'auto-safe'); // Auto-detect audio channels + (_player.platform as dynamic)?.setProperty( + 'audio-normalize-downmix', 'yes'); // Normalize volume when downmixing + (_player.platform as dynamic) + ?.setProperty('volume', '100'); // Set initial volume + (_player.platform as dynamic) + ?.setProperty('volume-max', '150'); // Allow boost if needed + (_player.platform as dynamic)?.setProperty( + 'alang', 'fr,fra,fre,en,eng'); // Preferred audio languages + (_player.platform as dynamic) + ?.setProperty('audio-file-auto', 'fuzzy'); // Auto-load external audio + + // Force software audio decoding for maximum compatibility + // (Hardware audio decoding can fail on some devices for AC3/DTS) + (_player.platform as dynamic) + ?.setProperty('ad', 'lavc:*'); // Use lavcodec for all audio decoders + + // Explicitly select first audio track if detection fails + (_player.platform as dynamic) + ?.setProperty('aid', 'auto'); // Auto-select audio track + _controller = VideoController(_player); // Listen to player state