[mob] Fix: Duration computation from playlist (#5939)

## Description

## Tests
This commit is contained in:
Neeraj
2025-05-16 14:14:35 +05:30
committed by GitHub

View File

@@ -653,13 +653,21 @@ class PreviewVideoStore {
int? parseDurationFromHLS(String playlist) {
final lines = playlist.split("\n");
double totalDuration = 0.0;
for (final line in lines) {
if (line.startsWith("#EXT-X-TARGETDURATION")) {
final duration = line.split(":").last.trim();
return int.tryParse(duration);
if (line.startsWith("#EXTINF:")) {
// Extract duration value (e.g., "#EXTINF:2.400000," → "2.400000")
final durationStr = line.substring(
8,
line.length - 1,
);
final duration = double.tryParse(durationStr);
if (duration != null) {
totalDuration += duration;
}
}
}
return null;
return totalDuration > 0 ? totalDuration.round() : null;
}
Future<(String, String)> _getPreviewUrl(EnteFile file) async {