Allow direct play even if no audio stream is available

This commit is contained in:
Maxr1998 2022-09-15 02:04:12 +02:00
parent 88d5230bab
commit 8753b7200f
No known key found for this signature in database
GPG Key ID: ECECF0D4F4816C81

View File

@ -436,9 +436,9 @@ namespace MediaBrowser.Model.Dlna
{ {
containerSupported = true; containerSupported = true;
videoSupported = videoStream != null && profile.SupportsVideoCodec(videoStream.Codec); videoSupported = videoStream == null || profile.SupportsVideoCodec(videoStream.Codec);
audioSupported = audioStream != null && profile.SupportsAudioCodec(audioStream.Codec); audioSupported = audioStream == null || profile.SupportsAudioCodec(audioStream.Codec);
if (videoSupported && audioSupported) if (videoSupported && audioSupported)
{ {
@ -447,18 +447,17 @@ namespace MediaBrowser.Model.Dlna
} }
} }
var list = new List<TranscodeReason>();
if (!containerSupported) if (!containerSupported)
{ {
reasons |= TranscodeReason.ContainerNotSupported; reasons |= TranscodeReason.ContainerNotSupported;
} }
if (videoStream != null && !videoSupported) if (!videoSupported)
{ {
reasons |= TranscodeReason.VideoCodecNotSupported; reasons |= TranscodeReason.VideoCodecNotSupported;
} }
if (audioStream != null && !audioSupported) if (!audioSupported)
{ {
reasons |= TranscodeReason.AudioCodecNotSupported; reasons |= TranscodeReason.AudioCodecNotSupported;
} }
@ -1182,14 +1181,18 @@ namespace MediaBrowser.Model.Dlna
} }
// Check audio codec // Check audio codec
var selectedAudioStream = candidateAudioStreams.FirstOrDefault(audioStream => directPlayProfile.SupportsAudioCodec(audioStream.Codec)); MediaStream selectedAudioStream = null;
if (selectedAudioStream == null) if (candidateAudioStreams.Any())
{ {
directPlayProfileReasons |= TranscodeReason.AudioCodecNotSupported; selectedAudioStream = candidateAudioStreams.FirstOrDefault(audioStream => directPlayProfile.SupportsAudioCodec(audioStream.Codec));
} if (selectedAudioStream == null)
else {
{ directPlayProfileReasons |= TranscodeReason.AudioCodecNotSupported;
audioCodecProfileReasons = audioStreamMatches.GetValueOrDefault(selectedAudioStream); }
else
{
audioCodecProfileReasons = audioStreamMatches.GetValueOrDefault(selectedAudioStream);
}
} }
var failureReasons = directPlayProfileReasons | containerProfileReasons | subtitleProfileReasons; var failureReasons = directPlayProfileReasons | containerProfileReasons | subtitleProfileReasons;