Skip to content

Commit

Permalink
- add an option for dropping specific subtitle formats using the DLNA…
Browse files Browse the repository at this point in the history
… SubtitleProfile
  • Loading branch information
marius-luca-87 committed Nov 28, 2021
1 parent 80c7119 commit 9449f10
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
6 changes: 5 additions & 1 deletion Jellyfin.Api/Helpers/DynamicHlsHelper.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
Expand Down Expand Up @@ -462,6 +462,10 @@ private bool EnableAdaptiveBitrateStreaming(StreamState state, bool isLiveStream

private void AddSubtitles(StreamState state, IEnumerable<MediaStream> subtitles, StringBuilder builder, ClaimsPrincipal user)
{
if (state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Drop)
{
return;
}
var selectedIndex = state.SubtitleStream == null || state.SubtitleDeliveryMethod != SubtitleDeliveryMethod.Hls ? (int?)null : state.SubtitleStream.Index;
const string Format = "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"{0}\",DEFAULT={1},FORCED={2},AUTOSELECT=YES,URI=\"{3}\",LANGUAGE=\"{4}\"";

Expand Down
4 changes: 3 additions & 1 deletion MediaBrowser.Model/Dlna/StreamBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1220,7 +1220,9 @@ private void LogConditionFailure(DeviceProfile profile, string type, ProfileCond
{
var subtitleProfile = GetSubtitleProfile(item, subtitleStream, options.Profile.SubtitleProfiles, playMethod, _transcoderSupport, item.Container, null);

if (subtitleProfile.Method != SubtitleDeliveryMethod.External && subtitleProfile.Method != SubtitleDeliveryMethod.Embed)
if (subtitleProfile.Method != SubtitleDeliveryMethod.Drop &&
subtitleProfile.Method != SubtitleDeliveryMethod.External &&
subtitleProfile.Method != SubtitleDeliveryMethod.Embed)
{
_logger.LogDebug("Not eligible for {0} due to unsupported subtitles", playMethod);
return (false, TranscodeReason.SubtitleCodecNotSupported);
Expand Down
7 changes: 6 additions & 1 deletion MediaBrowser.Model/Dlna/SubtitleDeliveryMethod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ public enum SubtitleDeliveryMethod
/// <summary>
/// Serve the subtitles as a separate HLS stream.
/// </summary>
Hls = 3
Hls = 3,

/// <summary>
/// Drop the subtitle.
/// </summary>
Drop = 4
}
}

0 comments on commit 9449f10

Please sign in to comment.