Files
stream-cinema/CinemaLib/API/StreamVideo.cs
Roman Vaníček 0bcb6d571f
All checks were successful
continuous-integration/drone/push Build is passing
Rename to Cinema
2024-11-30 00:50:10 +01:00

45 lines
1.2 KiB
C#

using System;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace CinemaLib.API;
public class StreamVideo
{
public int width { get; set; } // horizontal resolution in pixels
public int height { get; set; } // vertical resolution in pixels
public string codec { get; set; } // ie. AVC
public double? aspect { get; set; } // aspect ratio, ie. 1.778
[JsonPropertyName("hdr")]
public JsonElement? hdr_raw_donotuse { get; set; } // ie. Dolby Vision / SMPTE ST 2086
[JsonIgnore()]
public bool hasHdr
{
get
{
if (hdr_raw_donotuse == null)
return false;
switch (hdr_raw_donotuse.Value.ValueKind) {
case JsonValueKind.True: return true;
case JsonValueKind.False: return false;
case JsonValueKind.String: return true;
default: return false;
}
}
}
[JsonIgnore()]
public string? hdrQuality // ie. Dolby Vision / SMPTE ST 2086
{
get
{
return hdr_raw_donotuse != null && hdr_raw_donotuse.Value.ValueKind == JsonValueKind.String
? hdr_raw_donotuse.Value.GetString()
: null;
}
}
[JsonPropertyName("3d")]
public bool is3d { get; set; }
public double? duration { get; set; } // in seconds
}