aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-05-03 13:31:23 +0200
committerShadowghost <Ghost_of_Stone@web.de>2026-05-03 13:31:23 +0200
commitd68d0fa96267ad96eaa5a0ba37e072f59a71442a (patch)
treec3a33238cc56857d8e3daa56db01f290118c9215 /MediaBrowser.MediaEncoding
parent00b08c0b32b3c8fa36330d72e4a25c7b157de4e3 (diff)
parentd9ced0d6399c82ddad9e983605bb0d828a608e63 (diff)
Merge remote-tracking branch 'upstream/master' into perf-rebased
Diffstat (limited to 'MediaBrowser.MediaEncoding')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs2
-rw-r--r--MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs10
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs5
3 files changed, 10 insertions, 7 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 770965cab3..f34e911a05 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -414,7 +414,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
/// <inheritdoc />
public Task<MediaInfo> GetMediaInfo(MediaInfoRequest request, CancellationToken cancellationToken)
{
- var extractChapters = request.MediaType == DlnaProfileType.Video && request.ExtractChapters;
+ var extractChapters = request.ExtractChapters;
var extraArgs = GetExtraArguments(request);
return GetMediaInfoInternal(
diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
index 3c6a03713f..a4d17e4f9d 100644
--- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
+++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs
@@ -194,6 +194,11 @@ namespace MediaBrowser.MediaEncoding.Probing
info.ProductionYear = info.PremiereDate.Value.Year;
}
+ if (data.Chapters is not null)
+ {
+ info.Chapters = data.Chapters.Select(GetChapterInfo).ToArray();
+ }
+
// Set mediaType-specific metadata
if (isAudio)
{
@@ -238,11 +243,6 @@ namespace MediaBrowser.MediaEncoding.Probing
FetchWtvInfo(info, data);
- if (data.Chapters is not null)
- {
- info.Chapters = data.Chapters.Select(GetChapterInfo).ToArray();
- }
-
ExtractTimestamp(info);
if (tags.TryGetValue("stereo_mode", out var stereoMode) && string.Equals(stereoMode, "left_right", StringComparison.OrdinalIgnoreCase))
diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
index 5920fe3289..894d0a3574 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
@@ -147,7 +147,10 @@ namespace MediaBrowser.MediaEncoding.Subtitles
// Return the original if the same format is being requested
// Character encoding was already handled in GetSubtitleStream
- if (string.Equals(inputFormat, outputFormat, StringComparison.OrdinalIgnoreCase))
+ // ASS is a superset of SSA, skipping the conversion and preserving the styles
+ if (string.Equals(inputFormat, outputFormat, StringComparison.OrdinalIgnoreCase)
+ || (string.Equals(inputFormat, SubtitleFormat.SSA, StringComparison.OrdinalIgnoreCase)
+ && string.Equals(outputFormat, SubtitleFormat.ASS, StringComparison.OrdinalIgnoreCase)))
{
return stream;
}