Skip to content

Commit

Permalink
Merge pull request #11754 from Shadowghost/fix-bd-chapter-images
Browse files Browse the repository at this point in the history
Fix BD/DVD folder chapter image extraction
  • Loading branch information
Bond-009 committed May 24, 2024
2 parents ab6c242 + 77abafc commit 52be8be
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 14 deletions.
12 changes: 1 addition & 11 deletions MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -681,16 +681,6 @@ public int GetVideoProfileScore(string videoCodec, string videoProfile)
return -1;
}

public string GetInputPathArgument(EncodingJobInfo state)
{
return state.MediaSource.VideoType switch
{
VideoType.Dvd => _mediaEncoder.GetInputArgument(_mediaEncoder.GetPrimaryPlaylistVobFiles(state.MediaPath, null).ToList(), state.MediaSource),
VideoType.BluRay => _mediaEncoder.GetInputArgument(_mediaEncoder.GetPrimaryPlaylistM2tsFiles(state.MediaPath).ToList(), state.MediaSource),
_ => _mediaEncoder.GetInputArgument(state.MediaPath, state.MediaSource)
};
}

/// <summary>
/// Gets the audio encoder.
/// </summary>
Expand Down Expand Up @@ -1205,7 +1195,7 @@ public string GetInputArgument(EncodingJobInfo state, EncodingOptions options, s
else
{
arg.Append(" -i ")
.Append(GetInputPathArgument(state));
.Append(_mediaEncoder.GetInputPathArgument(state));
}

// sub2video for external graphical subtitles
Expand Down
15 changes: 15 additions & 0 deletions MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,21 @@ public interface IMediaEncoder : ITranscoderSupport
/// <returns>A playlist.</returns>
IReadOnlyList<string> GetPrimaryPlaylistM2tsFiles(string path);

/// <summary>
/// Gets the input path argument from <see cref="EncodingJobInfo"/>.
/// </summary>
/// <param name="state">The <see cref="EncodingJobInfo"/>.</param>
/// <returns>The input path argument.</returns>
string GetInputPathArgument(EncodingJobInfo state);

/// <summary>
/// Gets the input path argument.
/// </summary>
/// <param name="path">The item path.</param>
/// <param name="mediaSource">The <see cref="MediaSourceInfo"/>.</param>
/// <returns>The input path argument.</returns>
string GetInputPathArgument(string path, MediaSourceInfo mediaSource);

/// <summary>
/// Generates a FFmpeg concat config for the source.
/// </summary>
Expand Down
19 changes: 16 additions & 3 deletions MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,8 @@
using MediaBrowser.Model.Globalization;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.MediaInfo;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using static Nikse.SubtitleEdit.Core.Common.IfoParser;

namespace MediaBrowser.MediaEncoding.Encoder
{
Expand Down Expand Up @@ -621,7 +619,7 @@ public Task<string> ExtractVideoImage(string inputFile, string container, MediaS
ImageFormat? targetFormat,
CancellationToken cancellationToken)
{
var inputArgument = GetInputArgument(inputFile, mediaSource);
var inputArgument = GetInputPathArgument(inputFile, mediaSource);

if (!isAudio)
{
Expand Down Expand Up @@ -1145,6 +1143,21 @@ public IReadOnlyList<string> GetPrimaryPlaylistM2tsFiles(string path)
.ToList();
}

/// <inheritdoc />
public string GetInputPathArgument(EncodingJobInfo state)
=> GetInputPathArgument(state.MediaPath, state.MediaSource);

/// <inheritdoc />
public string GetInputPathArgument(string path, MediaSourceInfo mediaSource)
{
return mediaSource.VideoType switch
{
VideoType.Dvd => GetInputArgument(GetPrimaryPlaylistVobFiles(path, null).ToList(), mediaSource),
VideoType.BluRay => GetInputArgument(GetPrimaryPlaylistM2tsFiles(path).ToList(), mediaSource),
_ => GetInputArgument(path, mediaSource)
};
}

/// <inheritdoc />
public void GenerateConcatConfig(MediaSourceInfo source, string concatFilePath)
{
Expand Down

0 comments on commit 52be8be

Please sign in to comment.