diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-04-08 22:12:17 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-04-08 22:12:17 -0400 |
| commit | d1a9d42eaf486b84e7d77ace69a9607fca76c317 (patch) | |
| tree | 9d7d7c22ebd83062cca6a6e9ef368e5631b7c717 /MediaBrowser.Dlna | |
| parent | 389d0ec7fdb05259a2b808b6733a1977f482268c (diff) | |
update translations
Diffstat (limited to 'MediaBrowser.Dlna')
| -rw-r--r-- | MediaBrowser.Dlna/PlayTo/DidlBuilder.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Dlna/Profiles/WindowsMediaCenterProfile.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Dlna/Profiles/Xbox360Profile.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Dlna/Profiles/XboxOneProfile.cs | 210 | ||||
| -rw-r--r-- | MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml | 2 | ||||
| -rw-r--r-- | MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml | 58 |
6 files changed, 273 insertions, 14 deletions
diff --git a/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs b/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs index 95622f3f7d..853064c606 100644 --- a/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs +++ b/MediaBrowser.Dlna/PlayTo/DidlBuilder.cs @@ -105,7 +105,12 @@ namespace MediaBrowser.Dlna.PlayTo return string.Empty; } - return string.Format(DIDL_VIDEO_RES, videostream.BitRate.HasValue ? videostream.BitRate.Value / 10 : 0, GetDurationString(dto), videostream.Width ?? 0, videostream.Height ?? 0, streamUrl); + return string.Format(DIDL_VIDEO_RES, + videostream.BitRate.HasValue ? videostream.BitRate.Value / 10 : 0, + GetDurationString(dto), + videostream.Width ?? 0, + videostream.Height ?? 0, + streamUrl); } private static string GetAudioDIDL(BaseItem dto, string streamUrl, IEnumerable<MediaStream> streams) @@ -118,7 +123,11 @@ namespace MediaBrowser.Dlna.PlayTo return string.Empty; } - return string.Format(DIDL_AUDIO_RES, audiostream.BitRate.HasValue ? audiostream.BitRate.Value / 10 : 16000, GetDurationString(dto), audiostream.SampleRate ?? 0, streamUrl); + return string.Format(DIDL_AUDIO_RES, + audiostream.BitRate.HasValue ? audiostream.BitRate.Value / 10 : 16000, + GetDurationString(dto), + audiostream.SampleRate ?? 0, + streamUrl); } private static string GetImageUrl(BaseItem dto, string serverAddress) diff --git a/MediaBrowser.Dlna/Profiles/WindowsMediaCenterProfile.cs b/MediaBrowser.Dlna/Profiles/WindowsMediaCenterProfile.cs index fe9a7e155a..f7251ece08 100644 --- a/MediaBrowser.Dlna/Profiles/WindowsMediaCenterProfile.cs +++ b/MediaBrowser.Dlna/Profiles/WindowsMediaCenterProfile.cs @@ -97,7 +97,7 @@ namespace MediaBrowser.Dlna.Profiles { new ProfileCondition { - Condition = ProfileConditionType.LessThanEqual, + Condition = ProfileConditionType.Equals, Property = ProfileConditionValue.Has64BitOffsets, Value = "false", IsRequired = false diff --git a/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs b/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs index 5045301cb2..d3e9921d70 100644 --- a/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs +++ b/MediaBrowser.Dlna/Profiles/Xbox360Profile.cs @@ -126,7 +126,7 @@ namespace MediaBrowser.Dlna.Profiles { new ProfileCondition { - Condition = ProfileConditionType.LessThanEqual, + Condition = ProfileConditionType.Equals, Property = ProfileConditionValue.Has64BitOffsets, Value = "false", IsRequired = false diff --git a/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs b/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs index bce789f39d..d6e1a5f3be 100644 --- a/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs +++ b/MediaBrowser.Dlna/Profiles/XboxOneProfile.cs @@ -9,6 +9,7 @@ namespace MediaBrowser.Dlna.Profiles public XboxOneProfile() { Name = "Xbox One"; + XDlnaDoc = "DMS-1.50"; Identification = new DeviceIdentification { @@ -28,8 +29,9 @@ namespace MediaBrowser.Dlna.Profiles { Container = "ts", VideoCodec = "h264", - AudioCodec = "aac", - Type = DlnaProfileType.Video + AudioCodec = "ac3", + Type = DlnaProfileType.Video, + EstimateContentLength = true } }; @@ -37,17 +39,217 @@ namespace MediaBrowser.Dlna.Profiles { new DirectPlayProfile { - Container = "mp3,wma", + Container = "ts", + VideoCodec = "h264", + AudioCodec = "ac3", + Type = DlnaProfileType.Video + }, + new DirectPlayProfile + { + Container = "avi", + VideoCodec = "mpeg4", + AudioCodec = "ac3,mp3", + Type = DlnaProfileType.Video + }, + new DirectPlayProfile + { + Container = "avi", + VideoCodec = "h264", + AudioCodec = "aac", + Type = DlnaProfileType.Video + }, + new DirectPlayProfile + { + Container = "mp4,mov,mkv", + VideoCodec = "h264,mpeg4", + AudioCodec = "aac,ac3", + Type = DlnaProfileType.Video + }, + new DirectPlayProfile + { + Container = "asf", + VideoCodec = "wmv2,wmv3,vc1", + AudioCodec = "wmav2,wmapro", + Type = DlnaProfileType.Video + }, + new DirectPlayProfile + { + Container = "asf", + AudioCodec = "wmav2,wmapro,wmavoice", Type = DlnaProfileType.Audio + }, + new DirectPlayProfile + { + Container = "mp3", + AudioCodec = "mp3", + Type = DlnaProfileType.Audio + }, + new DirectPlayProfile + { + Container = "jpeg", + Type = DlnaProfileType.Photo } }; + ContainerProfiles = new[] + { + new ContainerProfile + { + Type = DlnaProfileType.Video, + Container = "mp4,mov", + + Conditions = new [] + { + new ProfileCondition + { + Condition = ProfileConditionType.Equals, + Property = ProfileConditionValue.Has64BitOffsets, + Value = "false", + IsRequired = false + } + } + } + }; + + CodecProfiles = new[] + { + new CodecProfile + { + Type = CodecType.Video, + 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", + IsRequired = false + }, + new ProfileCondition + { + Condition = ProfileConditionType.LessThanEqual, + Property = ProfileConditionValue.VideoBitrate, + Value = "5120000", + IsRequired = false + } + } + }, + + new CodecProfile + { + Type = CodecType.Video, + 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 CodecProfile + { + Type = CodecType.Video, + 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", + IsRequired = false + }, + new ProfileCondition + { + Condition = ProfileConditionType.LessThanEqual, + Property = ProfileConditionValue.VideoBitrate, + Value = "15360000", + IsRequired = false + } + } + }, + + new CodecProfile + { + Type = CodecType.VideoAudio, + Codec = "ac3,wmav2,wmapro", + Conditions = new [] + { + new ProfileCondition + { + Condition = ProfileConditionType.LessThanEqual, + Property = ProfileConditionValue.AudioChannels, + Value = "6", + IsRequired = false + } + } + }, + + new CodecProfile + { + Type = CodecType.VideoAudio, + Codec = "aac", + Conditions = new [] + { + new ProfileCondition + { + Condition = ProfileConditionType.LessThanEqual, + Property = ProfileConditionValue.AudioChannels, + Value = "2", + IsRequired = false + }, + new ProfileCondition + { + Condition = ProfileConditionType.Equals, + Property = ProfileConditionValue.AudioProfile, + Value = "lc", + IsRequired = false + } + } + } + }; + ResponseProfiles = new[] { new ResponseProfile { Container = "avi", - MimeType = "video/x-msvideo", + MimeType = "video/avi", Type = DlnaProfileType.Video } }; diff --git a/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml b/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml index ddbe7af429..a2b3a3b29e 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Xbox 360.xml @@ -40,7 +40,7 @@ <ContainerProfiles> <ContainerProfile type="Video" container="mp4,mov"> <Conditions> - <ProfileCondition condition="LessThanEqual" property="Has64BitOffsets" value="false" isRequired="false" /> + <ProfileCondition condition="Equals" property="Has64BitOffsets" value="false" isRequired="false" /> </Conditions> </ContainerProfile> <ContainerProfile type="Photo"> diff --git a/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml b/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml index aa2081dc0d..9ceeb2c6c1 100644 --- a/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml +++ b/MediaBrowser.Dlna/Profiles/Xml/Xbox One.xml @@ -16,21 +16,69 @@ <IgnoreTranscodeByteRangeRequests>false</IgnoreTranscodeByteRangeRequests> <EnableAlbumArtInDidl>false</EnableAlbumArtInDidl> <SupportedMediaTypes>Audio,Photo,Video</SupportedMediaTypes> + <XDlnaDoc>DMS-1.50</XDlnaDoc> <ProtocolInfo>DLNA</ProtocolInfo> <TimelineOffsetSeconds>0</TimelineOffsetSeconds> <RequiresPlainVideoItems>false</RequiresPlainVideoItems> <RequiresPlainFolders>false</RequiresPlainFolders> <DirectPlayProfiles> - <DirectPlayProfile container="mp3,wma" type="Audio" /> + <DirectPlayProfile container="ts" audioCodec="ac3" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="ac3,mp3" videoCodec="mpeg4" type="Video" /> + <DirectPlayProfile container="avi" audioCodec="aac" videoCodec="h264" type="Video" /> + <DirectPlayProfile container="mp4,mov,mkv" audioCodec="aac,ac3" videoCodec="h264,mpeg4" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="wmv2,wmv3,vc1" type="Video" /> + <DirectPlayProfile container="asf" audioCodec="wmav2,wmapro,wmavoice" type="Audio" /> + <DirectPlayProfile container="mp3" audioCodec="mp3" type="Audio" /> + <DirectPlayProfile container="jpeg" type="Photo" /> </DirectPlayProfiles> <TranscodingProfiles> <TranscodingProfile container="mp3" type="Audio" audioCodec="mp3" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" /> - <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="aac" estimateContentLength="false" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" /> + <TranscodingProfile container="ts" type="Video" videoCodec="h264" audioCodec="ac3" estimateContentLength="true" enableMpegtsM2TsMode="false" transcodeSeekInfo="Auto" /> </TranscodingProfiles> - <ContainerProfiles /> - <CodecProfiles /> + <ContainerProfiles> + <ContainerProfile type="Video" container="mp4,mov"> + <Conditions> + <ProfileCondition condition="Equals" property="Has64BitOffsets" value="false" isRequired="false" /> + </Conditions> + </ContainerProfile> + </ContainerProfiles> + <CodecProfiles> + <CodecProfile type="Video" codec="mpeg4"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="5120000" isRequired="false" /> + </Conditions> + </CodecProfile> + <CodecProfile type="Video" codec="h264"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + </Conditions> + </CodecProfile> + <CodecProfile type="Video" codec="wmv2,wmv3,vc1"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="Width" value="1920" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="Height" value="1080" isRequired="true" /> + <ProfileCondition condition="LessThanEqual" property="VideoFramerate" value="30" isRequired="false" /> + <ProfileCondition condition="LessThanEqual" property="VideoBitrate" value="15360000" isRequired="false" /> + </Conditions> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="ac3,wmav2,wmapro"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="false" /> + </Conditions> + </CodecProfile> + <CodecProfile type="VideoAudio" codec="aac"> + <Conditions> + <ProfileCondition condition="LessThanEqual" property="AudioChannels" value="2" isRequired="false" /> + <ProfileCondition condition="Equals" property="AudioProfile" value="lc" isRequired="false" /> + </Conditions> + </CodecProfile> + </CodecProfiles> <ResponseProfiles> - <ResponseProfile container="avi" type="Video" mimeType="video/x-msvideo"> + <ResponseProfile container="avi" type="Video" mimeType="video/avi"> <Conditions /> </ResponseProfile> </ResponseProfiles> |
