Fix BD/DVD folder chapter image extraction

This commit is contained in:
Shadowghost
2024-05-20 13:19:05 +02:00
parent 76854b5eff
commit 77abafca8e
3 changed files with 32 additions and 14 deletions

View File

@@ -680,16 +680,6 @@ namespace MediaBrowser.Controller.MediaEncoding
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>
@@ -1203,7 +1193,7 @@ namespace MediaBrowser.Controller.MediaEncoding
else
{
arg.Append(" -i ")
.Append(GetInputPathArgument(state));
.Append(_mediaEncoder.GetInputPathArgument(state));
}
// sub2video for external graphical subtitles

View File

@@ -245,6 +245,21 @@ namespace MediaBrowser.Controller.MediaEncoding
/// <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>