Add MediaStreamProtocol enum (#10153)

* Add MediaStreamProtocol enum

* Add default handling for enum during deserialization

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
This commit is contained in:
Niels van Velzen
2024-03-05 00:44:54 +01:00
committed by GitHub
parent 83d2bc3f9f
commit 407cf5d0bf
15 changed files with 271 additions and 30 deletions

View File

@@ -5,6 +5,7 @@ using System.Linq;
using System.Runtime.Serialization;
using System.Text.Json;
using System.Threading.Tasks;
using Jellyfin.Data.Enums;
using Jellyfin.Extensions.Json;
using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Dto;
@@ -388,21 +389,21 @@ namespace Jellyfin.Model.Tests
// Assert.Equal("webm", val.Container);
Assert.Equal(streamInfo.Container, uri.Extension);
Assert.Equal("stream", uri.Filename);
Assert.Equal("http", streamInfo.SubProtocol);
Assert.Equal(MediaStreamProtocol.Http, streamInfo.SubProtocol);
}
else if (transcodeProtocol.Equals("HLS.mp4", StringComparison.Ordinal))
{
Assert.Equal("mp4", streamInfo.Container);
Assert.Equal("m3u8", uri.Extension);
Assert.Equal("master", uri.Filename);
Assert.Equal("hls", streamInfo.SubProtocol);
Assert.Equal(MediaStreamProtocol.Hls, streamInfo.SubProtocol);
}
else
{
Assert.Equal("ts", streamInfo.Container);
Assert.Equal("m3u8", uri.Extension);
Assert.Equal("master", uri.Filename);
Assert.Equal("hls", streamInfo.SubProtocol);
Assert.Equal(MediaStreamProtocol.Hls, streamInfo.SubProtocol);
}
// Full transcode
@@ -488,7 +489,7 @@ namespace Jellyfin.Model.Tests
}
else if (playMethod is null)
{
Assert.Null(streamInfo.SubProtocol);
Assert.Equal(MediaStreamProtocol.Http, streamInfo.SubProtocol);
Assert.Equal("stream", uri.Filename);
Assert.False(streamInfo.EstimateContentLength);