compareTo method

  1. @override
int compareTo(
  1. VideoEncoding other
)
override

Compares this object to another object.

Returns a value like a Comparator when comparing this to other. That is, it returns a negative integer if this is ordered before other, a positive integer if this is ordered after other, and zero if this and other are ordered together.

The other argument must be a value that is comparable to this object.

Implementation

@override
int compareTo(VideoEncoding other) {
  // compare bitrates
  var result = maxBitrate.compareTo(other.maxBitrate);
  if (result != 0) return result;

  // compare by fps
  result = maxFramerate.compareTo(other.maxFramerate);
  if (result != 0) return result;

  // compare by priority fields for consistency with == and hashCode
  result = (bitratePriority?.index ?? -1).compareTo(other.bitratePriority?.index ?? -1);
  if (result != 0) return result;

  return (networkPriority?.index ?? -1).compareTo(other.networkPriority?.index ?? -1);
}