jellyfin/MediaBrowser.Controller/Dlna/TranscodingProfile.cs

64 lines
1.5 KiB
C#
Raw Normal View History

2014-03-25 06:25:03 +01:00
using System.Collections.Generic;
using System.Linq;
2014-03-26 16:06:48 +01:00
using System.Xml.Serialization;
2014-03-25 06:25:03 +01:00
2014-03-13 20:08:02 +01:00
namespace MediaBrowser.Controller.Dlna
{
public class TranscodingProfile
{
2014-03-26 16:06:48 +01:00
[XmlAttribute("container")]
2014-03-13 20:08:02 +01:00
public string Container { get; set; }
2014-03-26 16:06:48 +01:00
[XmlAttribute("type")]
2014-03-13 20:08:02 +01:00
public DlnaProfileType Type { get; set; }
2014-03-26 16:06:48 +01:00
[XmlAttribute("videoCodec")]
2014-03-13 20:08:02 +01:00
public string VideoCodec { get; set; }
2014-03-26 16:06:48 +01:00
[XmlAttribute("audioCodec")]
2014-03-13 20:08:02 +01:00
public string AudioCodec { get; set; }
2014-03-18 02:45:41 +01:00
2014-03-26 16:06:48 +01:00
[XmlAttribute("estimateContentLength")]
2014-03-23 01:48:34 +01:00
public bool EstimateContentLength { get; set; }
2014-03-26 16:06:48 +01:00
[XmlAttribute("enableMpegtsM2TsMode")]
2014-03-25 06:25:03 +01:00
public bool EnableMpegtsM2TsMode { get; set; }
2014-03-26 16:06:48 +01:00
[XmlAttribute("transcodeSeekInfo")]
2014-03-23 01:48:34 +01:00
public TranscodeSeekInfo TranscodeSeekInfo { get; set; }
2014-03-23 17:42:02 +01:00
public TranscodingSetting[] Settings { get; set; }
2014-03-18 02:45:41 +01:00
public TranscodingProfile()
{
2014-03-23 17:42:02 +01:00
Settings = new TranscodingSetting[] { };
2014-03-18 02:45:41 +01:00
}
2014-03-23 17:42:02 +01:00
2014-03-25 06:25:03 +01:00
public List<string> GetAudioCodecs()
{
return (AudioCodec ?? string.Empty).Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).ToList();
}
2014-03-18 02:45:41 +01:00
}
public class TranscodingSetting
{
2014-03-26 16:06:48 +01:00
[XmlAttribute("name")]
2014-03-18 02:45:41 +01:00
public TranscodingSettingType Name { get; set; }
2014-03-26 16:06:48 +01:00
[XmlAttribute("value")]
2014-03-18 02:45:41 +01:00
public string Value { get; set; }
}
public enum TranscodingSettingType
{
2014-03-24 18:54:45 +01:00
VideoProfile = 0
2014-03-23 01:48:34 +01:00
}
public enum TranscodeSeekInfo
{
Auto = 0,
Bytes = 1
2014-03-13 20:08:02 +01:00
}
}