IPCamAppBar/IPCamLib/FFMPEG/DecodedVideoFrameParameters.cs

47 lines
1.3 KiB
C#

/*
* Source code originally from RtspClientSharp's player example:
* https://github.com/BogdanovKirill/RtspClientSharp
*/
// ReSharper disable All
namespace IPCamLib.FFMPEG
{
internal class DecodedVideoFrameParameters
{
public int Width { get; }
public int Height { get; }
public FFmpegPixelFormat PixelFormat { get; }
public DecodedVideoFrameParameters(int width, int height, FFmpegPixelFormat pixelFormat)
{
Width = width;
Height = height;
PixelFormat = pixelFormat;
}
protected bool Equals(DecodedVideoFrameParameters other)
{
return Width == other.Width && Height == other.Height && PixelFormat == other.PixelFormat;
}
public override bool Equals(object obj)
{
if (ReferenceEquals(null, obj)) return false;
if (ReferenceEquals(this, obj)) return true;
if (obj.GetType() != GetType()) return false;
return Equals((DecodedVideoFrameParameters) obj);
}
public override int GetHashCode()
{
unchecked
{
var hashCode = Width;
hashCode = (hashCode * 397) ^ Height;
hashCode = (hashCode * 397) ^ (int) PixelFormat;
return hashCode;
}
}
}
}