| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | using System;using System.Collections.Generic;using System.Runtime.Intrinsics.X86;using MediaBrowser.Model.Dto;namespace MediaBrowser.Controller.Entities;/// <summary>/// Compare MediaSource of the same file by Video width <see cref="IComparer{T}" />./// </summary>public class MediaSourceWidthComparator : IComparer<MediaSourceInfo>{    /// <inheritdoc />    public int Compare(MediaSourceInfo? x, MediaSourceInfo? y)    {        if (x is null && y is null)        {            return 0;        }        if (x is null)        {            return -1;        }        if (y is null)        {            return 1;        }        if (string.Equals(x.Path, y.Path, StringComparison.OrdinalIgnoreCase))        {            if (x.VideoStream is null && y.VideoStream is null)            {                return 0;            }            if (x.VideoStream is null)            {                return -1;            }            if (y.VideoStream is null)            {                return 1;            }            var xWidth = x.VideoStream.Width ?? 0;            var yWidth = y.VideoStream.Width ?? 0;            return xWidth - yWidth;        }        return 0;    }}
 |