LibVLCSharp.csproj 4.05 KB
Newer Older
1
<Project Sdk="MSBuild.Sdk.Extras/1.6.46">
Martin Finkel's avatar
Martin Finkel committed
2
  <PropertyGroup>
Martin Finkel's avatar
Martin Finkel committed
3
    <Title>LibVLCSharp</Title>
Martin Finkel's avatar
Martin Finkel committed
4
    <Summary>LibVLCSharp is a crossplatform multimedia framework for all .NET languages and runtimes</Summary>
5
    <Description>LibVLCSharp is a cross-platform audio and video API for .NET platforms based on VideoLAN's LibVLC Library.
Martin Finkel's avatar
Martin Finkel committed
6 7
    
It provides a comprehensive multimedia API that can be used across mobile, server and desktop to render video and output audio. Mono, .NET Framework and .NET Core runtimes are supported.
8 9 10 11 12 13 14

Supported platforms:
- Xamarin.Android
- Xamarin.iOS
- Xamarin.Mac
- Windows (WPF/WinForms)
- Xamarin.Forms
Martin Finkel's avatar
Martin Finkel committed
15
- .NET Standard 1.1
Martin Finkel's avatar
Martin Finkel committed
16
- .NET Core
17 18 19 20 21 22 23 24 25 26 27

Features:
- Network browsing for distant filesystems (SMB, FTP, SFTP, NFS...).
- HDMI passthrough for Audio HD codecs, like E-AC3, TrueHD or DTS-HD.
- Stream to distant renderers, like Chromecast.
- 360 video and 3D audio playback with viewpoint change.
- Support for Ambisonics audio and more than 8 audio channels.
- Subtitles size modification live.
- Hardware decoding and display on all platforms.
- DVD playback and menu navigation.
    </Description>
Jérémy VIGNELLES's avatar
Jérémy VIGNELLES committed
28
    <TargetFrameworks>netstandard2.0;netstandard1.1;net40;net471</TargetFrameworks>
Martin Finkel's avatar
Martin Finkel committed
29
    <TargetFrameworks Condition="!$([MSBuild]::IsOsPlatform('Linux'))">$(TargetFrameworks);MonoAndroid81;Xamarin.iOS10;Xamarin.Mac20;Xamarin.TVOS10</TargetFrameworks>
30
    <TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);IncludeAWindow</TargetsForTfmSpecificBuildOutput>
31
    <RootNamespace>LibVLCSharp</RootNamespace>
Martin Finkel's avatar
Martin Finkel committed
32
    <NeutralLanguage>en</NeutralLanguage>
33
    <LangVersion>7.3</LangVersion>
34
    <PackageVersion>0.4.2</PackageVersion>
35 36
    <PackageId>LibVLCSharp</PackageId>
    <Authors>VideoLAN</Authors>
Martin Finkel's avatar
Martin Finkel committed
37
    <Owners>VideoLAN</Owners>
Martin Finkel's avatar
Martin Finkel committed
38 39 40
    <GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Release' ">true</GeneratePackageOnBuild>
    <GenerateDocumentationFile Condition=" '$(Configuration)' == 'Release' ">true</GenerateDocumentationFile>
    <UseFullSemVerForNuGet>false</UseFullSemVerForNuGet>
Martin Finkel's avatar
Martin Finkel committed
41 42 43
    <PackageLicenseExpression>LGPL-2.1-or-later</PackageLicenseExpression>
    <RepositoryType>git</RepositoryType>
    <RepositoryUrl>https://code.videolan.org/videolan/LibVLCSharp</RepositoryUrl>
44 45
    <PackageIconUrl>https://code.videolan.org/videolan/LibVLCSharp/raw/master/Assets/icon.png</PackageIconUrl>
    <PackageReleaseNotes>https://code.videolan.org/videolan/LibVLCSharp/blob/master/NEWS</PackageReleaseNotes>
46
    <PackageTags>libvlc;vlc;videolan;native;c/c++;video;audio;player;media;mediaplayer;codec;ffmpeg;xamarin;graphics;ios;android;linux;windows;macos;cross-platform</PackageTags>
Martin Finkel's avatar
Martin Finkel committed
47
  </PropertyGroup>
Martin Finkel's avatar
Martin Finkel committed
48 49 50 51
  <PropertyGroup Condition="$(UNITY_ANDROID)=='true'">
    <TargetFramework>netstandard2.0</TargetFramework>
    <DefineConstants>$(DefineConstants);UNITY_ANDROID</DefineConstants>
  </PropertyGroup>
52 53 54
  <PropertyGroup Condition="$(NETSTANDARD_ONLY)=='true'">
    <TargetFrameworks>netstandard2.0;netstandard1.1</TargetFrameworks>
  </PropertyGroup>
55
  <ItemGroup>
56 57
    <Compile Remove="Platforms\**\*.cs" />
    <None Include="Platforms\**\*.cs" />
58
  </ItemGroup>
Martin Finkel's avatar
Martin Finkel committed
59
  <ItemGroup Condition="$(TargetFramework.StartsWith('MonoAndroid'))">
60
    <Compile Include="Platforms\Android\**\*.cs" />
61
    <ProjectReference Include="..\LibVLCSharp.Android.AWindow\LibVLCSharp.Android.AWindow.csproj" PrivateAssets="All" />
62
  </ItemGroup>
Martin Finkel's avatar
Martin Finkel committed
63
  <ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.iOS'))">
64 65
    <Compile Include="Platforms\iOS\**\*.cs" />
  </ItemGroup>
66 67
  <ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.Mac'))">
    <Compile Include="Platforms\Mac\**\*.cs" />
68
  </ItemGroup>
Martin Finkel's avatar
Martin Finkel committed
69 70 71
  <ItemGroup Condition="$(TargetFramework.StartsWith('Xamarin.TVOS'))">
    <Compile Include="Platforms\tvOS\**\*.cs" />
  </ItemGroup>
Martin Finkel's avatar
Martin Finkel committed
72 73 74
  <ItemGroup Condition=" '$(TargetFramework)' == 'net40' ">
    <PackageReference Include="System.ValueTuple" Version="4.5.0"/>
  </ItemGroup>
75 76 77 78 79
  <Target Name="IncludeAWindow" Condition="$(TargetFramework.StartsWith('MonoAndroid'))">
    <ItemGroup>
      <BuildOutputInPackage Include="$(OutputPath)LibVLCSharp.Android.AWindow.dll" />
    </ItemGroup>
  </Target>
80
</Project>