|
|
|
@ -146,7 +146,44 @@ namespace MediaBrowser.MediaEncoding.Probing
|
|
|
|
|
// string.Equals(stream.AspectRatio, "2.35:1", StringComparison.OrdinalIgnoreCase) ||
|
|
|
|
|
// string.Equals(stream.AspectRatio, "2.40:1", StringComparison.OrdinalIgnoreCase);
|
|
|
|
|
|
|
|
|
|
stream.IsAnamorphic = string.Equals(streamInfo.sample_aspect_ratio, "0:1", StringComparison.OrdinalIgnoreCase);
|
|
|
|
|
if (string.Equals(streamInfo.sample_aspect_ratio, "1:1", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = false;
|
|
|
|
|
}
|
|
|
|
|
else if (!((string.IsNullOrWhiteSpace(streamInfo.sample_aspect_ratio) || string.Equals(streamInfo.sample_aspect_ratio, "0:1", StringComparison.OrdinalIgnoreCase))))
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = true;
|
|
|
|
|
}
|
|
|
|
|
else if (string.IsNullOrWhiteSpace(streamInfo.display_aspect_ratio) || string.Equals(streamInfo.display_aspect_ratio, "0:1", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var ratioParts = streamInfo.display_aspect_ratio.Split(':');
|
|
|
|
|
if (ratioParts.Length != 2)
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
int ratio0;
|
|
|
|
|
int ratio1;
|
|
|
|
|
if (!Int32.TryParse(ratioParts[0], NumberStyles.Any, CultureInfo.InvariantCulture, out ratio0))
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = false;
|
|
|
|
|
}
|
|
|
|
|
else if (!Int32.TryParse(ratioParts[1], NumberStyles.Any, CultureInfo.InvariantCulture, out ratio1))
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = false;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
stream.IsAnamorphic = ((streamInfo.width * ratio1) != (stream.Height * ratio0));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|