mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-11 08:10:34 +02:00
rework samsung profile
This commit is contained in:
parent
85aa11e926
commit
ca37afb3a5
|
@ -1211,71 +1211,75 @@ namespace MediaBrowser.Api.Playback
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
request.DeviceId = val;
|
// Device profile name
|
||||||
}
|
}
|
||||||
else if (i == 1)
|
else if (i == 1)
|
||||||
{
|
{
|
||||||
request.MediaSourceId = val;
|
request.DeviceId = val;
|
||||||
}
|
}
|
||||||
else if (i == 2)
|
else if (i == 2)
|
||||||
{
|
{
|
||||||
request.Static = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
|
request.MediaSourceId = val;
|
||||||
}
|
}
|
||||||
else if (i == 3)
|
else if (i == 3)
|
||||||
|
{
|
||||||
|
request.Static = string.Equals("true", val, StringComparison.OrdinalIgnoreCase);
|
||||||
|
}
|
||||||
|
else if (i == 4)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
videoRequest.VideoCodec = (VideoCodecs)Enum.Parse(typeof(VideoCodecs), val, true);
|
videoRequest.VideoCodec = (VideoCodecs)Enum.Parse(typeof(VideoCodecs), val, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (i == 4)
|
else if (i == 5)
|
||||||
{
|
{
|
||||||
request.AudioCodec = (AudioCodecs)Enum.Parse(typeof(AudioCodecs), val, true);
|
request.AudioCodec = (AudioCodecs)Enum.Parse(typeof(AudioCodecs), val, true);
|
||||||
}
|
}
|
||||||
else if (i == 5)
|
else if (i == 6)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
videoRequest.AudioStreamIndex = int.Parse(val, UsCulture);
|
videoRequest.AudioStreamIndex = int.Parse(val, UsCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (i == 6)
|
else if (i == 7)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
videoRequest.SubtitleStreamIndex = int.Parse(val, UsCulture);
|
videoRequest.SubtitleStreamIndex = int.Parse(val, UsCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (i == 7)
|
else if (i == 8)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
videoRequest.VideoBitRate = int.Parse(val, UsCulture);
|
videoRequest.VideoBitRate = int.Parse(val, UsCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (i == 8)
|
else if (i == 9)
|
||||||
{
|
{
|
||||||
request.AudioBitRate = int.Parse(val, UsCulture);
|
request.AudioBitRate = int.Parse(val, UsCulture);
|
||||||
}
|
}
|
||||||
else if (i == 9)
|
else if (i == 10)
|
||||||
{
|
{
|
||||||
request.MaxAudioChannels = int.Parse(val, UsCulture);
|
request.MaxAudioChannels = int.Parse(val, UsCulture);
|
||||||
}
|
}
|
||||||
else if (i == 10)
|
else if (i == 11)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
request.StartTimeTicks = long.Parse(val, UsCulture);
|
request.StartTimeTicks = long.Parse(val, UsCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (i == 11)
|
else if (i == 12)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
videoRequest.Profile = val;
|
videoRequest.Profile = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (i == 12)
|
else if (i == 13)
|
||||||
{
|
{
|
||||||
if (videoRequest != null)
|
if (videoRequest != null)
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,6 +43,7 @@ namespace MediaBrowser.Controller.Dlna
|
||||||
public string ModelNumber { get; set; }
|
public string ModelNumber { get; set; }
|
||||||
public string ModelUrl { get; set; }
|
public string ModelUrl { get; set; }
|
||||||
public bool IgnoreTranscodeByteRangeRequests { get; set; }
|
public bool IgnoreTranscodeByteRangeRequests { get; set; }
|
||||||
|
public bool SupportsAlbumArtInDidl { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
|
/// Controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
|
||||||
|
|
|
@ -29,208 +29,8 @@ namespace MediaBrowser.Dlna
|
||||||
{
|
{
|
||||||
var list = new List<DeviceProfile>();
|
var list = new List<DeviceProfile>();
|
||||||
|
|
||||||
//list.Add(new DeviceProfile
|
list.Add(new SamsungSmartTvProfile());
|
||||||
//{
|
|
||||||
// Name = "Samsung TV (B Series)",
|
|
||||||
// ClientType = "DLNA",
|
|
||||||
|
|
||||||
// Identification = new DeviceIdentification
|
|
||||||
// {
|
|
||||||
// FriendlyName = "^TV$",
|
|
||||||
// ModelNumber = @"1\.0",
|
|
||||||
// ModelName = "Samsung DTV DMR"
|
|
||||||
// },
|
|
||||||
|
|
||||||
// TranscodingProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new TranscodingProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3",
|
|
||||||
// Type = DlnaProfileType.Audio,
|
|
||||||
// },
|
|
||||||
// new TranscodingProfile
|
|
||||||
// {
|
|
||||||
// Container = "ts",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// DirectPlayProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3",
|
|
||||||
// Type = DlnaProfileType.Audio,
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "avi",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp4",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// MediaProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="avi",
|
|
||||||
// MimeType = "video/x-msvideo",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="mkv",
|
|
||||||
// MimeType = "video/x-mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//});
|
|
||||||
|
|
||||||
//list.Add(new DeviceProfile
|
|
||||||
//{
|
|
||||||
// Name = "Samsung TV (E/F-series)",
|
|
||||||
// ClientType = "DLNA",
|
|
||||||
|
|
||||||
// Identification = new DeviceIdentification
|
|
||||||
// {
|
|
||||||
// FriendlyName = @"(^\[TV\][A-Z]{2}\d{2}(E|F)[A-Z]?\d{3,4}.*)|^\[TV\] Samsung|(^\[TV\]Samsung [A-Z]{2}\d{2}(E|F)[A-Z]?\d{3,4}.*)",
|
|
||||||
// ModelNumber = @"(1\.0)|(AllShare1\.0)"
|
|
||||||
// },
|
|
||||||
|
|
||||||
// TranscodingProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new TranscodingProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3",
|
|
||||||
// Type = DlnaProfileType.Audio
|
|
||||||
// },
|
|
||||||
// new TranscodingProfile
|
|
||||||
// {
|
|
||||||
// Container = "ts",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// DirectPlayProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3",
|
|
||||||
// Type = DlnaProfileType.Audio
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "avi",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp4",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// MediaProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="avi",
|
|
||||||
// MimeType = "video/x-msvideo",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="mkv",
|
|
||||||
// MimeType = "video/x-mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//});
|
|
||||||
|
|
||||||
//list.Add(new DeviceProfile
|
|
||||||
//{
|
|
||||||
// Name = "Samsung TV (C/D-series)",
|
|
||||||
// ClientType = "DLNA",
|
|
||||||
|
|
||||||
// Identification = new DeviceIdentification
|
|
||||||
// {
|
|
||||||
// FriendlyName = @"(^TV-\d{2}C\d{3}.*)|(^\[TV\][A-Z]{2}\d{2}(D)[A-Z]?\d{3,4}.*)|^\[TV\] Samsung",
|
|
||||||
// ModelNumber = @"(1\.0)|(AllShare1\.0)"
|
|
||||||
// },
|
|
||||||
|
|
||||||
// TranscodingProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new TranscodingProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3",
|
|
||||||
// Type = DlnaProfileType.Audio
|
|
||||||
// },
|
|
||||||
// new TranscodingProfile
|
|
||||||
// {
|
|
||||||
// Container = "ts",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// DirectPlayProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3",
|
|
||||||
// Type = DlnaProfileType.Audio
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "avi",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp4",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// MediaProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="avi",
|
|
||||||
// MimeType = "video/x-msvideo",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="mkv",
|
|
||||||
// MimeType = "video/x-mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//});
|
|
||||||
|
|
||||||
list.Add(new Xbox360Profile());
|
list.Add(new Xbox360Profile());
|
||||||
|
|
||||||
list.Add(new XboxOneProfile());
|
list.Add(new XboxOneProfile());
|
||||||
|
@ -245,87 +45,12 @@ namespace MediaBrowser.Dlna
|
||||||
|
|
||||||
list.Add(new PanasonicVieraProfile());
|
list.Add(new PanasonicVieraProfile());
|
||||||
|
|
||||||
//list.Add(new DeviceProfile
|
|
||||||
//{
|
|
||||||
// Name = "Philips (2010-)",
|
|
||||||
// ClientType = "DLNA",
|
|
||||||
|
|
||||||
// Identification = new DeviceIdentification
|
|
||||||
// {
|
|
||||||
// FriendlyName = ".*PHILIPS.*",
|
|
||||||
// ModelName = "WD TV HD Live"
|
|
||||||
// },
|
|
||||||
|
|
||||||
// DirectPlayProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3,wma",
|
|
||||||
// Type = DlnaProfileType.Audio
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "avi",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mkv",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
|
|
||||||
// MediaProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="avi",
|
|
||||||
// MimeType = "video/avi",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new MediaProfile
|
|
||||||
// {
|
|
||||||
// Container ="mkv",
|
|
||||||
// MimeType = "video/x-matroska",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//});
|
|
||||||
|
|
||||||
list.Add(new WdtvLiveProfile());
|
list.Add(new WdtvLiveProfile());
|
||||||
|
|
||||||
//list.Add(new DeviceProfile
|
|
||||||
//{
|
|
||||||
// // Linksys DMA2100us does not need any transcoding of the formats we support statically
|
|
||||||
// Name = "Linksys DMA2100",
|
|
||||||
// ClientType = "DLNA",
|
|
||||||
|
|
||||||
// Identification = new DeviceIdentification
|
|
||||||
// {
|
|
||||||
// ModelName = "DMA2100us"
|
|
||||||
// },
|
|
||||||
|
|
||||||
// DirectPlayProfiles = new[]
|
|
||||||
// {
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "mp3,flac,m4a,wma",
|
|
||||||
// Type = DlnaProfileType.Audio
|
|
||||||
// },
|
|
||||||
|
|
||||||
// new DirectPlayProfile
|
|
||||||
// {
|
|
||||||
// Container = "avi,mp4,mkv,ts",
|
|
||||||
// Type = DlnaProfileType.Video
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//});
|
|
||||||
|
|
||||||
list.Add(new DenonAvrProfile());
|
list.Add(new DenonAvrProfile());
|
||||||
|
|
||||||
|
list.Add(new LinksysDMA2100Profile());
|
||||||
|
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
//_xmlSerializer.SerializeToFile(item, "d:\\" + _fileSystem.GetValidFilename(item.Name) + ".xml");
|
//_xmlSerializer.SerializeToFile(item, "d:\\" + _fileSystem.GetValidFilename(item.Name) + ".xml");
|
||||||
|
|
|
@ -83,7 +83,9 @@
|
||||||
<Compile Include="PlayTo\uPnpNamespaces.cs" />
|
<Compile Include="PlayTo\uPnpNamespaces.cs" />
|
||||||
<Compile Include="Profiles\DefaultProfile.cs" />
|
<Compile Include="Profiles\DefaultProfile.cs" />
|
||||||
<Compile Include="Profiles\DenonAvrProfile.cs" />
|
<Compile Include="Profiles\DenonAvrProfile.cs" />
|
||||||
|
<Compile Include="Profiles\LinksysDMA2100Profile.cs" />
|
||||||
<Compile Include="Profiles\PanasonicVieraProfile.cs" />
|
<Compile Include="Profiles\PanasonicVieraProfile.cs" />
|
||||||
|
<Compile Include="Profiles\SamsungSmartTvProfile.cs" />
|
||||||
<Compile Include="Profiles\SonyBravia2010Profile.cs" />
|
<Compile Include="Profiles\SonyBravia2010Profile.cs" />
|
||||||
<Compile Include="Profiles\SonyBravia2011Profile.cs" />
|
<Compile Include="Profiles\SonyBravia2011Profile.cs" />
|
||||||
<Compile Include="Profiles\SonyBravia2012Profile.cs" />
|
<Compile Include="Profiles\SonyBravia2012Profile.cs" />
|
||||||
|
|
|
@ -6,6 +6,16 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
public DefaultProfile()
|
public DefaultProfile()
|
||||||
{
|
{
|
||||||
|
ProtocolInfo = "DLNA";
|
||||||
|
|
||||||
|
ClientType = "DLNA";
|
||||||
|
Manufacturer = "Media Browser";
|
||||||
|
ModelDescription = "Media Browser";
|
||||||
|
ModelName = "Media Browser";
|
||||||
|
ModelNumber = "Media Browser";
|
||||||
|
ModelUrl = "http://mediabrowser3.com/";
|
||||||
|
ManufacturerUrl = "http://mediabrowser3.com/";
|
||||||
|
|
||||||
TranscodingProfiles = new[]
|
TranscodingProfiles = new[]
|
||||||
{
|
{
|
||||||
new TranscodingProfile
|
new TranscodingProfile
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public DenonAvrProfile()
|
public DenonAvrProfile()
|
||||||
{
|
{
|
||||||
Name = "Denon AVR";
|
Name = "Denon AVR";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
33
MediaBrowser.Dlna/Profiles/LinksysDMA2100Profile.cs
Normal file
33
MediaBrowser.Dlna/Profiles/LinksysDMA2100Profile.cs
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
using MediaBrowser.Controller.Dlna;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Dlna.Profiles
|
||||||
|
{
|
||||||
|
public class LinksysDMA2100Profile : DefaultProfile
|
||||||
|
{
|
||||||
|
public LinksysDMA2100Profile()
|
||||||
|
{
|
||||||
|
// Linksys DMA2100us does not need any transcoding of the formats we support statically
|
||||||
|
Name = "Linksys DMA2100";
|
||||||
|
|
||||||
|
Identification = new DeviceIdentification
|
||||||
|
{
|
||||||
|
ModelName = "DMA2100us"
|
||||||
|
};
|
||||||
|
|
||||||
|
DirectPlayProfiles = new[]
|
||||||
|
{
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "mp3,flac,m4a,wma",
|
||||||
|
Type = DlnaProfileType.Audio
|
||||||
|
},
|
||||||
|
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "avi,mp4,mkv,ts",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public PanasonicVieraProfile()
|
public PanasonicVieraProfile()
|
||||||
{
|
{
|
||||||
Name = "Panasonic Viera";
|
Name = "Panasonic Viera";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
315
MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs
Normal file
315
MediaBrowser.Dlna/Profiles/SamsungSmartTvProfile.cs
Normal file
|
@ -0,0 +1,315 @@
|
||||||
|
using MediaBrowser.Controller.Dlna;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Dlna.Profiles
|
||||||
|
{
|
||||||
|
public class SamsungSmartTvProfile : DefaultProfile
|
||||||
|
{
|
||||||
|
public SamsungSmartTvProfile()
|
||||||
|
{
|
||||||
|
Name = "Samsung Smart TV";
|
||||||
|
|
||||||
|
SupportsAlbumArtInDidl = true;
|
||||||
|
|
||||||
|
Identification = new DeviceIdentification
|
||||||
|
{
|
||||||
|
ModelUrl = "samsung.com"
|
||||||
|
};
|
||||||
|
|
||||||
|
TranscodingProfiles = new[]
|
||||||
|
{
|
||||||
|
new TranscodingProfile
|
||||||
|
{
|
||||||
|
Container = "mp3",
|
||||||
|
AudioCodec = "mp3",
|
||||||
|
Type = DlnaProfileType.Audio
|
||||||
|
},
|
||||||
|
new TranscodingProfile
|
||||||
|
{
|
||||||
|
Container = "ts",
|
||||||
|
AudioCodec = "ac3",
|
||||||
|
VideoCodec = "h264",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new TranscodingProfile
|
||||||
|
{
|
||||||
|
Container = "jpeg",
|
||||||
|
Type = DlnaProfileType.Photo
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
DirectPlayProfiles = new[]
|
||||||
|
{
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "asf",
|
||||||
|
VideoCodec = "h264,mpeg4,mjpeg",
|
||||||
|
AudioCodec = "mp3,ac3,wmav2,wmapro,wmavoice",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "avi",
|
||||||
|
VideoCodec = "h264,mpeg4,mjpeg",
|
||||||
|
AudioCodec = "mp3,ac3,dca",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "mkv",
|
||||||
|
VideoCodec = "h264,mpeg4,mjpeg4",
|
||||||
|
AudioCodec = "mp3,ac3,dca,aac",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "mp4",
|
||||||
|
VideoCodec = "h264,mpeg4",
|
||||||
|
AudioCodec = "mp3,aac",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "3gpp",
|
||||||
|
VideoCodec = "h264,mpeg4",
|
||||||
|
AudioCodec = "aac,he-aac",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "mpg,mpeg",
|
||||||
|
VideoCodec = "mpeg1video,mpeg2video,h264",
|
||||||
|
AudioCodec = "ac3,mp2,mp3,aac",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "vro,vob",
|
||||||
|
VideoCodec = "mpeg1video,mpeg2video",
|
||||||
|
AudioCodec = "ac3,mp2,mp3",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "ts",
|
||||||
|
VideoCodec = "mpeg2video,h264,vc1",
|
||||||
|
AudioCodec = "ac3,aac,mp3,eac3",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "asf",
|
||||||
|
VideoCodec = "wmv2,wmv3",
|
||||||
|
AudioCodec = "wmav2,wmavoice",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "mp3",
|
||||||
|
AudioCodec = "mp3",
|
||||||
|
Type = DlnaProfileType.Audio
|
||||||
|
},
|
||||||
|
new DirectPlayProfile
|
||||||
|
{
|
||||||
|
Container = "jpeg",
|
||||||
|
Type = DlnaProfileType.Photo
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ContainerProfiles = new[]
|
||||||
|
{
|
||||||
|
new ContainerProfile
|
||||||
|
{
|
||||||
|
Type = DlnaProfileType.Photo,
|
||||||
|
|
||||||
|
Conditions = new []
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
CodecProfiles = new[]
|
||||||
|
{
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.VideoCodec,
|
||||||
|
Codec = "mpeg2video",
|
||||||
|
|
||||||
|
Conditions = new[]
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoFramerate,
|
||||||
|
Value = "30"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitrate,
|
||||||
|
Value = "30720000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.VideoCodec,
|
||||||
|
Codec = "mpeg4",
|
||||||
|
|
||||||
|
Conditions = new[]
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoFramerate,
|
||||||
|
Value = "30"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitrate,
|
||||||
|
Value = "8192000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.VideoCodec,
|
||||||
|
Codec = "h264",
|
||||||
|
|
||||||
|
Conditions = new[]
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoFramerate,
|
||||||
|
Value = "30"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitrate,
|
||||||
|
Value = "37500000"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoLevel,
|
||||||
|
Value = "41"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.VideoCodec,
|
||||||
|
Codec = "wmv2,wmv3,vc1",
|
||||||
|
|
||||||
|
Conditions = new[]
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Width,
|
||||||
|
Value = "1920"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.Height,
|
||||||
|
Value = "1080"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoFramerate,
|
||||||
|
Value = "30"
|
||||||
|
},
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.VideoBitrate,
|
||||||
|
Value = "25600000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
new CodecProfile
|
||||||
|
{
|
||||||
|
Type = CodecType.VideoAudioCodec,
|
||||||
|
Codec = "ac3,wmav2,dca,aac,mp3",
|
||||||
|
|
||||||
|
Conditions = new[]
|
||||||
|
{
|
||||||
|
new ProfileCondition
|
||||||
|
{
|
||||||
|
Condition = ProfileConditionType.LessThanEqual,
|
||||||
|
Property = ProfileConditionValue.AudioChannels,
|
||||||
|
Value = "6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
MediaProfiles = new[]
|
||||||
|
{
|
||||||
|
new MediaProfile
|
||||||
|
{
|
||||||
|
Container = "mkv",
|
||||||
|
MimeType = "video/x-mkv",
|
||||||
|
Type = DlnaProfileType.Video
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public SonyBravia2010Profile()
|
public SonyBravia2010Profile()
|
||||||
{
|
{
|
||||||
Name = "Sony Bravia (2010)";
|
Name = "Sony Bravia (2010)";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public SonyBravia2011Profile()
|
public SonyBravia2011Profile()
|
||||||
{
|
{
|
||||||
Name = "Sony Bravia (2011)";
|
Name = "Sony Bravia (2011)";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public SonyBravia2012Profile()
|
public SonyBravia2012Profile()
|
||||||
{
|
{
|
||||||
Name = "Sony Bravia (2012)";
|
Name = "Sony Bravia (2012)";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public SonyBravia2013Profile()
|
public SonyBravia2013Profile()
|
||||||
{
|
{
|
||||||
Name = "Sony Bravia (2013)";
|
Name = "Sony Bravia (2013)";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public WdtvLiveProfile()
|
public WdtvLiveProfile()
|
||||||
{
|
{
|
||||||
Name = "WDTV Live";
|
Name = "WDTV Live";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
TimelineOffsetSeconds = 5;
|
TimelineOffsetSeconds = 5;
|
||||||
IgnoreTranscodeByteRangeRequests = true;
|
IgnoreTranscodeByteRangeRequests = true;
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using MediaBrowser.Controller.Dlna;
|
using MediaBrowser.Controller.Dlna;
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Dlna.Profiles
|
namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
|
@ -8,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public Xbox360Profile()
|
public Xbox360Profile()
|
||||||
{
|
{
|
||||||
Name = "Xbox 360";
|
Name = "Xbox 360";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
ModelName = "Windows Media Player Sharing";
|
ModelName = "Windows Media Player Sharing";
|
||||||
ModelNumber = "12.0";
|
ModelNumber = "12.0";
|
||||||
|
|
|
@ -7,7 +7,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
public XboxOneProfile()
|
public XboxOneProfile()
|
||||||
{
|
{
|
||||||
Name = "Xbox One";
|
Name = "Xbox One";
|
||||||
ClientType = "DLNA";
|
|
||||||
|
|
||||||
Identification = new DeviceIdentification
|
Identification = new DeviceIdentification
|
||||||
{
|
{
|
||||||
|
@ -38,11 +37,6 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "mp3",
|
Container = "mp3",
|
||||||
Type = DlnaProfileType.Audio
|
Type = DlnaProfileType.Audio
|
||||||
},
|
|
||||||
new DirectPlayProfile
|
|
||||||
{
|
|
||||||
Container = "avi",
|
|
||||||
Type = DlnaProfileType.Video
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue