buildOutputFileName method
Implementation
String buildOutputFileName(String fileName, String defaultExtension) {
final sanitized = sanitizeFileName(fileName);
if (sanitized.isEmpty) {
throw const HlsDownloadException(
code: HlsErrorCode.invalidFileName,
message: 'fileName cannot be empty after sanitization',
);
}
final existingExtension = p.extension(sanitized);
if (existingExtension.isNotEmpty) {
return sanitized;
}
final normalizedExtension = defaultExtension.trim().replaceFirst('.', '');
if (normalizedExtension.isEmpty) {
throw const HlsDownloadException(
code: HlsErrorCode.invalidOptions,
message: 'outputFileExtension cannot be empty',
);
}
return '$sanitized.$normalizedExtension';
}