getAvailableQualities method
Get list of available quality options
Implementation
List<QualityOption> getAvailableQualities() {
if (_currentManifest == null) {
return [];
}
// Always include automatic option
final List<QualityOption> qualities = [
QualityOption(height: 0, label: "Auto")
];
// Add available video qualities
for (var stream in _currentManifest!.videoOnly) {
// Get height from the videoResolution property
final height = stream.videoResolution.height;
if (height > 1080) {
continue;
}
// Only add if we don't already have this resolution
if (height > 0 && !qualities.any((q) => q.height == height)) {
qualities.add(QualityOption(
height: height,
label: "${height}p",
));
}
}
// Sort by height (highest first, but keep Auto at top)
qualities.sublist(1).sort((a, b) => b.height.compareTo(a.height));
return qualities;
}