diff --git a/lib/features/iptv/screens/player_screen.dart b/lib/features/iptv/screens/player_screen.dart index 8fc4b99..bd8aa09 100644 --- a/lib/features/iptv/screens/player_screen.dart +++ b/lib/features/iptv/screens/player_screen.dart @@ -45,8 +45,18 @@ class _PlayerScreenState extends ConsumerState { Future _initializePlayer() async { try { + // Validate playlist before proceeding + if (widget.playlist.dns.isEmpty || + widget.playlist.username.isEmpty || + widget.playlist.password.isEmpty) { + throw Exception('Invalid playlist configuration: missing credentials'); + } + final xtreamService = ref.read(xtreamServiceProvider(widget.playlist)); + // Explicitly ensure playlist is set (defensive programming) + xtreamService.setPlaylist(widget.playlist); + // Generate stream URL based on type late String streamUrl; switch (widget.streamType) { @@ -66,6 +76,9 @@ class _PlayerScreenState extends ConsumerState { ); break; } + + // Debug: Print stream URL to console + debugPrint('PlayerScreen: Initializing stream URL: $streamUrl'); _videoPlayerController = VideoPlayerController.networkUrl( Uri.parse(streamUrl),