Add subtitle format(codec) to stream display title (#5853)

Co-authored-by: Michał Kurek <michal.kurek@mail.com>
pull/6495/head
Mike 3 years ago committed by GitHub
parent 855f9c4a8e
commit cf9c678406
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -255,6 +255,11 @@ namespace MediaBrowser.Model.Entities
attributes.Add(string.IsNullOrEmpty(LocalizedForced) ? "Forced" : LocalizedForced); attributes.Add(string.IsNullOrEmpty(LocalizedForced) ? "Forced" : LocalizedForced);
} }
if (!string.IsNullOrEmpty(Codec))
{
attributes.Add(Codec.ToUpperInvariant());
}
if (!string.IsNullOrEmpty(Title)) if (!string.IsNullOrEmpty(Title))
{ {
var result = new StringBuilder(Title); var result = new StringBuilder(Title);

@ -1,3 +1,4 @@
using System.Collections.Generic;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using Xunit; using Xunit;
@ -5,6 +6,85 @@ namespace Jellyfin.Model.Tests.Entities
{ {
public class MediaStreamTests public class MediaStreamTests
{ {
public static IEnumerable<object[]> Get_DisplayTitle_TestData()
{
return new List<object[]>
{
new object[]
{
new MediaStream
{
Type = MediaStreamType.Subtitle,
Title = "English",
Language = string.Empty,
IsForced = false,
IsDefault = false,
Codec = "ASS"
},
"English - Und - ASS"
},
new object[]
{
new MediaStream
{
Type = MediaStreamType.Subtitle,
Title = "English",
Language = string.Empty,
IsForced = false,
IsDefault = false,
Codec = string.Empty
},
"English - Und"
},
new object[]
{
new MediaStream
{
Type = MediaStreamType.Subtitle,
Title = "English",
Language = "EN",
IsForced = false,
IsDefault = false,
Codec = string.Empty
},
"English"
},
new object[]
{
new MediaStream
{
Type = MediaStreamType.Subtitle,
Title = "English",
Language = "EN",
IsForced = true,
IsDefault = true,
Codec = "SRT"
},
"English - Default - Forced - SRT"
},
new object[]
{
new MediaStream
{
Type = MediaStreamType.Subtitle,
Title = null,
Language = null,
IsForced = false,
IsDefault = false,
Codec = null
},
"Und"
}
};
}
[Theory]
[MemberData(nameof(Get_DisplayTitle_TestData))]
public void Get_DisplayTitle_should_return_valid_title(MediaStream mediaStream, string expected)
{
Assert.Equal(expected, mediaStream.DisplayTitle);
}
[Theory] [Theory]
[InlineData(null, null, false, null)] [InlineData(null, null, false, null)]
[InlineData(null, 0, false, null)] [InlineData(null, 0, false, null)]

Loading…
Cancel
Save