[mob] Fix: Duration computation from playlist (#5939)
## Description ## Tests
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user