using System.Globalization;

namespace TeleWave.Infrastructure.Media;

/// <summary>Общие текстовые хелперы для сборки аргументов ffmpeg и разбора его вывода.</summary>
internal static class FfmpegText
{
    /// <summary>Формат double для фильтров/аргументов ffmpeg (инвариантная культура, до 3 знаков).</summary>
    public static string Fmt(double value) => value.ToString("0.###", CultureInfo.InvariantCulture);

    /// <summary>Хвост stderr для сообщения об ошибке (последние 500 символов).</summary>
    public static string Tail(string text)
    {
        text = text.Trim();
        const int max = 500;
        return text.Length <= max ? text : text[^max..];
    }
}
