diff --git a/MediaBrowser.Common/MediaInfo/MediaInfoResult.cs b/MediaBrowser.Common/MediaInfo/MediaInfoResult.cs
index 6fcb40300..d9a666f30 100644
--- a/MediaBrowser.Common/MediaInfo/MediaInfoResult.cs
+++ b/MediaBrowser.Common/MediaInfo/MediaInfoResult.cs
@@ -74,6 +74,12 @@ namespace MediaBrowser.Common.MediaInfo
/// The channels.
public int channels { get; set; }
+ ///
+ /// Gets or sets the channel_layout.
+ ///
+ /// The channel_layout.
+ public string channel_layout { get; set; }
+
///
/// Gets or sets the avg_frame_rate.
///
diff --git a/MediaBrowser.Model/Entities/MediaStream.cs b/MediaBrowser.Model/Entities/MediaStream.cs
index 1703dbf05..5e85369b9 100644
--- a/MediaBrowser.Model/Entities/MediaStream.cs
+++ b/MediaBrowser.Model/Entities/MediaStream.cs
@@ -23,6 +23,12 @@ namespace MediaBrowser.Model.Entities
///
/// The type of the scan.
public string ScanType { get; set; }
+
+ ///
+ /// Gets or sets the channel layout.
+ ///
+ /// The channel layout.
+ public string ChannelLayout { get; set; }
///
/// Gets or sets the bit rate.
diff --git a/MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs b/MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs
index f65bf9ea3..a84310310 100644
--- a/MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/BaseFFProbeProvider.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.MediaInfo;
+using System.Linq;
+using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.MediaInfo;
@@ -201,6 +202,8 @@ namespace MediaBrowser.Providers.MediaInfo
{
stream.SampleRate = int.Parse(streamInfo.sample_rate, UsCulture);
}
+
+ stream.ChannelLayout = ParseChannelLayout(streamInfo.channel_layout);
}
else if (string.Equals(streamInfo.codec_type, "subtitle", StringComparison.OrdinalIgnoreCase))
{
@@ -249,6 +252,16 @@ namespace MediaBrowser.Providers.MediaInfo
return stream;
}
+ private string ParseChannelLayout(string input)
+ {
+ if (string.IsNullOrEmpty(input))
+ {
+ return input;
+ }
+
+ return input.Split('(').FirstOrDefault();
+ }
+
private string GetAspectRatio(MediaStreamInfo info)
{
var original = info.display_aspect_ratio;