mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-22 14:38:06 +02:00
feat: Implement Xtream API data models and live TV tab for IPTV functionality, including application icons.
This commit is contained in:
1 parent
c260da3673
commit
4d7a1e18c7
10 files changed
+641
-57
No files matched your search
@@ -7,6 +7,7 @@ import 'dart:async';
|
||||
import 'package:http/http.dart' as http;
|
||||
import '../providers/xtream_provider.dart';
|
||||
import '../providers/playback_positions_provider.dart';
|
||||
import '../providers/settings_provider.dart';
|
||||
import '../widgets/epg_overlay.dart';
|
||||
import '../../../core/models/playlist_config.dart';
|
||||
|
||||
@@ -111,11 +112,30 @@ class _PlayerScreenState extends ConsumerState<PlayerScreen> {
|
||||
_statusMessage = 'Starting stream transcoding...';
|
||||
});
|
||||
|
||||
// Build the FFmpeg endpoint URL
|
||||
// Build the FFmpeg endpoint URL with streaming settings
|
||||
final settings = ref.read(iptvSettingsProvider);
|
||||
final baseUrl = html.window.location.origin;
|
||||
final iptvUrl = '${widget.playlist.dns}/live/${widget.playlist.username}/${widget.playlist.password}/${widget.streamId}.ts';
|
||||
final encodedUrl = Uri.encodeComponent(iptvUrl);
|
||||
final streamEndpoint = '$baseUrl/api/stream/${widget.streamId}?url=$encodedUrl';
|
||||
|
||||
// Map enum values to string params
|
||||
final qualityParam = switch (settings.streamQuality) {
|
||||
StreamQuality.low => 'low',
|
||||
StreamQuality.medium => 'medium',
|
||||
StreamQuality.high => 'high',
|
||||
};
|
||||
final bufferParam = switch (settings.bufferSize) {
|
||||
BufferSize.low => 'low',
|
||||
BufferSize.medium => 'medium',
|
||||
BufferSize.high => 'high',
|
||||
};
|
||||
final timeoutParam = switch (settings.connectionTimeout) {
|
||||
ConnectionTimeout.short => 'short',
|
||||
ConnectionTimeout.medium => 'medium',
|
||||
ConnectionTimeout.long => 'long',
|
||||
};
|
||||
|
||||
final streamEndpoint = '$baseUrl/api/stream/${widget.streamId}?url=$encodedUrl&quality=$qualityParam&buffer=$bufferParam&timeout=$timeoutParam';
|
||||
|
||||
debugPrint('PlayerScreen: Starting FFmpeg stream: $streamEndpoint');
|
||||
|
||||
|
||||
Reference in new issue
Block a user