Skip to content
This repository has been archived by the owner on Jan 21, 2022. It is now read-only.

Commit

Permalink
Merge pull request #540 from ZeBobo5/develop
Browse files Browse the repository at this point in the history
v3.0.0
  • Loading branch information
jeremyVignelles authored Mar 28, 2019
2 parents 22201a7 + d45c79b commit d5f77c6
Show file tree
Hide file tree
Showing 989 changed files with 7,739 additions and 6,257 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,7 @@ publish/
*.Publish.xml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
#packages/
packages/

# Windows Azure Build Output
csx
Expand Down
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
# 3.0.0
- BREAKING CHANGE : Created a new WPF control using ImageSource [#365](https://github.com/ZeBobo5/Vlc.DotNet/pull/365) see how to use in wiki!
- ADDED `SetMouseInput`/`SetKeyInput` methods [#424](https://github.com/ZeBobo5/Vlc.DotNet/pull/424). Fixes [#379](https://github.com/ZeBobo5/Vlc.DotNet/issues/379) and [#107](https://github.com/ZeBobo5/Vlc.DotNet/issues/107). Thanks @CrookedFingerGuy
- ADDED Rendering support for alpha channel videos in WPF control [#439](https://github.com/ZeBobo5/Vlc.DotNet/pull/439)
- ADDED Dialog management API [#373](https://github.com/ZeBobo5/Vlc.DotNet/pull/373)
- ADDED A new ResetMedia method [#539](https://github.com/ZeBobo5/Vlc.DotNet/pull/539)
- ADDED A binding for fullscreen functions [#516](https://github.com/ZeBobo5/Vlc.DotNet/pull/516) (This doesn't mean that fullscreen is supported by Vlc.DotNet. Handling Fullscreen in Vlc.DotNet is not as simple as setting a flag to true/false) (Thanks @LinoBarreca and @samarthshroff)
- ADDED A binding for user agent and app ID functions [#485](https://github.com/ZeBobo5/Vlc.DotNet/pull/485)
- ADDED A new SetVideoTitleDisplay() binding [#466](https://github.com/ZeBobo5/Vlc.DotNet/pull/466) (Thanks @HoraceYork88)
- ADDED A SetPause(bool) API because Pause() toggles the pause [#471](https://github.com/ZeBobo5/Vlc.DotNet/pull/471)
- CHANGED The internal management of the libvlc instances. This fixes several memory leaks and crashes on dispose, especially when using multiple controls at the same time [#474](https://github.com/ZeBobo5/Vlc.DotNet/pull/490), [#477](https://github.com/ZeBobo5/Vlc.DotNet/pull/477) (Thanks @dilandau2001) [#490](https://github.com/ZeBobo5/Vlc.DotNet/pull/490)
- CHANGED PR [#490](https://github.com/ZeBobo5/Vlc.DotNet/pull/490) also changed the behavior when trying to set `VlcMediaPlayerOptions` or `VlcLibDirectory` after initialization. An exception is now thrown in those cases, because this is a bad API usage.
- CHANGED name of internal handle class from `SafeUnmanagedMemoryHandle` to `Utf8StringHandle` [#337](https://github.com/ZeBobo5/Vlc.DotNet/pull/337)
- CHANGED Replaced the legacy API for getting audio devices and media tracks with newer API [#402](https://github.com/ZeBobo5/Vlc.DotNet/pull/402)
- CHANGED the `IsInDesigner` detection method [#459](https://github.com/ZeBobo5/Vlc.DotNet/pull/459) (Thanks @MarcLandis)
- FIXED invalid types for `Position` (must be a `float`) and `Length` (must be a `long`). [#469](https://github.com/ZeBobo5/Vlc.DotNet/pull/469) (Thanks @Arashz22)
- FIXED the type of the `NewTitle` property (int -> string) in `VlcMediaPlayerTitleChangedEventArgs` [#364](https://github.com/ZeBobo5/Vlc.DotNet/pull/364)
- FIXED the return type of `DetachEvent` [#488](https://github.com/ZeBobo5/Vlc.DotNet/pull/488) (Thanks @mfkl)
- FIXED the return type of `TakeSnapshot` [#449](https://github.com/ZeBobo5/Vlc.DotNet/pull/449)
- FIXED AccessViolationException when setting Audio.Outputs.Current [#493](https://github.com/ZeBobo5/Vlc.DotNet/pull/493) (Thanks @Rukhlov)
- FIXED Patched wrong info received from the WPF video callback [#526](https://github.com/ZeBobo5/Vlc.DotNet/pull/526) (Thanks @Sep95), [#531](https://github.com/ZeBobo5/Vlc.DotNet/pull/531)

# 2.2.1
- FIXED assembly file version that was incorrect #[326](https://github.com/ZeBobo5/Vlc.DotNet/pull/326)

Expand Down
31 changes: 28 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,39 @@ Vlc.DotNet

Vlc.DotNet is a .net library that hosts the audio/video capabilities of the VLC libraries. In other words, it's a .net wrapper around `libvlc`.

It can work on any .net framework version starting from .net 2.0. (.net standard support is currently in beta (use prerelease packages!))
It can work on any .net framework version starting from .net 2.0 and .net standard 1.3 (starting from Vlc.DotNet 2.2.1).

On the front-end side, two components are currently available to make it easy to integrate in your apps. One is for WinForms, the other for WPF.

Writing a WPF app / Migrating WPF control from 2.x
----------
_**Please Read this if you are writing a WPF app! This is super important!**_

_tl;dr : Use Vlc.DotNet.Forms in a WindowsFormsHost, unless you know what you're doing_

The WPF control has been rewritten from scratch from 2.x.

The old WPF control was just a wrapper around the WinForms control.
This led to some issues (Airspace issue...) and lacked some WPF-ish features.

That's why a new control has been written. To be fair, first versions of Vlc.DotNet
were built with that technique, but back then, there were issues in the .net framework
causing the memory usage to explode. As of 2018, this issue is resolved.

You have in fact two options:
- Use the new WPF control. You might notice a performance impact when reading, for example, a 4k @ 60 fps video on a low-end computer. However, you can do whatever you like, just as a normal ImageSource in WPF.
- Wrap the Vlc.DotNet.WinForms control in a WindowsFormsHost. It offers better performance, but you will experience Airspace issues (see [#296](https://github.com/ZeBobo5/Vlc.DotNet/issues/296)) if you need to write over the video.

The right option to use depends on your needs.

See the discussion [#249](https://github.com/ZeBobo5/Vlc.DotNet/issue/249) and pull request : [#365](https://github.com/ZeBobo5/Vlc.DotNet/pull/365)


How to use
----------
It all starts with those three steps :
- Install one of the NuGet Packages below
- Install `libvlc` libraries from one of the official distributions (To be improved, see #288)
- Install `libvlc` libraries manually or from the [NuGet package](https://github.com/mfkl/libvlc-nuget)(recommended)
- Integrate it into your app

See the [Getting started wiki](https://github.com/ZeBobo5/Vlc.DotNet/wiki/Getting-started)
Expand All @@ -29,7 +53,7 @@ develop | [![Build status](https://ci.appveyor.com/api/projects/status/lkx1ojkcg

NuGet Packages
--------------
Packages are available for Vlc libraries
Packages are available for Vlc libraries. Releases packages follow [SEMVER 2.0.0](http://semver.org/)

- [Vlc.DotNet.Core.Interops](https://www.nuget.org/packages/Vlc.DotNet.Core.Interops/) : You probably don't want to use this one directly
- [Vlc.DotNet.Core](https://www.nuget.org/packages/Vlc.DotNet.Core/) : If you don't want to have a video interface, this might be the package to use.
Expand All @@ -44,3 +68,4 @@ Prereleases packages are built each time a push is made on `develop`
- [Changelog](https://github.com/ZeBobo5/Vlc.DotNet/blob/develop/CHANGELOG.md)
- [Wiki](https://github.com/ZeBobo5/Vlc.DotNet/wiki)
- [Ask questions](https://gitter.im/Vlc-DotNet/Lobby)
- [LibVLCSharp](https://github.com/videolan/libvlcsharp) : The officially supported and cross-platform libvlc to .net binding which will eventually replace this project at some point.
12 changes: 8 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
environment:
version_prefix: 2.2.1
version_prefix: 3.0.0
version: $(version_prefix)-{branch}{build}

image: Visual Studio 2017
Expand All @@ -9,7 +9,7 @@ init:
clone_folder: C:\projects\vlc-dotnet-master\
shallow_clone: true
artifacts:
- path: "**/*.nupkg"
- path: "src/Vlc.DotNet.*/**/*.nupkg"
name: "Vlc.DotNet NuGet Packages"
deploy:
- provider: NuGet
Expand All @@ -23,8 +23,10 @@ for:
only:
- master

before_build:
- nuget restore "src\Vlc.DotNet.sln"

build_script:
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Restore /p:VersionPrefix=%version_prefix% /Verbosity:Minimal "src\Vlc.DotNet.sln"
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Build /p:VersionPrefix=%version_prefix% /p:Configuration=Release "src\Vlc.DotNet.sln"
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Pack /p:VersionPrefix=%version_prefix% /p:Configuration=Release "src\Vlc.DotNet.Core.Interops\Vlc.DotNet.Core.Interops.csproj"
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Pack /p:VersionPrefix=%version_prefix% /p:Configuration=Release "src\Vlc.DotNet.Core\Vlc.DotNet.Core.csproj"
Expand All @@ -36,8 +38,10 @@ for:
only:
- develop

before_build:
- nuget restore "src\Vlc.DotNet.sln"

build_script:
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Restore /p:VersionPrefix=%version_prefix% /p:VersionSuffix=develop%APPVEYOR_BUILD_NUMBER% /Verbosity:Minimal "src\Vlc.DotNet.sln"
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Build /p:Configuration=Release /p:VersionPrefix=%version_prefix% /p:VersionSuffix=develop%APPVEYOR_BUILD_NUMBER% "src\Vlc.DotNet.sln"
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Pack /p:Configuration=Release /p:VersionPrefix=%version_prefix% /p:VersionSuffix=develop%APPVEYOR_BUILD_NUMBER% "src\Vlc.DotNet.Core.Interops\Vlc.DotNet.Core.Interops.csproj"
- msbuild /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /t:Pack /p:Configuration=Release /p:VersionPrefix=%version_prefix% /p:VersionSuffix=develop%APPVEYOR_BUILD_NUMBER% "src\Vlc.DotNet.Core\Vlc.DotNet.Core.csproj"
Expand Down
Empty file removed lib/header-files/.keep
Empty file.
69 changes: 0 additions & 69 deletions lib/header-files/deprecated.h

This file was deleted.

Loading

0 comments on commit d5f77c6

Please sign in to comment.