added media profiles

This commit is contained in:
Luke Pulverenti
2014-03-22 15:37:15 -04:00
parent 76fe96e3e3
commit bd7486b952
10 changed files with 317 additions and 120 deletions

View File

@@ -67,5 +67,12 @@ namespace MediaBrowser.Controller.Dlna
{
public string Name { get; set; }
public string Value { get; set; }
public HeaderMatchType Match { get; set; }
}
public enum HeaderMatchType
{
Equals = 0,
Substring = 1
}
}

View File

@@ -55,10 +55,13 @@ namespace MediaBrowser.Controller.Dlna
public string ProtocolInfo { get; set; }
public MediaProfile[] MediaProfiles { get; set; }
public DeviceProfile()
{
DirectPlayProfiles = new DirectPlayProfile[] { };
TranscodingProfiles = new TranscodingProfile[] { };
MediaProfiles = new MediaProfile[] { };
}
}
}

View File

@@ -1,60 +1,13 @@
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace MediaBrowser.Controller.Dlna
{
public class DirectPlayProfile
{
public string Container { get; set; }
public string AudioCodec { get; set; }
public string VideoCodec { get; set; }
public string[] Containers { get; set; }
public string[] AudioCodecs { get; set; }
public string[] VideoCodecs { get; set; }
[IgnoreDataMember]
[XmlIgnore]
public string[] Containers
{
get
{
return (Container ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
}
set
{
Container = value == null ? null : string.Join(",", value);
}
}
[IgnoreDataMember]
[XmlIgnore]
public string[] AudioCodecs
{
get
{
return (AudioCodec ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
}
set
{
AudioCodec = value == null ? null : string.Join(",", value);
}
}
[IgnoreDataMember]
[XmlIgnore]
public string[] VideoCodecs
{
get
{
return (VideoCodec ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
}
set
{
VideoCodec = value == null ? null : string.Join(",", value);
}
}
public string OrgPn { get; set; }
public string MimeType { get; set; }
public DlnaProfileType Type { get; set; }
public List<ProfileCondition> Conditions { get; set; }
@@ -62,6 +15,10 @@ namespace MediaBrowser.Controller.Dlna
public DirectPlayProfile()
{
Conditions = new List<ProfileCondition>();
AudioCodecs = new string[] { };
VideoCodecs = new string[] { };
Containers = new string[] { };
}
}
@@ -95,6 +52,7 @@ namespace MediaBrowser.Controller.Dlna
VideoWidth,
VideoHeight,
VideoBitrate,
VideoFramerate
VideoFramerate,
VideoLevel
}
}

View File

@@ -0,0 +1,20 @@

namespace MediaBrowser.Controller.Dlna
{
public class MediaProfile
{
public string Container { get; set; }
public string[] AudioCodecs { get; set; }
public string[] VideoCodecs { get; set; }
public DlnaProfileType Type { get; set; }
public string OrgPn { get; set; }
public string MimeType { get; set; }
public MediaProfile()
{
AudioCodecs = new string[] { };
VideoCodecs = new string[] { };
}
}
}

View File

@@ -8,12 +8,7 @@ namespace MediaBrowser.Controller.Dlna
public DlnaProfileType Type { get; set; }
public string MimeType { get; set; }
public string OrgPn { get; set; }
public string VideoCodec { get; set; }
public string AudioCodec { get; set; }
public List<TranscodingSetting> Settings { get; set; }

View File

@@ -82,6 +82,7 @@
<Compile Include="Dlna\DirectPlayProfile.cs" />
<Compile Include="Dlna\IDlnaManager.cs" />
<Compile Include="Dlna\DeviceProfile.cs" />
<Compile Include="Dlna\MediaProfile.cs" />
<Compile Include="Dlna\TranscodingProfile.cs" />
<Compile Include="Drawing\IImageProcessor.cs" />
<Compile Include="Drawing\ImageFormat.cs" />