toUnitSpecifiedFormat method

String toUnitSpecifiedFormat(
  1. FfmpegTimeUnit timeUnit
)

Implementation

String toUnitSpecifiedFormat(FfmpegTimeUnit timeUnit) {
  final sign = isNegative ? '-' : '';
  late int whole;
  double? fraction;
  String? units;
  switch (timeUnit) {
    case FfmpegTimeUnit.seconds:
      whole = inSeconds.abs();
      fraction = (inMicroseconds.abs() - (whole * 1000000)).toDouble() / 1000000;
      units = 's';
      break;
    case FfmpegTimeUnit.milliseconds:
      whole = inMilliseconds.abs();
      fraction = (inMicroseconds.abs() - (whole * 1000)).toDouble() / 1000;
      units = 'ms';
      break;
    case FfmpegTimeUnit.microseconds:
      whole = inMicroseconds.abs();
      fraction = 0;
      units = 'us';
      break;
  }

  final fractionString =
      fraction == 0 ? '' : '+${fraction.toString().substring(1)}'; // Cut the leading '0' off the fraction
  return '$sign$whole$fractionString$units';
}