@ -492,52 +492,45 @@ namespace MediaBrowser.Model.Dlna
foreach ( var profile in directPlayProfiles )
{
if ( profile . Container . Length > 0 )
// Check container type
if ( profile . SupportsContainer ( item . Container ) )
{
// Check container type
string mediaContainer = item . Container ? ? string . Empty ;
foreach ( string i in profile . GetContainers ( ) )
containerSupported = true ;
if ( videoStream ! = null )
{
if ( StringHelper . EqualsIgnoreCase ( i , mediaContainer ) )
// Check video codec
List < string > videoCodecs = profile . GetVideoCodecs ( ) ;
if ( videoCodecs . Count > 0 )
{
containerSupported = true ;
if ( videoStream ! = null )
string videoCodec = videoStream . Codec ;
if ( ! string . IsNullOrEmpty ( videoCodec ) & & ListHelper . ContainsIgnoreCase ( videoCodecs , videoCodec ) )
{
// Check video codec
List < string > videoCodecs = profile . GetVideoCodecs ( ) ;
if ( videoCodecs . Count > 0 )
{
string videoCodec = videoStream . Codec ;
if ( ! string . IsNullOrEmpty ( videoCodec ) & & ListHelper . ContainsIgnoreCase ( videoCodecs , videoCodec ) )
{
videoSupported = true ;
}
}
else
{
videoSupported = true ;
}
videoSupported = true ;
}
}
else
{
videoSupported = true ;
}
}
if ( audioStream ! = null )
if ( audioStream ! = null )
{
// Check audio codec
List < string > audioCodecs = profile . GetAudioCodecs ( ) ;
if ( audioCodecs . Count > 0 )
{
string audioCodec = audioStream . Codec ;
if ( ! string . IsNullOrEmpty ( audioCodec ) & & ListHelper . ContainsIgnoreCase ( audioCodecs , audioCodec ) )
{
// Check audio codec
List < string > audioCodecs = profile . GetAudioCodecs ( ) ;
if ( audioCodecs . Count > 0 )
{
string audioCodec = audioStream . Codec ;
if ( ! string . IsNullOrEmpty ( audioCodec ) & & ListHelper . ContainsIgnoreCase ( audioCodecs , audioCodec ) )
{
audioSupported = true ;
}
}
else
{
audioSupported = true ;
}
audioSupported = true ;
}
}
else
{
audioSupported = true ;
}
}
}
}
@ -1538,23 +1531,10 @@ namespace MediaBrowser.Model.Dlna
private bool IsAudioDirectPlaySupported ( DirectPlayProfile profile , MediaSourceInfo item , MediaStream audioStream )
{
if ( profile . Container . Length > 0 )
// Check container type
if ( ! profile . SupportsContainer ( item . Container ) )
{
// Check container type
string mediaContainer = item . Container ? ? string . Empty ;
bool any = false ;
foreach ( string i in profile . GetContainers ( ) )
{
if ( StringHelper . EqualsIgnoreCase ( i , mediaContainer ) )
{
any = true ;
break ;
}
}
if ( ! any )
{
return false ;
}
return false ;
}
// Check audio codec
@ -1574,23 +1554,10 @@ namespace MediaBrowser.Model.Dlna
private bool IsVideoDirectPlaySupported ( DirectPlayProfile profile , MediaSourceInfo item , MediaStream videoStream , MediaStream audioStream )
{
if ( profile . Container . Length > 0 )
// Check container type
if ( ! profile . SupportsContainer ( item . Container ) )
{
// Check container type
string mediaContainer = item . Container ? ? string . Empty ;
bool any = false ;
foreach ( string i in profile . GetContainers ( ) )
{
if ( StringHelper . EqualsIgnoreCase ( i , mediaContainer ) )
{
any = true ;
break ;
}
}
if ( ! any )
{
return false ;
}
return false ;
}
// Check video codec