private async Task PlayStream(StreamItem stream)
    {
        try
        {
            Logger.LogInformation($"Playing stream: {stream.Title} - {stream.Quality}");
            
            var streamUrl = await StreamApi.GetStreamUrlAsync(stream);
            
            if (!string.IsNullOrEmpty(streamUrl))
            {
                var title = Season > 0 && Episode > 0 
                    ? $"{VideoTitle} - S{Season:D2}E{Episode:D2} [{stream.Quality}]"
                    : $"{VideoTitle} [{stream.Quality}]";
                    
                var success = await VlcPlayer.PlayVideoAsync(streamUrl, title);
                
                if (success)
                {
                    Logger.LogInformation("Video player started successfully");
                    await Close(); 
                }
                else
                {
                    Logger.LogError("Failed to start video player");
                }
            }
            else
            {
                Logger.LogError("Failed to get stream URL");
            }
        }
        catch (Exception ex)
        {
            Logger.LogError(ex, "Error playing stream");
        }
    }