buildOutputFileName method

String buildOutputFileName(
  1. String fileName,
  2. String defaultExtension
)

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';
}