mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Add subtitle format(codec) to stream display title (#5853)
Co-authored-by: Michał Kurek <michal.kurek@mail.com>
This commit is contained in:
parent
855f9c4a8e
commit
cf9c678406
@ -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…
x
Reference in New Issue
Block a user