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