Commit e17a2a3a authored by Martin Finkel's avatar Martin Finkel

add initial tvOS support

(cherry picked from commit 230539684bce9edce9fdd4fe2222876139cf141a)
parent 878d083e
......@@ -14,9 +14,12 @@
<PropertyGroup Condition="$(TargetFramework.StartsWith('Xamarin.iOS'))">
<DefineConstants>$(DefineConstants);MONO;IOS;COCOA</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'Xamarin.Mac20'">
<PropertyGroup Condition="$(TargetFramework.StartsWith('Xamarin.Mac'))">
<DefineConstants>$(DefineConstants);MONO;MAC;COCOA</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.StartsWith('Xamarin.TVOS'))">
<DefineConstants>$(DefineConstants);MONO;TVOS;COCOA</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="$(TargetFramework.StartsWith('MonoAndroid'))">
<DefineConstants>$(DefineConstants);MONO;ANDROID</DefineConstants>
</PropertyGroup>
......
......@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27130.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibVLCSharp", "LibVLCSharp\LibVLCSharp.csproj", "{D1C3B7C4-713B-46B2-B33A-E9298C819921}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp", "LibVLCSharp\LibVLCSharp.csproj", "{D1C3B7C4-713B-46B2-B33A-E9298C819921}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A5F2B2E4-7F93-4919-89F6-EEAB5D1C0AA7}"
ProjectSection(SolutionItems) = preProject
......@@ -26,7 +26,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.Forms.Sample.An
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.Forms.Sample.iOS", "Samples\Forms\LibVLCSharp.Forms.Sample.iOS\LibVLCSharp.Forms.Sample.iOS.csproj", "{D2486BCF-A218-4181-B1F8-E6D46DCADCDC}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "LibVLCSharp.FSharp.Sample", "Samples\LibVLCSharp.FSharp.Sample\LibVLCSharp.FSharp.Sample.fsproj", "{1B4B0B6A-C57C-4926-B0E8-B2D31C72A324}"
Project("{f2a71f9b-5d33-465a-a702-920d77279786}") = "LibVLCSharp.FSharp.Sample", "Samples\LibVLCSharp.FSharp.Sample\LibVLCSharp.FSharp.Sample.fsproj", "{1B4B0B6A-C57C-4926-B0E8-B2D31C72A324}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.iOS.Sample", "Samples\LibVLCSharp.iOS.Sample\LibVLCSharp.iOS.Sample.csproj", "{76840EFA-235B-46D8-8274-3240E1BBED5B}"
EndProject
......@@ -46,8 +46,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.Forms.Sample.WP
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.Android.AWindow", "LibVLCSharp.Android.AWindow\LibVLCSharp.Android.AWindow.csproj", "{239A82A5-19A1-4382-8F9B-4A9705648017}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibVLCSharp.WPF", "LibVLCSharp.WPF\LibVLCSharp.WPF.csproj", "{2C59DD65-6B71-4B71-827F-BA09525C5963}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibVLCSharp.Forms.Platforms.GTK", "LibVLCSharp.Forms.Platforms.GTK\LibVLCSharp.Forms.Platforms.GTK.csproj", "{3F958392-C1A0-407C-AC76-0926F8D0BCCA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibVLCSharp.GTK.Sample", "Samples\LibVLCSharp.GTK.Sample\LibVLCSharp.GTK.Sample.csproj", "{94DF9F22-6E0B-4774-9B13-CABC3D3A2E3E}"
......@@ -56,6 +54,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibVLCSharp.GTK", "LibVLCSh
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibVLCSharp.Forms.Sample.GTK", "Samples\Forms\LibVLCSharp.Forms.Sample.GTK\LibVLCSharp.Forms.Sample.GTK.csproj", "{FBBF3364-2581-48FD-A6F8-68319640E785}"
EndProject
Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "LibVLCSharp.WPF", "LibVLCSharp.WPF\LibVLCSharp.WPF.csproj", "{7A63D691-F205-4805-A118-D0CD7EF4268C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibVLCSharp.tvOS.Sample", "Samples\LibVLCSharp.tvOS.Sample\LibVLCSharp.tvOS.Sample.csproj", "{B6182E93-C6B0-4494-840E-BB045933857C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
......@@ -774,46 +776,6 @@ Global
{239A82A5-19A1-4382-8F9B-4A9705648017}.Release|x64.Build.0 = Release|Any CPU
{239A82A5-19A1-4382-8F9B-4A9705648017}.Release|x86.ActiveCfg = Release|Any CPU
{239A82A5-19A1-4382-8F9B-4A9705648017}.Release|x86.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|Any CPU.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|iPhone.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|x64.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|x64.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|x86.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.AppStore|x86.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|iPhone.Build.0 = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|x64.ActiveCfg = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|x64.Build.0 = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|x86.ActiveCfg = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Debug|x86.Build.0 = Debug|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|Any CPU.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|iPhone.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|iPhone.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|x64.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|x64.Build.0 = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|x86.ActiveCfg = Release|Any CPU
{2C59DD65-6B71-4B71-827F-BA09525C5963}.Release|x86.Build.0 = Release|Any CPU
{3F958392-C1A0-407C-AC76-0926F8D0BCCA}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU
{3F958392-C1A0-407C-AC76-0926F8D0BCCA}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU
{3F958392-C1A0-407C-AC76-0926F8D0BCCA}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU
......@@ -974,6 +936,86 @@ Global
{FBBF3364-2581-48FD-A6F8-68319640E785}.Release|x64.Build.0 = Release|Any CPU
{FBBF3364-2581-48FD-A6F8-68319640E785}.Release|x86.ActiveCfg = Release|Any CPU
{FBBF3364-2581-48FD-A6F8-68319640E785}.Release|x86.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|x64.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Ad-Hoc|x86.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|Any CPU.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|iPhone.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|iPhone.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|x64.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|x64.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|x86.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.AppStore|x86.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|iPhone.Build.0 = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|x64.Build.0 = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|x86.ActiveCfg = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Debug|x86.Build.0 = Debug|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|Any CPU.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|iPhone.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|iPhone.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|x64.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|x64.Build.0 = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|x86.ActiveCfg = Release|Any CPU
{7A63D691-F205-4805-A118-D0CD7EF4268C}.Release|x86.Build.0 = Release|Any CPU
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|Any CPU.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|iPhone.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|iPhone.Build.0 = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|x64.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|x64.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|x86.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Ad-Hoc|x86.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|Any CPU.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|iPhone.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|iPhone.Build.0 = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|x64.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|x64.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|x86.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.AppStore|x86.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|iPhone.ActiveCfg = Debug|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|iPhone.Build.0 = Debug|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|x64.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Debug|x86.Build.0 = Debug|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|Any CPU.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|Any CPU.Build.0 = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|iPhone.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|iPhone.Build.0 = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x64.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x64.Build.0 = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x86.ActiveCfg = Release|iPhone
{B6182E93-C6B0-4494-840E-BB045933857C}.Release|x86.Build.0 = Release|iPhone
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -994,6 +1036,7 @@ Global
{256C7141-442B-43DC-9321-0BCFE81E2421} = {FC68D8B7-758E-4164-945B-9F922FA883F6}
{94DF9F22-6E0B-4774-9B13-CABC3D3A2E3E} = {799A84A2-2161-4676-878B-5610E3586137}
{FBBF3364-2581-48FD-A6F8-68319640E785} = {FC68D8B7-758E-4164-945B-9F922FA883F6}
{B6182E93-C6B0-4494-840E-BB045933857C} = {799A84A2-2161-4676-878B-5610E3586137}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AB1424F9-871B-444A-9278-18227672889C}
......
......@@ -26,7 +26,7 @@ Features:
- DVD playback and menu navigation.
</Description>
<TargetFrameworks>netstandard2.0;netstandard1.1;net40;net471</TargetFrameworks>
<TargetFrameworks Condition="!$([MSBuild]::IsOsPlatform('Linux'))">$(TargetFrameworks);MonoAndroid81;Xamarin.iOS10;Xamarin.Mac20</TargetFrameworks>
<TargetFrameworks Condition="!$([MSBuild]::IsOsPlatform('Linux'))">$(TargetFrameworks);MonoAndroid81;Xamarin.iOS10;Xamarin.Mac20;Xamarin.TVOS10</TargetFrameworks>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);IncludeAWindow</TargetsForTfmSpecificBuildOutput>
<RootNamespace>LibVLCSharp</RootNamespace>
<NeutralLanguage>en</NeutralLanguage>
......@@ -66,6 +66,12 @@ Features:
<ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.Mac'))">
<Compile Include="Platforms\Mac\**\*.cs" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.TVOS'))">
<Compile Include="Platforms\tvOS\**\*.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="Platforms\tvOS\" />
</ItemGroup>
<Target Name="IncludeAWindow" Condition="$(TargetFramework.StartsWith('MonoAndroid'))">
<ItemGroup>
<BuildOutputInPackage Include="$(OutputPath)LibVLCSharp.Android.AWindow.dll" />
......
using System;
using LibVLCSharp.Shared;
using UIKit;
namespace LibVLCSharp.Platforms.tvOS
{
public class VideoView : UIView, IVideoView
{
Shared.MediaPlayer _mediaPlayer;
/// <summary>
/// The MediaPlayer object attached to this VideoView. Use this to manage playback and more
/// </summary>
public Shared.MediaPlayer MediaPlayer
{
get => _mediaPlayer;
set
{
if (_mediaPlayer != value)
{
Detach();
_mediaPlayer = value;
if (_mediaPlayer != null)
{
Attach();
}
}
}
}
void Attach()
{
if (MediaPlayer != null)
{
MediaPlayer.NsObject = Handle;
}
}
void Detach()
{
if (MediaPlayer != null)
{
MediaPlayer.NsObject = IntPtr.Zero;
}
}
/// <summary>
/// Detach the mediaplayer from the view and dispose the view
/// </summary>
/// <param name="disposing"></param>
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
Detach();
}
}
}
......@@ -144,6 +144,8 @@ namespace LibVLCSharp.Shared
/// </summary>
internal const string UnityPlugin = "VlcUnityWrapper";
internal const string LibraryName = "libvlcjni";
#elif TVOS
internal const string LibraryName = "@rpath/DynamicTVVLCKit.framework/DynamicTVVLCKit";
#else
internal const string LibraryName = "libvlc";
#endif
......
using Foundation;
using UIKit;
namespace LibVLCSharp.tvOS.Sample
{
// The UIApplicationDelegate for the application. This class is responsible for launching the
// User Interface of the application, as well as listening (and optionally responding) to application events from iOS.
[Register("AppDelegate")]
public class AppDelegate : UIApplicationDelegate
{
// class-level declarations
public override UIWindow Window
{
get;
set;
}
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
// Override point for customization after application launch.
// If not required for your application you can safely delete this method
// create a new window instance based on the screen size
Window = new UIWindow(UIScreen.MainScreen.Bounds) { RootViewController = new ViewController() };
// make the window visible
Window.MakeKeyAndVisible();
return true;
}
public override void OnResignActivation(UIApplication application)
{
// Invoked when the application is about to move from active to inactive state.
// This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message)
// or when the user quits the application and it begins the transition to the background state.
// Games should use this method to pause the game.
}
public override void DidEnterBackground(UIApplication application)
{
// Use this method to release shared resources, save user data, invalidate timers and store the application state.
// If your application supports background exection this method is called instead of WillTerminate when the user quits.
}
public override void WillEnterForeground(UIApplication application)
{
// Called as part of the transiton from background to active state.
// Here you can undo many of the changes made on entering the background.
}
public override void OnActivated(UIApplication application)
{
// Restart any tasks that were paused (or not yet started) while the application was inactive.
// If the application was previously in the background, optionally refresh the user interface.
}
public override void WillTerminate(UIApplication application)
{
// Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground.
}
}
}
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}
\ No newline at end of file
{
"layers" : [
{
"filename" : "Front.imagestacklayer"
},
{
"filename" : "Middle.imagestacklayer"
},
{
"filename" : "Back.imagestacklayer"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}
\ No newline at end of file
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}
\ No newline at end of file
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"
},
{
"scale": "3x",
"idiom": "iphone"
},
{
"idiom": "ipad"
},
{
"scale": "1x",
"idiom": "ipad"
},
{
"scale": "2x",
"idiom": "ipad"
}
],
"info": {
"version": 1,
"author": "xcode"
}
}
\ No newline at end of file
{
"layers" : [
{
"filename" : "Front.imagestacklayer"
},
{
"filename" : "Middle.imagestacklayer"
},
{
"filename" : "Back.imagestacklayer"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images": [
{
"idiom": "universal"
},
{
"scale": "1x",
"idiom": "universal"
},
{
"scale": "2x",
"idiom": "universal"
},
{
"scale": "3x",
"idiom": "universal"
},
{
"idiom": "iphone"
},
{
"scale": "1x",
"idiom": "iphone"
},
{
"scale": "2x",
"idiom": "iphone"
},
{
"subtype": "retina4",
"scale": "2x",
"idiom": "iphone"