mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-13 19:20:23 +01:00
Merge pull request #9254 from Shadowghost/dvdbdfix
This commit is contained in:
@@ -623,6 +623,12 @@ namespace MediaBrowser.Model.Dlna
|
||||
var isEligibleForDirectStream = options.EnableDirectStream && (options.ForceDirectStream || !bitrateLimitExceeded);
|
||||
TranscodeReason transcodeReasons = 0;
|
||||
|
||||
// Force transcode or remux for BD/DVD folders
|
||||
if (item.VideoType == VideoType.Dvd || item.VideoType == VideoType.BluRay)
|
||||
{
|
||||
isEligibleForDirectPlay = false;
|
||||
}
|
||||
|
||||
if (bitrateLimitExceeded)
|
||||
{
|
||||
transcodeReasons = TranscodeReason.ContainerBitrateExceedsLimit;
|
||||
|
||||
@@ -107,9 +107,8 @@ namespace MediaBrowser.Model.Dlna
|
||||
|
||||
public string MediaSourceId => MediaSource?.Id;
|
||||
|
||||
public bool IsDirectStream =>
|
||||
PlayMethod == PlayMethod.DirectStream ||
|
||||
PlayMethod == PlayMethod.DirectPlay;
|
||||
public bool IsDirectStream => MediaSource?.VideoType is not (VideoType.Dvd or VideoType.BluRay)
|
||||
&& PlayMethod is PlayMethod.DirectStream or PlayMethod.DirectPlay;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the audio stream that will be used.
|
||||
|
||||
41
MediaBrowser.Model/MediaInfo/BlurayDiscInfo.cs
Normal file
41
MediaBrowser.Model/MediaInfo/BlurayDiscInfo.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
#nullable disable
|
||||
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Model.MediaInfo;
|
||||
|
||||
/// <summary>
|
||||
/// Represents the result of BDInfo output.
|
||||
/// </summary>
|
||||
public class BlurayDiscInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the media streams.
|
||||
/// </summary>
|
||||
/// <value>The media streams.</value>
|
||||
public MediaStream[] MediaStreams { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the run time ticks.
|
||||
/// </summary>
|
||||
/// <value>The run time ticks.</value>
|
||||
public long? RunTimeTicks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the files.
|
||||
/// </summary>
|
||||
/// <value>The files.</value>
|
||||
public string[] Files { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the playlist name.
|
||||
/// </summary>
|
||||
/// <value>The playlist name.</value>
|
||||
public string PlaylistName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the chapters.
|
||||
/// </summary>
|
||||
/// <value>The chapters.</value>
|
||||
public double[] Chapters { get; set; }
|
||||
}
|
||||
14
MediaBrowser.Model/MediaInfo/IBlurayExaminer.cs
Normal file
14
MediaBrowser.Model/MediaInfo/IBlurayExaminer.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace MediaBrowser.Model.MediaInfo;
|
||||
|
||||
/// <summary>
|
||||
/// Interface IBlurayExaminer.
|
||||
/// </summary>
|
||||
public interface IBlurayExaminer
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the disc info.
|
||||
/// </summary>
|
||||
/// <param name="path">The path.</param>
|
||||
/// <returns>BlurayDiscInfo.</returns>
|
||||
BlurayDiscInfo GetDiscInfo(string path);
|
||||
}
|
||||
Reference in New Issue
Block a user