mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-08 23:00:51 +02:00
subtitle fixes
This commit is contained in:
parent
6cab9dc227
commit
21e9a7950e
|
@ -256,7 +256,10 @@ namespace MediaBrowser.Api.Playback
|
||||||
|
|
||||||
if (state.SubtitleStream != null)
|
if (state.SubtitleStream != null)
|
||||||
{
|
{
|
||||||
if (state.SubtitleStream.Codec.IndexOf("srt", StringComparison.OrdinalIgnoreCase) != -1 || state.SubtitleStream.Codec.IndexOf("subrip", StringComparison.OrdinalIgnoreCase) != -1)
|
if (state.SubtitleStream.Codec.IndexOf("srt", StringComparison.OrdinalIgnoreCase) != -1 ||
|
||||||
|
state.SubtitleStream.Codec.IndexOf("subrip", StringComparison.OrdinalIgnoreCase) != -1 ||
|
||||||
|
string.Equals(state.SubtitleStream.Codec, "ass", StringComparison.OrdinalIgnoreCase) ||
|
||||||
|
string.Equals(state.SubtitleStream.Codec, "ssa", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
assSubtitleParam = GetTextSubtitleParam((Video)state.Item, state.SubtitleStream, request.StartTimeTicks, performTextSubtitleConversion);
|
assSubtitleParam = GetTextSubtitleParam((Video)state.Item, state.SubtitleStream, request.StartTimeTicks, performTextSubtitleConversion);
|
||||||
}
|
}
|
||||||
|
|
|
@ -951,15 +951,39 @@ namespace MediaBrowser.Controller.Entities
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
var children = Children;
|
return GetChildrenList(user, includeLinkedChildren);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the children list.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="user">The user.</param>
|
||||||
|
/// <param name="includeLinkedChildren">if set to <c>true</c> [include linked children].</param>
|
||||||
|
/// <returns>List{BaseItem}.</returns>
|
||||||
|
private List<BaseItem> GetChildrenList(User user, bool includeLinkedChildren)
|
||||||
|
{
|
||||||
|
var list = new List<BaseItem>();
|
||||||
|
|
||||||
|
foreach (var child in Children)
|
||||||
|
{
|
||||||
|
if (child.IsVisible(user))
|
||||||
|
{
|
||||||
|
list.Add(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (includeLinkedChildren)
|
if (includeLinkedChildren)
|
||||||
{
|
{
|
||||||
children = children.Concat(GetLinkedChildren());
|
foreach (var child in GetLinkedChildren())
|
||||||
|
{
|
||||||
|
if (child.IsVisible(user))
|
||||||
|
{
|
||||||
|
list.Add(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If indexed is false or the indexing function is null
|
return list;
|
||||||
return children.AsParallel().Where(c => c.IsVisible(user)).AsEnumerable();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -976,42 +1000,35 @@ namespace MediaBrowser.Controller.Entities
|
||||||
throw new ArgumentNullException();
|
throw new ArgumentNullException();
|
||||||
}
|
}
|
||||||
|
|
||||||
var children = GetRecursiveChildrenInternal(user, includeLinkedChildren);
|
var list = new List<BaseItem>(10000);
|
||||||
|
|
||||||
|
AddRecursiveChildrenInternal(user, includeLinkedChildren, list);
|
||||||
|
|
||||||
if (includeLinkedChildren)
|
if (includeLinkedChildren)
|
||||||
{
|
{
|
||||||
children = children.Distinct();
|
list = list.Distinct().ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
return children;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets allowed recursive children of an item
|
/// Adds the recursive children internal.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="user">The user.</param>
|
/// <param name="user">The user.</param>
|
||||||
/// <param name="includeLinkedChildren">if set to <c>true</c> [include linked children].</param>
|
/// <param name="includeLinkedChildren">if set to <c>true</c> [include linked children].</param>
|
||||||
/// <returns>IEnumerable{BaseItem}.</returns>
|
/// <param name="list">The list.</param>
|
||||||
/// <exception cref="System.ArgumentNullException"></exception>
|
private void AddRecursiveChildrenInternal(User user, bool includeLinkedChildren, List<BaseItem> list)
|
||||||
private IEnumerable<BaseItem> GetRecursiveChildrenInternal(User user, bool includeLinkedChildren)
|
|
||||||
{
|
{
|
||||||
if (user == null)
|
foreach (var item in GetChildrenList(user, includeLinkedChildren))
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException();
|
list.Add(item);
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in GetChildren(user, includeLinkedChildren))
|
|
||||||
{
|
|
||||||
yield return item;
|
|
||||||
|
|
||||||
var subFolder = item as Folder;
|
var subFolder = item as Folder;
|
||||||
|
|
||||||
if (subFolder != null)
|
if (subFolder != null)
|
||||||
{
|
{
|
||||||
foreach (var subitem in subFolder.GetRecursiveChildrenInternal(user, includeLinkedChildren))
|
subFolder.AddRecursiveChildrenInternal(user, includeLinkedChildren, list);
|
||||||
{
|
|
||||||
yield return subitem;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -482,7 +482,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
||||||
Type = MediaStreamType.Subtitle,
|
Type = MediaStreamType.Subtitle,
|
||||||
IsExternal = true,
|
IsExternal = true,
|
||||||
Path = fullName,
|
Path = fullName,
|
||||||
Codec = "srt",
|
Codec = Path.GetExtension(fullName).ToLower().TrimStart('.'),
|
||||||
Language = language
|
Language = language
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common.Internal</id>
|
<id>MediaBrowser.Common.Internal</id>
|
||||||
<version>3.0.203</version>
|
<version>3.0.204</version>
|
||||||
<title>MediaBrowser.Common.Internal</title>
|
<title>MediaBrowser.Common.Internal</title>
|
||||||
<authors>Luke</authors>
|
<authors>Luke</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
||||||
<copyright>Copyright © Media Browser 2013</copyright>
|
<copyright>Copyright © Media Browser 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.203" />
|
<dependency id="MediaBrowser.Common" version="3.0.204" />
|
||||||
<dependency id="NLog" version="2.0.1.2" />
|
<dependency id="NLog" version="2.0.1.2" />
|
||||||
<dependency id="ServiceStack.Text" version="3.9.58" />
|
<dependency id="ServiceStack.Text" version="3.9.58" />
|
||||||
<dependency id="SimpleInjector" version="2.3.2" />
|
<dependency id="SimpleInjector" version="2.3.2" />
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Common</id>
|
<id>MediaBrowser.Common</id>
|
||||||
<version>3.0.203</version>
|
<version>3.0.204</version>
|
||||||
<title>MediaBrowser.Common</title>
|
<title>MediaBrowser.Common</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MediaBrowser.Server.Core</id>
|
<id>MediaBrowser.Server.Core</id>
|
||||||
<version>3.0.203</version>
|
<version>3.0.204</version>
|
||||||
<title>Media Browser.Server.Core</title>
|
<title>Media Browser.Server.Core</title>
|
||||||
<authors>Media Browser Team</authors>
|
<authors>Media Browser Team</authors>
|
||||||
<owners>ebr,Luke,scottisafool</owners>
|
<owners>ebr,Luke,scottisafool</owners>
|
||||||
|
@ -12,7 +12,7 @@
|
||||||
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
||||||
<copyright>Copyright © Media Browser 2013</copyright>
|
<copyright>Copyright © Media Browser 2013</copyright>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MediaBrowser.Common" version="3.0.203" />
|
<dependency id="MediaBrowser.Common" version="3.0.204" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|
Loading…
Reference in a new issue