commit
9bf6423291
|
@ -768,6 +768,7 @@ namespace MediaBrowser.Controller.Providers
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "TMDbCollectionId":
|
case "TMDbCollectionId":
|
||||||
|
case "CollectionNumber":
|
||||||
var tmdbCollection = reader.ReadElementContentAsString();
|
var tmdbCollection = reader.ReadElementContentAsString();
|
||||||
if (!string.IsNullOrWhiteSpace(tmdbCollection))
|
if (!string.IsNullOrWhiteSpace(tmdbCollection))
|
||||||
{
|
{
|
||||||
|
|
|
@ -66,7 +66,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
VideoCodec = "h264,mpeg2video",
|
VideoCodec = "h264,mpeg2video",
|
||||||
AudioCodec = "aac,ac3,dca,mp3,mp2,pcm",
|
AudioCodec = "aac,ac3,dca,mp3,mp2,pcm,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -65,14 +65,14 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "avi",
|
Container = "avi",
|
||||||
VideoCodec = "h264,mpeg4,mjpeg",
|
VideoCodec = "h264,mpeg4,mjpeg",
|
||||||
AudioCodec = "mp3,ac3,dca",
|
AudioCodec = "mp3,ac3,dca,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
{
|
{
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
VideoCodec = "h264,mpeg4,mjpeg4",
|
VideoCodec = "h264,mpeg4,mjpeg4",
|
||||||
AudioCodec = "mp3,ac3,dca,aac",
|
AudioCodec = "mp3,ac3,dca,aac,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
@ -300,7 +300,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
new CodecProfile
|
new CodecProfile
|
||||||
{
|
{
|
||||||
Type = CodecType.VideoAudio,
|
Type = CodecType.VideoAudio,
|
||||||
Codec = "ac3,wmav2,dca,aac,mp3",
|
Codec = "ac3,wmav2,dca,aac,mp3,dts",
|
||||||
|
|
||||||
Conditions = new[]
|
Conditions = new[]
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,7 +115,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
VideoCodec = "mpeg4,h264",
|
VideoCodec = "mpeg4,h264",
|
||||||
AudioCodec = "ac3,dca,aac,mp3,pcm",
|
AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
|
|
@ -115,7 +115,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
VideoCodec = "mpeg4,h264",
|
VideoCodec = "mpeg4,h264",
|
||||||
AudioCodec = "ac3,dca,aac,mp3,pcm",
|
AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
|
|
@ -103,7 +103,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
VideoCodec = "mpeg4,h264",
|
VideoCodec = "mpeg4,h264",
|
||||||
AudioCodec = "ac3,dca,aac,mp3,pcm",
|
AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
|
|
@ -103,7 +103,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
{
|
{
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
VideoCodec = "mpeg4,h264",
|
VideoCodec = "mpeg4,h264",
|
||||||
AudioCodec = "ac3,dca,aac,mp3,pcm",
|
AudioCodec = "ac3,dca,aac,mp3,pcm,dts",
|
||||||
Type = DlnaProfileType.Video
|
Type = DlnaProfileType.Video
|
||||||
},
|
},
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
|
|
@ -58,7 +58,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Container = "avi",
|
Container = "avi",
|
||||||
Type = DlnaProfileType.Video,
|
Type = DlnaProfileType.Video,
|
||||||
VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
|
VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
|
||||||
AudioCodec = "ac3,dca,mp2,mp3,pcm,dca"
|
AudioCodec = "ac3,dca,mp2,mp3,pcm,dts"
|
||||||
},
|
},
|
||||||
|
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
@ -66,7 +66,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Container = "mpeg",
|
Container = "mpeg",
|
||||||
Type = DlnaProfileType.Video,
|
Type = DlnaProfileType.Video,
|
||||||
VideoCodec = "mpeg1video,mpeg2video",
|
VideoCodec = "mpeg1video,mpeg2video",
|
||||||
AudioCodec = "ac3,dca,mp2,mp3,pcm,dca"
|
AudioCodec = "ac3,dca,mp2,mp3,pcm,dts"
|
||||||
},
|
},
|
||||||
|
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
@ -74,7 +74,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Container = "mkv",
|
Container = "mkv",
|
||||||
Type = DlnaProfileType.Video,
|
Type = DlnaProfileType.Video,
|
||||||
VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
|
VideoCodec = "mpeg1video,mpeg2video,mpeg4,h264,vc1",
|
||||||
AudioCodec = "ac3,dca,aac,mp2,mp3,pcm,dca"
|
AudioCodec = "ac3,dca,aac,mp2,mp3,pcm,dts"
|
||||||
},
|
},
|
||||||
|
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
@ -82,7 +82,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Container = "ts,m2ts",
|
Container = "ts,m2ts",
|
||||||
Type = DlnaProfileType.Video,
|
Type = DlnaProfileType.Video,
|
||||||
VideoCodec = "mpeg1video,mpeg2video,h264,vc1",
|
VideoCodec = "mpeg1video,mpeg2video,h264,vc1",
|
||||||
AudioCodec = "ac3,dca,mp2,mp3,aac,dca"
|
AudioCodec = "ac3,dca,mp2,mp3,aac,dts"
|
||||||
},
|
},
|
||||||
|
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
@ -90,7 +90,7 @@ namespace MediaBrowser.Dlna.Profiles
|
||||||
Container = "mp4,mov",
|
Container = "mp4,mov",
|
||||||
Type = DlnaProfileType.Video,
|
Type = DlnaProfileType.Video,
|
||||||
VideoCodec = "h264,mpeg4",
|
VideoCodec = "h264,mpeg4",
|
||||||
AudioCodec = "ac3,aac,mp2,mp3,dca"
|
AudioCodec = "ac3,aac,mp2,mp3,dca,dts"
|
||||||
},
|
},
|
||||||
|
|
||||||
new DirectPlayProfile
|
new DirectPlayProfile
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
</XmlRootAttributes>
|
</XmlRootAttributes>
|
||||||
<DirectPlayProfiles>
|
<DirectPlayProfiles>
|
||||||
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" />
|
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,pcm_dvd" videoCodec="mpeg2video,mpeg4" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,pcm" videoCodec="h264,mpeg2video" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="aac,ac3,dca,mp3,mp2,pcm,dts" videoCodec="h264,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="ts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" />
|
<DirectPlayProfile container="ts" audioCodec="aac,mp3,mp2" videoCodec="h264,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mp4" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" />
|
<DirectPlayProfile container="mp4" audioCodec="aac,ac3,mp3,pcm" videoCodec="h264" type="Video" />
|
||||||
<DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" />
|
<DirectPlayProfile container="mov" audioCodec="aac,pcm" videoCodec="h264" type="Video" />
|
||||||
|
|
|
@ -38,8 +38,8 @@
|
||||||
</XmlRootAttributes>
|
</XmlRootAttributes>
|
||||||
<DirectPlayProfiles>
|
<DirectPlayProfiles>
|
||||||
<DirectPlayProfile container="asf" audioCodec="mp3,ac3,wmav2,wmapro,wmavoice" videoCodec="h264,mpeg4,mjpeg" type="Video" />
|
<DirectPlayProfile container="asf" audioCodec="mp3,ac3,wmav2,wmapro,wmavoice" videoCodec="h264,mpeg4,mjpeg" type="Video" />
|
||||||
<DirectPlayProfile container="avi" audioCodec="mp3,ac3,dca" videoCodec="h264,mpeg4,mjpeg" type="Video" />
|
<DirectPlayProfile container="avi" audioCodec="mp3,ac3,dca,dts" videoCodec="h264,mpeg4,mjpeg" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="mp3,ac3,dca,aac" videoCodec="h264,mpeg4,mjpeg4" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="mp3,ac3,dca,aac,dts" videoCodec="h264,mpeg4,mjpeg4" type="Video" />
|
||||||
<DirectPlayProfile container="mp4" audioCodec="mp3,aac" videoCodec="h264,mpeg4" type="Video" />
|
<DirectPlayProfile container="mp4" audioCodec="mp3,aac" videoCodec="h264,mpeg4" type="Video" />
|
||||||
<DirectPlayProfile container="3gp" audioCodec="aac,he-aac" videoCodec="h264,mpeg4" type="Video" />
|
<DirectPlayProfile container="3gp" audioCodec="aac,he-aac" videoCodec="h264,mpeg4" type="Video" />
|
||||||
<DirectPlayProfile container="mpg,mpeg" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
|
<DirectPlayProfile container="mpg,mpeg" audioCodec="ac3,mp2,mp3,aac" videoCodec="mpeg1video,mpeg2video,h264" type="Video" />
|
||||||
|
@ -100,7 +100,7 @@
|
||||||
</Conditions>
|
</Conditions>
|
||||||
<ApplyConditions />
|
<ApplyConditions />
|
||||||
</CodecProfile>
|
</CodecProfile>
|
||||||
<CodecProfile type="VideoAudio" codec="ac3,wmav2,dca,aac,mp3">
|
<CodecProfile type="VideoAudio" codec="ac3,wmav2,dca,aac,mp3,dts">
|
||||||
<Conditions>
|
<Conditions>
|
||||||
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
|
<ProfileCondition condition="LessThanEqual" property="AudioChannels" value="6" isRequired="true" />
|
||||||
</Conditions>
|
</Conditions>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="wmv,asf" type="Video" />
|
<DirectPlayProfile container="wmv,asf" type="Video" />
|
||||||
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="wmv,asf" type="Video" />
|
<DirectPlayProfile container="wmv,asf" type="Video" />
|
||||||
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="wmv,asf" type="Video" />
|
<DirectPlayProfile container="wmv,asf" type="Video" />
|
||||||
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
<DirectPlayProfile container="mpeg,mpg" audioCodec="ac3,mp3,mp2,pcm" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mp4,m4v" audioCodec="ac3,aac,pcm,mp3" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="avi" audioCodec="ac3,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm" videoCodec="mpeg4,h264" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp3,pcm,dts" videoCodec="mpeg4,h264" type="Video" />
|
||||||
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
<DirectPlayProfile container="m2ts,mts" audioCodec="aac,mp3,ac3,dca,dts" videoCodec="h264,mpeg4,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="wmv,asf" type="Video" />
|
<DirectPlayProfile container="wmv,asf" type="Video" />
|
||||||
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
<DirectPlayProfile container="mp3,m4a,wma,wav" type="Audio" />
|
||||||
|
|
|
@ -36,11 +36,11 @@
|
||||||
<IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests>
|
<IgnoreTranscodeByteRangeRequests>true</IgnoreTranscodeByteRangeRequests>
|
||||||
<XmlRootAttributes />
|
<XmlRootAttributes />
|
||||||
<DirectPlayProfiles>
|
<DirectPlayProfiles>
|
||||||
<DirectPlayProfile container="avi" audioCodec="ac3,dca,mp2,mp3,pcm,dca" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
|
<DirectPlayProfile container="avi" audioCodec="ac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="mpeg" audioCodec="ac3,dca,mp2,mp3,pcm,dca" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
<DirectPlayProfile container="mpeg" audioCodec="ac3,dca,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp2,mp3,pcm,dca" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
|
<DirectPlayProfile container="mkv" audioCodec="ac3,dca,aac,mp2,mp3,pcm,dts" videoCodec="mpeg1video,mpeg2video,mpeg4,h264,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="ts,m2ts" audioCodec="ac3,dca,mp2,mp3,aac,dca" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" />
|
<DirectPlayProfile container="ts,m2ts" audioCodec="ac3,dca,mp2,mp3,aac,dts" videoCodec="mpeg1video,mpeg2video,h264,vc1" type="Video" />
|
||||||
<DirectPlayProfile container="mp4,mov" audioCodec="ac3,aac,mp2,mp3,dca" videoCodec="h264,mpeg4" type="Video" />
|
<DirectPlayProfile container="mp4,mov" audioCodec="ac3,aac,mp2,mp3,dca,dts" videoCodec="h264,mpeg4" type="Video" />
|
||||||
<DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" />
|
<DirectPlayProfile container="asf" audioCodec="wmav2,wmapro" videoCodec="vc1" type="Video" />
|
||||||
<DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" />
|
<DirectPlayProfile container="asf" audioCodec="mp2,ac3" videoCodec="mpeg2video" type="Video" />
|
||||||
<DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" />
|
<DirectPlayProfile container="mp3" audioCodec="mp2,mp3" type="Audio" />
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Include="..\mediabrowser.model\activity\ActivityLogEntry.cs">
|
<Compile Include="..\MediaBrowser.Model\Activity\ActivityLogEntry.cs">
|
||||||
<Link>Activity\ActivityLogEntry.cs</Link>
|
<Link>Activity\ActivityLogEntry.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\ApiClient\ApiHelpers.cs">
|
<Compile Include="..\MediaBrowser.Model\ApiClient\ApiHelpers.cs">
|
||||||
|
@ -249,7 +249,7 @@
|
||||||
<Compile Include="..\MediaBrowser.Model\Connect\PinStatusResult.cs">
|
<Compile Include="..\MediaBrowser.Model\Connect\PinStatusResult.cs">
|
||||||
<Link>Connect\PinStatusResult.cs</Link>
|
<Link>Connect\PinStatusResult.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\mediabrowser.model\connect\UserLinkType.cs">
|
<Compile Include="..\MediaBrowser.Model\Connect\UserLinkType.cs">
|
||||||
<Link>Connect\UserLinkType.cs</Link>
|
<Link>Connect\UserLinkType.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\Devices\ContentUploadHistory.cs">
|
<Compile Include="..\MediaBrowser.Model\Devices\ContentUploadHistory.cs">
|
||||||
|
@ -948,7 +948,7 @@
|
||||||
<Compile Include="..\MediaBrowser.Model\Querying\UserQuery.cs">
|
<Compile Include="..\MediaBrowser.Model\Querying\UserQuery.cs">
|
||||||
<Link>Querying\UserQuery.cs</Link>
|
<Link>Querying\UserQuery.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\mediabrowser.model\registration\RegistrationInfo.cs">
|
<Compile Include="..\MediaBrowser.Model\Registration\RegistrationInfo.cs">
|
||||||
<Link>Registration\RegistrationInfo.cs</Link>
|
<Link>Registration\RegistrationInfo.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\Search\SearchHint.cs">
|
<Compile Include="..\MediaBrowser.Model\Search\SearchHint.cs">
|
||||||
|
@ -1020,7 +1020,7 @@
|
||||||
<Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
|
<Compile Include="..\MediaBrowser.Model\Session\UserDataChangeInfo.cs">
|
||||||
<Link>Session\UserDataChangeInfo.cs</Link>
|
<Link>Session\UserDataChangeInfo.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\mediabrowser.model\social\SocialShareInfo.cs">
|
<Compile Include="..\MediaBrowser.Model\Social\SocialShareInfo.cs">
|
||||||
<Link>Social\SocialShareInfo.cs</Link>
|
<Link>Social\SocialShareInfo.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="..\MediaBrowser.Model\Sync\CompleteSyncJobInfo.cs">
|
<Compile Include="..\MediaBrowser.Model\Sync\CompleteSyncJobInfo.cs">
|
||||||
|
|
|
@ -71,14 +71,17 @@ namespace MediaBrowser.Server.Implementations.HttpServer
|
||||||
|
|
||||||
HostConfig.Instance.MapExceptionToStatusCode = new Dictionary<Type, int>
|
HostConfig.Instance.MapExceptionToStatusCode = new Dictionary<Type, int>
|
||||||
{
|
{
|
||||||
{typeof (InvalidOperationException), 422},
|
{typeof (InvalidOperationException), 500},
|
||||||
|
{typeof (NotImplementedException), 500},
|
||||||
{typeof (ResourceNotFoundException), 404},
|
{typeof (ResourceNotFoundException), 404},
|
||||||
{typeof (FileNotFoundException), 404},
|
{typeof (FileNotFoundException), 404},
|
||||||
{typeof (DirectoryNotFoundException), 404},
|
{typeof (DirectoryNotFoundException), 404},
|
||||||
{typeof (SecurityException), 401},
|
{typeof (SecurityException), 401},
|
||||||
{typeof (PaymentRequiredException), 402},
|
{typeof (PaymentRequiredException), 402},
|
||||||
{typeof (UnauthorizedAccessException), 500},
|
{typeof (UnauthorizedAccessException), 500},
|
||||||
{typeof (ApplicationException), 500}
|
{typeof (ApplicationException), 500},
|
||||||
|
{typeof (PlatformNotSupportedException), 500},
|
||||||
|
{typeof (NotSupportedException), 500}
|
||||||
};
|
};
|
||||||
|
|
||||||
HostConfig.Instance.GlobalResponseHeaders = new Dictionary<string, string>();
|
HostConfig.Instance.GlobalResponseHeaders = new Dictionary<string, string>();
|
||||||
|
|
|
@ -851,29 +851,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
||||||
var recordPath = RecordingPath;
|
var recordPath = RecordingPath;
|
||||||
var config = GetConfiguration();
|
var config = GetConfiguration();
|
||||||
|
|
||||||
if (info.IsMovie)
|
if (info.IsSeries)
|
||||||
{
|
|
||||||
var customRecordingPath = config.MovieRecordingPath;
|
|
||||||
var allowSubfolder = true;
|
|
||||||
if (!string.IsNullOrWhiteSpace(customRecordingPath))
|
|
||||||
{
|
|
||||||
allowSubfolder = string.Equals(customRecordingPath, recordPath, StringComparison.OrdinalIgnoreCase);
|
|
||||||
recordPath = customRecordingPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (allowSubfolder && config.EnableRecordingSubfolders)
|
|
||||||
{
|
|
||||||
recordPath = Path.Combine(recordPath, "Movies");
|
|
||||||
}
|
|
||||||
|
|
||||||
var folderName = _fileSystem.GetValidFilename(info.Name).Trim();
|
|
||||||
if (info.ProductionYear.HasValue)
|
|
||||||
{
|
|
||||||
folderName += " (" + info.ProductionYear.Value.ToString(CultureInfo.InvariantCulture) + ")";
|
|
||||||
}
|
|
||||||
recordPath = Path.Combine(recordPath, folderName);
|
|
||||||
}
|
|
||||||
else if (info.IsSeries)
|
|
||||||
{
|
{
|
||||||
var customRecordingPath = config.SeriesRecordingPath;
|
var customRecordingPath = config.SeriesRecordingPath;
|
||||||
var allowSubfolder = true;
|
var allowSubfolder = true;
|
||||||
|
@ -910,6 +888,28 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
||||||
recordPath = Path.Combine(recordPath, folderName);
|
recordPath = Path.Combine(recordPath, folderName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (info.IsMovie)
|
||||||
|
{
|
||||||
|
var customRecordingPath = config.MovieRecordingPath;
|
||||||
|
var allowSubfolder = true;
|
||||||
|
if (!string.IsNullOrWhiteSpace(customRecordingPath))
|
||||||
|
{
|
||||||
|
allowSubfolder = string.Equals(customRecordingPath, recordPath, StringComparison.OrdinalIgnoreCase);
|
||||||
|
recordPath = customRecordingPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (allowSubfolder && config.EnableRecordingSubfolders)
|
||||||
|
{
|
||||||
|
recordPath = Path.Combine(recordPath, "Movies");
|
||||||
|
}
|
||||||
|
|
||||||
|
var folderName = _fileSystem.GetValidFilename(info.Name).Trim();
|
||||||
|
if (info.ProductionYear.HasValue)
|
||||||
|
{
|
||||||
|
folderName += " (" + info.ProductionYear.Value.ToString(CultureInfo.InvariantCulture) + ")";
|
||||||
|
}
|
||||||
|
recordPath = Path.Combine(recordPath, folderName);
|
||||||
|
}
|
||||||
else if (info.IsKids)
|
else if (info.IsKids)
|
||||||
{
|
{
|
||||||
if (config.EnableRecordingSubfolders)
|
if (config.EnableRecordingSubfolders)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
@ -70,7 +71,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
||||||
}
|
}
|
||||||
else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase))
|
else if (!string.IsNullOrWhiteSpace(extInf) && !line.StartsWith("#", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
var channel = GetChannelnfo(extInf, tunerHostId);
|
var channel = GetChannelnfo(extInf, tunerHostId, line);
|
||||||
channel.Id = channelIdPrefix + urlHash + line.GetMD5().ToString("N");
|
channel.Id = channelIdPrefix + urlHash + line.GetMD5().ToString("N");
|
||||||
channel.Path = line;
|
channel.Path = line;
|
||||||
channels.Add(channel);
|
channels.Add(channel);
|
||||||
|
@ -79,7 +80,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
||||||
}
|
}
|
||||||
return channels;
|
return channels;
|
||||||
}
|
}
|
||||||
private M3UChannel GetChannelnfo(string extInf, string tunerHostId)
|
private M3UChannel GetChannelnfo(string extInf, string tunerHostId, string mediaUrl)
|
||||||
{
|
{
|
||||||
var titleIndex = extInf.LastIndexOf(',');
|
var titleIndex = extInf.LastIndexOf(',');
|
||||||
var channel = new M3UChannel();
|
var channel = new M3UChannel();
|
||||||
|
@ -88,8 +89,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
||||||
channel.Number = extInf.Trim().Split(' ')[0] ?? "0";
|
channel.Number = extInf.Trim().Split(' ')[0] ?? "0";
|
||||||
channel.Name = extInf.Substring(titleIndex + 1);
|
channel.Name = extInf.Substring(titleIndex + 1);
|
||||||
|
|
||||||
if(channel.Number == "-1") { channel.Number = "0"; }
|
|
||||||
|
|
||||||
//Check for channel number with the format from SatIp
|
//Check for channel number with the format from SatIp
|
||||||
int number;
|
int number;
|
||||||
var numberIndex = channel.Name.IndexOf('.');
|
var numberIndex = channel.Name.IndexOf('.');
|
||||||
|
@ -101,6 +100,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
||||||
channel.Name = channel.Name.Substring(numberIndex + 1);
|
channel.Name = channel.Name.Substring(numberIndex + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (string.Equals(channel.Number, "-1", StringComparison.OrdinalIgnoreCase) && !string.IsNullOrWhiteSpace(mediaUrl))
|
||||||
|
{
|
||||||
|
channel.Number = Path.GetFileNameWithoutExtension(mediaUrl.Split('/').Last());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (string.Equals(channel.Number, "-1", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
channel.Number = "0";
|
||||||
|
}
|
||||||
|
|
||||||
channel.ImageUrl = FindProperty("tvg-logo", extInf, null);
|
channel.ImageUrl = FindProperty("tvg-logo", extInf, null);
|
||||||
channel.Number = FindProperty("tvg-id", extInf, channel.Number);
|
channel.Number = FindProperty("tvg-id", extInf, channel.Number);
|
||||||
channel.Number = FindProperty("channel-id", extInf, channel.Number);
|
channel.Number = FindProperty("channel-id", extInf, channel.Number);
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
|
|
||||||
if (supportsDca)
|
if (supportsDca)
|
||||||
{
|
{
|
||||||
mkvAudio += ",dca";
|
mkvAudio += ",dca,dts";
|
||||||
}
|
}
|
||||||
|
|
||||||
var videoProfile = "high|main|baseline|constrained baseline";
|
var videoProfile = "high|main|baseline|constrained baseline";
|
||||||
|
|
|
@ -382,7 +382,6 @@ namespace MediaBrowser.Server.Startup.Common
|
||||||
{
|
{
|
||||||
var migrations = new List<IVersionMigration>
|
var migrations = new List<IVersionMigration>
|
||||||
{
|
{
|
||||||
new OmdbEpisodeProviderMigration(ServerConfigurationManager),
|
|
||||||
new MovieDbEpisodeProviderMigration(ServerConfigurationManager),
|
new MovieDbEpisodeProviderMigration(ServerConfigurationManager),
|
||||||
new DbMigration(ServerConfigurationManager, TaskManager),
|
new DbMigration(ServerConfigurationManager, TaskManager),
|
||||||
new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename)
|
new UpdateLevelMigration(ServerConfigurationManager, this, HttpClient, JsonSerializer, _releaseAssetFilename)
|
||||||
|
@ -947,7 +946,7 @@ namespace MediaBrowser.Server.Startup.Common
|
||||||
{
|
{
|
||||||
if (!CanSelfRestart)
|
if (!CanSelfRestart)
|
||||||
{
|
{
|
||||||
throw new InvalidOperationException("The server is unable to self-restart. Please restart manually.");
|
throw new PlatformNotSupportedException("The server is unable to self-restart. Please restart manually.");
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
|
@ -28,6 +28,11 @@ namespace MediaBrowser.Server.Startup.Common.Browser
|
||||||
OpenUrl(appHost, "http://emby.media/community");
|
OpenUrl(appHost, "http://emby.media/community");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void OpenEmbyPremiere(IServerApplicationHost appHost)
|
||||||
|
{
|
||||||
|
OpenDashboardPage("supporterkey.html", appHost);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Opens the web client.
|
/// Opens the web client.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -73,7 +73,6 @@
|
||||||
<Compile Include="Migrations\IVersionMigration.cs" />
|
<Compile Include="Migrations\IVersionMigration.cs" />
|
||||||
<Compile Include="Migrations\DbMigration.cs" />
|
<Compile Include="Migrations\DbMigration.cs" />
|
||||||
<Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" />
|
<Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" />
|
||||||
<Compile Include="Migrations\OmdbEpisodeProviderMigration.cs" />
|
|
||||||
<Compile Include="Migrations\UpdateLevelMigration.cs" />
|
<Compile Include="Migrations\UpdateLevelMigration.cs" />
|
||||||
<Compile Include="NativeEnvironment.cs" />
|
<Compile Include="NativeEnvironment.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
using MediaBrowser.Controller.Configuration;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Startup.Common.Migrations
|
|
||||||
{
|
|
||||||
class OmdbEpisodeProviderMigration : IVersionMigration
|
|
||||||
{
|
|
||||||
private readonly IServerConfigurationManager _config;
|
|
||||||
private const string _providerName = "The Open Movie Database";
|
|
||||||
|
|
||||||
public OmdbEpisodeProviderMigration(IServerConfigurationManager config)
|
|
||||||
{
|
|
||||||
_config = config;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Run()
|
|
||||||
{
|
|
||||||
var migrationKey = this.GetType().FullName;
|
|
||||||
var migrationKeyList = _config.Configuration.Migrations.ToList();
|
|
||||||
|
|
||||||
if (!migrationKeyList.Contains(migrationKey))
|
|
||||||
{
|
|
||||||
foreach (var metaDataOption in _config.Configuration.MetadataOptions)
|
|
||||||
{
|
|
||||||
if (metaDataOption.ItemType == "Episode")
|
|
||||||
{
|
|
||||||
var disabledFetchers = metaDataOption.DisabledMetadataFetchers.ToList();
|
|
||||||
if (!disabledFetchers.Contains(_providerName))
|
|
||||||
{
|
|
||||||
disabledFetchers.Add(_providerName);
|
|
||||||
metaDataOption.DisabledMetadataFetchers = disabledFetchers.ToArray();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
migrationKeyList.Add(migrationKey);
|
|
||||||
_config.Configuration.Migrations = migrationKeyList.ToArray();
|
|
||||||
_config.SaveConfiguration();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -20,6 +20,7 @@ namespace MediaBrowser.ServerApplication
|
||||||
private ToolStripMenuItem cmdRestart;
|
private ToolStripMenuItem cmdRestart;
|
||||||
private ToolStripSeparator toolStripSeparator1;
|
private ToolStripSeparator toolStripSeparator1;
|
||||||
private ToolStripMenuItem cmdCommunity;
|
private ToolStripMenuItem cmdCommunity;
|
||||||
|
private ToolStripMenuItem cmdPremiere;
|
||||||
private Container components;
|
private Container components;
|
||||||
|
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
|
@ -50,6 +51,7 @@ namespace MediaBrowser.ServerApplication
|
||||||
|
|
||||||
cmdExit = new ToolStripMenuItem();
|
cmdExit = new ToolStripMenuItem();
|
||||||
cmdCommunity = new ToolStripMenuItem();
|
cmdCommunity = new ToolStripMenuItem();
|
||||||
|
cmdPremiere = new ToolStripMenuItem();
|
||||||
toolStripSeparator1 = new ToolStripSeparator();
|
toolStripSeparator1 = new ToolStripSeparator();
|
||||||
cmdRestart = new ToolStripMenuItem();
|
cmdRestart = new ToolStripMenuItem();
|
||||||
toolStripSeparator2 = new ToolStripSeparator();
|
toolStripSeparator2 = new ToolStripSeparator();
|
||||||
|
@ -69,6 +71,7 @@ namespace MediaBrowser.ServerApplication
|
||||||
contextMenuStrip1.Items.AddRange(new ToolStripItem[] {
|
contextMenuStrip1.Items.AddRange(new ToolStripItem[] {
|
||||||
cmdBrowse,
|
cmdBrowse,
|
||||||
cmdConfigure,
|
cmdConfigure,
|
||||||
|
cmdPremiere,
|
||||||
toolStripSeparator2,
|
toolStripSeparator2,
|
||||||
cmdRestart,
|
cmdRestart,
|
||||||
toolStripSeparator1,
|
toolStripSeparator1,
|
||||||
|
@ -89,6 +92,11 @@ namespace MediaBrowser.ServerApplication
|
||||||
cmdCommunity.Name = "cmdCommunity";
|
cmdCommunity.Name = "cmdCommunity";
|
||||||
cmdCommunity.Size = new System.Drawing.Size(208, 22);
|
cmdCommunity.Size = new System.Drawing.Size(208, 22);
|
||||||
//
|
//
|
||||||
|
// cmdPremiere
|
||||||
|
//
|
||||||
|
cmdPremiere.Name = "cmdPremiere";
|
||||||
|
cmdPremiere.Size = new System.Drawing.Size(208, 22);
|
||||||
|
//
|
||||||
// toolStripSeparator1
|
// toolStripSeparator1
|
||||||
//
|
//
|
||||||
toolStripSeparator1.Name = "toolStripSeparator1";
|
toolStripSeparator1.Name = "toolStripSeparator1";
|
||||||
|
@ -118,6 +126,7 @@ namespace MediaBrowser.ServerApplication
|
||||||
cmdRestart.Click += cmdRestart_Click;
|
cmdRestart.Click += cmdRestart_Click;
|
||||||
cmdConfigure.Click += cmdConfigure_Click;
|
cmdConfigure.Click += cmdConfigure_Click;
|
||||||
cmdCommunity.Click += cmdCommunity_Click;
|
cmdCommunity.Click += cmdCommunity_Click;
|
||||||
|
cmdPremiere.Click += cmdPremiere_Click;
|
||||||
cmdBrowse.Click += cmdBrowse_Click;
|
cmdBrowse.Click += cmdBrowse_Click;
|
||||||
|
|
||||||
_configurationManager.ConfigurationUpdated += Instance_ConfigurationUpdated;
|
_configurationManager.ConfigurationUpdated += Instance_ConfigurationUpdated;
|
||||||
|
@ -138,6 +147,7 @@ namespace MediaBrowser.ServerApplication
|
||||||
|
|
||||||
cmdExit.Text = _localization.GetLocalizedString("LabelExit");
|
cmdExit.Text = _localization.GetLocalizedString("LabelExit");
|
||||||
cmdCommunity.Text = _localization.GetLocalizedString("LabelVisitCommunity");
|
cmdCommunity.Text = _localization.GetLocalizedString("LabelVisitCommunity");
|
||||||
|
cmdPremiere.Text = _localization.GetLocalizedString("Emby Premiere");
|
||||||
cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary");
|
cmdBrowse.Text = _localization.GetLocalizedString("LabelBrowseLibrary");
|
||||||
cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureServer");
|
cmdConfigure.Text = _localization.GetLocalizedString("LabelConfigureServer");
|
||||||
cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer");
|
cmdRestart.Text = _localization.GetLocalizedString("LabelRestartServer");
|
||||||
|
@ -163,6 +173,11 @@ namespace MediaBrowser.ServerApplication
|
||||||
BrowserLauncher.OpenWebClient(_appHost);
|
BrowserLauncher.OpenWebClient(_appHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cmdPremiere_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BrowserLauncher.OpenEmbyPremiere(_appHost);
|
||||||
|
}
|
||||||
|
|
||||||
void cmdCommunity_Click(object sender, EventArgs e)
|
void cmdCommunity_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
BrowserLauncher.OpenCommunity(_appHost);
|
BrowserLauncher.OpenCommunity(_appHost);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user