LibVLCSharp issueshttps://code.videolan.org/videolan/LibVLCSharp/-/issues2023-05-19T08:35:37Zhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/454Add MSIX support2023-05-19T08:35:37ZFranck EAdd MSIX supportPackaging with MSIX - WPF - LibVLCSharp.Shared.VLCException: 'Failed to load required native libraries
RE StackOverflow question [here](https://stackoverflow.com/questions/66935123/c-sharp-wpf-vlc-libvlcsharp-shared-vlcexception-failed-...Packaging with MSIX - WPF - LibVLCSharp.Shared.VLCException: 'Failed to load required native libraries
RE StackOverflow question [here](https://stackoverflow.com/questions/66935123/c-sharp-wpf-vlc-libvlcsharp-shared-vlcexception-failed-to-load-required-na/66936116?noredirect=1#comment118328158_66936116)
I am using with minimal sample, which I then prepare for the Windows store following official documentation [here](https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/modernize-wpf-tutorial-5)
Issue is that the libvlc folder is not being copied to AppX\... folder.
Minimal project included, and to make the solution small, packages are not installed. List of required packages:
LibVLCSharp.3.5.0
LibVLCSharp.WPF.3.5.0
VideoLAN.LibVLC.Windows.3.0.12
The other packages should only be dependencies.
[vlc-msix-app.zip](/uploads/00ae31e9ffc15bcf6bc8e1223e011c4e/vlc-msix-app.zip)https://code.videolan.org/videolan/LibVLCSharp/-/issues/449Add more precise timer for progress bar scenarios2021-05-25T07:26:30ZMartin FinkelAdd more precise timer for progress bar scenarios### Problem to solve
Some users request a more stable/precise progress bar.
libvlcsharp could offer some doc, a sample and/or an helper to facilitate this.
### Intended users
Anyone who wants finer time based data.
### Proposal
htt...### Problem to solve
Some users request a more stable/precise progress bar.
libvlcsharp could offer some doc, a sample and/or an helper to facilitate this.
### Intended users
Anyone who wants finer time based data.
### Proposal
https://github.com/videolan/vlc/blob/0090bfdc2647ae2a4f003617ab5c411c17ce7db7/src/player/timer.c#L474
### Documentationhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/448UWP LibVLCSharp.Shared.VLCException: Could not create Direct3D11 device : No ...2021-12-27T11:48:46ZSurameUWP LibVLCSharp.Shared.VLCException: Could not create Direct3D11 device : No compatible adapter found### Summary
Unable to initialize the lvs:VideoView control included in the LibVLCSharp.Platforms.UWP lib on non-directx compatible computers.
On the same machine the VLC UWP application works correctly.
<!-- Summarize the bug encount...### Summary
Unable to initialize the lvs:VideoView control included in the LibVLCSharp.Platforms.UWP lib on non-directx compatible computers.
On the same machine the VLC UWP application works correctly.
<!-- Summarize the bug encountered concisely -->
The lvs:VideoView control raise an exception during the InitializeComponent() sub.
"
Exception thrown: 'SharpDX.SharpDXException' in SharpDX.dll
Exception thrown: 'SharpDX.SharpDXException' in SharpDX.dll
Exception thrown: 'SharpDX.SharpDXException' in SharpDX.dll
Exception thrown: 'LibVLCSharp.Shared.VLCException' in LibVLCSharp.dll
Exception thrown: 'LibVLCSharp.Shared.VLCException' in LibVLCSharp.dll
Exception thrown at 0x00007FFBA2B9D759 (KernelBase.dll) in LibVLCSharp.UWP.Sample.exe: WinRT originate error - 0x80131500 : **'LibVLCSharp.Shared.VLCException: Could not create Direct3D11 device : No compatible adapter found.**
at LibVLCSharp.Platforms.UWP.VideoViewBase.CreateSwapChain()'.
onecore\com\combase\winrt\error\restrictederror.cpp(1016)\combase.dll!00007FFBA343C8D3: (caller: 00007FFBA34465A9) ReturnHr(1) tid(5c8) 8007007E The specified module could not be found."
**How one can reproduce the issue**
It's very easy to reproduce, you just need a virtual machine that doesn't have an advanced graphics card (without gpu/remotefx module). In my case, it is a virtual machine on Azure IaaS service. It's a virtual machine in Azure that I use to dev.
Reproducible with the UWP sample project LibVLCSharp.UWP.Sample
The bug happens when you are connected via RDP or directly connected to the admin console via vnc.
It is not dependent on the way of connecting but on the graphic card equipped
The bug occure in debug and release compile mode, with and without debugger attached
Because the VLC APPs can run on these environnement, maybe we can have expect a solution for the libvlcsharp or a way to fault back if no compatible card was found.
### Environment
* OS: Windows 10
* Version 10.0.19041.867
* Device: **Azure VM IaaS with basic graphic card**
* LibVLCSharp version 3.4.9 / VideoLan.LibVLC.UWP v3.3.1
* Visual Studio 2019https://code.videolan.org/videolan/LibVLCSharp/-/issues/443StreamMediaInput optimizations2021-03-25T09:19:49ZMartin FinkelStreamMediaInput optimizations### Problem to solve
Improve StreamMediaInput performance.
### Intended users
People who need more perf when proving their own input stream to libvlcsharp.
### Proposal
- Add benchmarks like https://github.com/SixLabors/ImageSharp/b...### Problem to solve
Improve StreamMediaInput performance.
### Intended users
People who need more perf when proving their own input stream to libvlcsharp.
### Proposal
- Add benchmarks like https://github.com/SixLabors/ImageSharp/blob/master/tests/ImageSharp.Benchmarks/General/IO/BufferedStreams.cs
- Add `[MethodImpl(MethodImplOptions.AggressiveInlining)]` in a few places, like done in https://github.com/SixLabors/ImageSharp/blob/master/src/ImageSharp/IO/BufferedReadStream.cs.
- See perf numbers after that change.
### Documentationhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/442Memory usage grows when switching to new Media in MediaPlayer2021-09-15T22:00:38ZSigurður JökullMemory usage grows when switching to new Media in MediaPlayer### Summary
I create a VideoView element in Xamarin.Forms, then i initialize the MediaPlayer with a Media object as a parameter, then when MediaPlayer is already assigned i simply switch the Media object by assigning the Media property ...### Summary
I create a VideoView element in Xamarin.Forms, then i initialize the MediaPlayer with a Media object as a parameter, then when MediaPlayer is already assigned i simply switch the Media object by assigning the Media property of the MediaPlayer. I store the result of the Media getter as a private property of the MainPage class and dispose of it when switching to next media, but still the memory usage climbs each time a new media i assigned and after about 50 videos being played has grown to about a few gigabytes.
### Minimal project and steps to reproduce
<!-- How one can reproduce the issue - this is very important-->
Github repo https://github.com/siggi90/video_test
(I've set the position of each media at near the end of the video to save time while testing but the result is the same if the playback starts at 0.0f.
1. Add video files to the playlist (List<string>) private variable to populate the playlist with your own videos.
2. build and run for macOS (i've tested on both Mojave and Big Sur with same results)
3. open activity monitor and watch memory usage progressively increase over time.
4. when playback has completed i noticed memory returns to normal
-->
### What is the current *bug* behavior?
Memory usage grows with each successive media being played
### What is the expected *correct* behavior?
I expect each Media's memory to be disposed of when assigning new media and calling Media.Dispose()
### Does it work on other plaforms? Does it work with the official VLC apps?
i can provide screenshots of my activity monitor if requested
### Relevant logs and/or screenshots
<!-- Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise. -->
### Environment
<!-- Please complete the following information. -->
- OS: macOS
- Version 10.14
- Device: iMac
- LibVLC 3.1.3.1
- LibVLCSharp 3.4.9
### Possible fixes
The media seems to not dispose of properly, possibly dispose is not working correctly.https://code.videolan.org/videolan/LibVLCSharp/-/issues/428MediaPlayerElement for WinForms2022-04-19T03:16:22ZMartin FinkelMediaPlayerElement for WinFormshttps://code.videolan.org/videolan/LibVLCSharp/-/issues/427MediaPlayerElement for WPF2021-01-11T08:12:38ZMartin FinkelMediaPlayerElement for WPFhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/426MediaPlayerElement for iOS/tvOS2021-01-11T08:52:24ZMartin FinkelMediaPlayerElement for iOS/tvOSThe existing mediaplayer element and playback controls should be give a good idea of what is needed https://code.videolan.org/videolan/LibVLCSharp/-/tree/3.x/src/LibVLCSharp.Forms/Shared
It runs on iOS through Xamarin.FormsThe existing mediaplayer element and playback controls should be give a good idea of what is needed https://code.videolan.org/videolan/LibVLCSharp/-/tree/3.x/src/LibVLCSharp.Forms/Shared
It runs on iOS through Xamarin.Formshttps://code.videolan.org/videolan/LibVLCSharp/-/issues/425MediaPlayerElement for Android2021-01-11T08:51:07ZMartin FinkelMediaPlayerElement for AndroidInspiration can be drawn from the vlc-android app for the layout, the code cannot be re-used though as it is done in kotlin and using libvlcjni.
The existing mediaplayer element and playback controls should give a good idea of what is n...Inspiration can be drawn from the vlc-android app for the layout, the code cannot be re-used though as it is done in kotlin and using libvlcjni.
The existing mediaplayer element and playback controls should give a good idea of what is needed https://code.videolan.org/videolan/LibVLCSharp/-/tree/3.x/src/LibVLCSharp.Forms/Sharedhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/408Avalonia: Add a convenient way to put controls over the video2022-04-11T10:51:43ZMartin FinkelAvalonia: Add a convenient way to put controls over the videoFollow up on https://code.videolan.org/videolan/LibVLCSharp/-/merge_requests/18#note_73534
### Problem to solve
- Add a convenient way to put controls over the video, much like the WPF way. Look into having shared code for this.
- Veri...Follow up on https://code.videolan.org/videolan/LibVLCSharp/-/merge_requests/18#note_73534
### Problem to solve
- Add a convenient way to put controls over the video, much like the WPF way. Look into having shared code for this.
- Verify if TwoWay binding mode is really needed.
### Intended users
Avalonia users.
/cc FYI @shawnallen85 @jeremyVignelleshttps://code.videolan.org/videolan/LibVLCSharp/-/issues/406Using SetDialogHandlers later results in a segmentation fault on Android x86/...2021-12-22T15:01:28ZRobert GouletUsing SetDialogHandlers later results in a segmentation fault on Android x86/x64 only### Summary
Using SetDialogHandlers to override "Question" for the case of overriding the dialog for insecure HTTPS connections results in a segmentation fault.
### Minimal project and steps to reproduce
1. Open "LibVLCSharp.Android.S...### Summary
Using SetDialogHandlers to override "Question" for the case of overriding the dialog for insecure HTTPS connections results in a segmentation fault.
### Minimal project and steps to reproduce
1. Open "LibVLCSharp.Android.Sample" in the Samples directory.
2. Add the call to SetDialogHandlers in the code. The example below should be good enough to repro the problem.
````
....
_libVLC = new LibVLC(enableDebugLogs: true);
_libVLC.SetDialogHandlers((title, text) => Task.CompletedTask,
(dialog, title, text, username, store, token) => Task.CompletedTask,
(dialog, title, text, type, canceltext, firstactiontext, secondactiontext, token) => Task.CompletedTask,
(dialog, title, text, indeterminate, position, canceltext, token) => Task.CompletedTask,
(dialog, position, text) => Task.CompletedTask);
_mediaPlayer = new MediaPlayer(_libVLC)
{
EnableHardwareDecoding = true
};
....
````
3. Change the URL to point to a "https" site that has a certificate that is not signed by a trusted CA. You don't have to have it actually serve up any media file because it never gets that far. This example should work without having to stand up a web server:
````
using var media = new Media(_libVLC, new Uri("https://self-signed.badssl.com/"));
````
### What is the current *bug* behavior?
Segmentation fault occurs
### What is the expected *correct* behavior?
No crash. If I put a breakpoint on the lambda I'd expect to hit that. I can't override the function to accept the dialog because it crashes.
### Does it work on other plaforms? Does it work with the official VLC apps?
I have only tested on Android. This is likely only applicable to libvlcsharp. The official VLC app works fine.
### Relevant logs and/or screenshots
````
11-15 06:33:02.629 D/VLC (19867): [d39e3030/4d9b] libvlc input: Creating an input for '(null)'
11-15 06:33:02.632 D/VLC (19867): [d39e3030/4db1] libvlc input: using timeshift granularity of 50 MiB
11-15 06:33:02.632 D/VLC (19867): [d39e3030/4db1] libvlc input: using default timeshift path
11-15 06:33:02.632 D/VLC (19867): [d39e3030/4db1] libvlc input: `https://self-signed.badssl.com/' gives access `https' demux `any' path `self-signed.badssl.com/'
11-15 06:33:02.632 D/VLC (19867): [e80e2830/4db1] libvlc input source: creating demux: access='https' demux='any' location='self-signed.badssl.com/' file='(null)'
11-15 06:33:02.632 D/VLC (19867): [e80e28d0/4db1] libvlc demux: looking for access_demux module matching "https": 6 candidates
11-15 06:33:02.633 D/VLC (19867): [e80e28d0/4db1] libvlc demux: no access_demux modules matched
11-15 06:33:02.633 D/VLC (19867): [e80e2970/4db1] libvlc stream: creating access: https://self-signed.badssl.com/
11-15 06:33:02.634 D/VLC (19867): [e80e2970/4db1] libvlc stream: looking for access module matching "https": 24 candidates
11-15 06:33:02.634 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: looking for tls client module matching "any": 1 candidates
11-15 06:33:02.634 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: using GnuTLS version 3.5.19
11-15 06:33:02.638 D/Mono (19867): DllImport searching in: 'libvlc' ('libvlc.so').
11-15 06:33:02.638 D/Mono (19867): Searching for 'libvlc_media_release'.
11-15 06:33:02.638 D/Mono (19867): Probing 'libvlc_media_release'.
11-15 06:33:02.639 D/Mono (19867): Found as 'libvlc_media_release'.
11-15 06:33:02.666 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: loaded 137 trusted CAs from system
11-15 06:33:02.666 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: using tls client module "gnutls"
11-15 06:33:02.667 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: resolving self-signed.badssl.com ...
11-15 06:33:02.738 D/HostConnection(19867): HostConnection::get() New Host Connection established 0xe9aa1370, tid 19890
11-15 06:33:02.745 D/HostConnection(19867): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_async_unmap_buffer GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_gles_max_version_2
11-15 06:33:02.755 I/ConfigStore(19867): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
11-15 06:33:02.756 I/ConfigStore(19867): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
11-15 06:33:02.757 I/OpenGLRenderer(19867): Initialized EGL, version 1.4
11-15 06:33:02.757 D/OpenGLRenderer(19867): Swap behavior 1
11-15 06:33:02.765 D/eglCodecCommon(19867): setVertexArrayObject: set vao to 0 (0) 0 0
11-15 06:33:02.765 D/EGL_emulation(19867): eglCreateContext: 0xe9a854e0: maj 2 min 0 rcv 2
11-15 06:33:02.767 D/EGL_emulation(19867): eglMakeCurrent: 0xe9a854e0: ver 2 0 (tinfo 0xe9a83c30)
11-15 06:33:02.803 D/HostConnection(19867): createUnique: call
11-15 06:33:02.804 D/HostConnection(19867): HostConnection::get() New Host Connection established 0xe9aa15f0, tid 19890
11-15 06:33:02.808 D/HostConnection(19867): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_dma_v1 ANDROID_EMU_async_unmap_buffer GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_gles_max_version_2
11-15 06:33:02.808 E/eglCodecCommon(19867): GoldfishAddressSpaceHostMemoryAllocator: ioctl_ping failed for device_type=5, ret=-1
11-15 06:33:02.816 D/EGL_emulation(19867): eglMakeCurrent: 0xe9a854e0: ver 2 0 (tinfo 0xe9a83c30)
11-15 06:33:02.828 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: TLS handshake: Resource temporarily unavailable, try again.
11-15 06:33:02.878 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: TLS handshake: Success.
=================================================================
Native Crash Reporting
=================================================================
Got a SEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
No native Android stacktrace (see debuggerd output).
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0xf0e4833c):
11-15 06:33:02.878 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: - safe renegotiation (RFC5746) enabled
11-15 06:33:02.878 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: - false start (RFC7918) enabled
0xf0e4832c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0xf0e4833c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0xf0e4834c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0xf0e4835c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................11-15 06:33:02.878 E/VLC (19867): [d3890eb0/4db1] libvlc tls client: Certificate verification failure: The certificate is NOT trusted. The certificate issuer is unknown.
11-15 06:33:02.879 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: 1 certificate(s) in the list
11-15 06:33:02.879 D/VLC (19867): [d3890eb0/4db1] libvlc tls client: no known certificates for self-signed.badssl.com
11-15 06:33:02.886 F/libc (19867): Fatal signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 0xf0e4833c in tid 19889 (config_GetGener), pid 19867 (ompanyname.app2)
````
### Environment
- OS: Android
- Version Pie 9.0
- Device: Android TV (Emulator in Visual Studio)
- LibVLC version and architecture LibVLC.Android 3.2.0
- LibVLCSharp version 3.4.9
### Possible fixes
Unknownhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/396Samples: netcore on macOS should create a window2020-09-09T08:02:07ZMartin FinkelSamples: netcore on macOS should create a window### Problem to solve
Currently the netcore sample app on macOS is headless. This is fine, but would be better to have some video.
libvlc cannot create a window by itself on mac, like it does on Windows.
And a netcore app requires a bit ...### Problem to solve
Currently the netcore sample app on macOS is headless. This is fine, but would be better to have some video.
libvlc cannot create a window by itself on mac, like it does on Windows.
And a netcore app requires a bit more setup than a mono app to have a cocoa window https://docs.microsoft.com/en-us/xamarin/mac/app-fundamentals/console
### Intended users
Devs for testing
netcore app users on mac.
### Proposal
improve the current sample.
### Documentationhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/395Media transport controls for MediaElement2021-08-11T08:47:22ZParaminder SinghMedia transport controls for MediaElement### Problem to solve
On Iphone, on locked screen it should show play controls (next, previous, skip , pause etc as it comes with the standard music player.
### Intended users
Everyone
### Proposal
by using the commandcenter MPRemot...### Problem to solve
On Iphone, on locked screen it should show play controls (next, previous, skip , pause etc as it comes with the standard music player.
### Intended users
Everyone
### Proposal
by using the commandcenter MPRemoteCommandCenter.Shared on IOS, not sure on android
### Documentation
not surehttps://code.videolan.org/videolan/LibVLCSharp/-/issues/375Support newer Uno versions2020-10-11T13:45:40ZMartin FinkelSupport newer Uno versions### Problem to solve
Updating LibVLCSharp.Uno to latest Uno releases fails the Android build.
### Intended users
LibVLCSharp.Uno Android users
### Proposal
```
LibVLCSharp\src\LibVLCSharp.Uno\VideoView.Android.cs(17,71,17,84): error...### Problem to solve
Updating LibVLCSharp.Uno to latest Uno releases fails the Android build.
### Intended users
LibVLCSharp.Uno Android users
### Proposal
```
LibVLCSharp\src\LibVLCSharp.Uno\VideoView.Android.cs(17,71,17,84): error CS0103: The name 'ContextHelper' does not exist in the current context
LibVLCSharp\src\LibVLCSharp.Uno\VideoView.Android.cs(18,29,18,48): error CS0029: Cannot implicitly convert type 'LibVLCSharp.Platforms.Android.VideoView' to 'Windows.UI.Xaml.UIElement'
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\VideoView_Android_iOS_0654003b6e8285e8171ea5eceba6aa4a.g.cs(116,11,116,16): error CS0029: Cannot implicitly convert type 'Windows.UI.Xaml.Controls.Border' to 'Android.Views.View'
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\MediaPlayerElement_44b984361be691e5a697b2e5e83c7ee0.g.cs(174,11,174,16): error CS0029: Cannot implicitly convert type 'Windows.UI.Xaml.Controls.Grid' to 'Android.Views.View'
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\VideoView_Android_iOS_0654003b6e8285e8171ea5eceba6aa4a.g.cs(63,76,63,184): error CS0029: Cannot implicitly convert type 'Android.Views.View' to 'Windows.UI.Xaml.UIElement'
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\VideoView_Android_iOS_0654003b6e8285e8171ea5eceba6aa4a.g.cs(63,76,63,184): error CS1662: Cannot convert lambda expression to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\PlaybackControls_a640c024b4ec96fcd73a42d435df6be4.g.cs(68,76,68,174): error CS0029: Cannot implicitly convert type 'Android.Views.View' to 'Windows.UI.Xaml.UIElement'
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\PlaybackControls_a640c024b4ec96fcd73a42d435df6be4.g.cs(68,76,68,174): error CS1662: Cannot convert lambda expression to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\MediaPlayerElement_44b984361be691e5a697b2e5e83c7ee0.g.cs(63,76,63,178): error CS0029: Cannot implicitly convert type 'Android.Views.View' to 'Windows.UI.Xaml.UIElement'
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\MediaPlayerElement_44b984361be691e5a697b2e5e83c7ee0.g.cs(63,76,63,178): error CS1662: Cannot convert lambda expression to intended delegate type because some of the return types in the block are not implicitly convertible to the delegate return type
LibVLCSharp\src\LibVLCSharp.Uno\obj\Debug\monoandroid81\g\XamlCodeGenerator\PlaybackControls_a640c024b4ec96fcd73a42d435df6be4.g.cs(2630,11,2630,16): error CS0029: Cannot implicitly convert type 'Windows.UI.Xaml.Controls.Grid' to 'Android.Views.View'
LibVLCSharp\src\LibVLCSharp.Uno\DisplayRequestAdapter.cs(16,30,16,50): error Uno0001: Windows.System.Display.DisplayRequest is not implemented in Uno
LibVLCSharp\src\LibVLCSharp.Uno\DisplayRequestAdapter.cs(26,13,26,41): error Uno0001: Windows.System.Display.DisplayRequest.RequestActive() is not implemented in Uno
LibVLCSharp\src\LibVLCSharp.Uno\DisplayRequestAdapter.cs(34,13,34,42): error Uno0001: Windows.System.Display.DisplayRequest.RequestRelease() is not implemented in Uno
2>Done building project "LibVLCSharp.Uno.csproj" -- FAILED.
```
repro https://code.videolan.org/mfkl/LibVLCSharp/-/commit/fe77824fadfadcd1cbb31848d9e66fbbe2767c61
### Documentation
<!-- What kind of documentation is needed for this feature? -->https://code.videolan.org/videolan/LibVLCSharp/-/issues/369When chromecasting from UWP transcoded video has poor quality2020-11-24T07:13:12ZAleksey VlasenkoWhen chromecasting from UWP transcoded video has poor quality<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by "bug" label and verify the issue you're about to submit isn't a duplicate.
If this is a question please ask on StackOverflow...<!---
Please read this!
Before opening a new issue, make sure to search for keywords in the issues
filtered by "bug" label and verify the issue you're about to submit isn't a duplicate.
If this is a question please ask on StackOverflow: https://stackoverflow.com/questions/tagged/libvlcsharp.
--->
### Summary
<!-- Summarize the bug encountered concisely -->
Whenever I'm trying to cast video that requires transcoding from UWP, video has bad quality on TV.
I tried setting '--sout-chromecast-conversion-quality=', but as far as I can tell it doesn't have any effect on quality.
### Minimal project and steps to reproduce
https://github.com/vlasenkoalexey/LibVLCSharp.UWP.Sample_chromecast
### Does it work on other plaforms? Does it work with the official VLC apps?
<!-- Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise. -->
Observe same issue on VLC from Windows Store.
### Environment
<!-- Please complete the following information. -->
- OS: Windows
- Version 10
- Device: Laptop x86
- LibVLC version and architecture VideoLAN.LibVLC.UWP/3.3.0
- LibVLCSharp version 3.4.6https://code.videolan.org/videolan/LibVLCSharp/-/issues/366Add FileInfo and StorageFile Media ctor API2020-08-13T11:58:08ZMartin FinkelAdd FileInfo and StorageFile Media ctor API### Problem to solve
Add additional helper method to create a Media.
### Intended users
Vlc.Dotnet migrating.
Any libvlcsharp user### Problem to solve
Add additional helper method to create a Media.
### Intended users
Vlc.Dotnet migrating.
Any libvlcsharp userhttps://code.videolan.org/videolan/LibVLCSharp/-/issues/365LibVLC loading refactoring for macOS2020-09-08T15:40:42ZMartin FinkelLibVLC loading refactoring for macOS### Problem to solve
To be able to use libvlc builds from official releases, we need to be able to load and P/Invoke dynamic libvlc macOS builds.
Currently, it's all statically linked together in a `libvlc.dylib` binary. The libvlc bui...### Problem to solve
To be able to use libvlc builds from official releases, we need to be able to load and P/Invoke dynamic libvlc macOS builds.
Currently, it's all statically linked together in a `libvlc.dylib` binary. The libvlc builds from vlc.dmg are organized similarly to the libvlc windows ones (plugins folder, lib folder, share folder).
### Intended users
macOS users.
### Proposal
There are a few challenges...
- We need to perform this refactoring while not breaking existing platforms (netcore and mono).
- We need to perform this refactoring while keeping the current platform versions number supported (i.e. any netcore version).
mono/cocoa support is fine, issue is with netcore.
Problems are two fold:
- To be able to re-use the current P/Invoke code, we need to keep the dllimport statements as they are currently. In theory, one could load manually the dylib, and all further dllimport calls would look at the currently loaded dynamic librairies before trying a new dlopen to perform the dlsym. That's the theory anyway https://github.com/libgit2/libgit2sharp/blob/7fc4be5193dbdd08538b4b150332b5a73770e0f6/LibGit2Sharp/Core/NativeMethods.cs#L40
However, that's not what I observe. And for the netstandard/netcore build, that means the dlopen call argument is different on mac and windows (`@rpath/libvlc`/`libvlc`) and it should not.
- Even when using the non standard `@rpath/libvlc` dlopen argument and setting the correct `VLC_PLUGIN_PATH`, `libvlc_new` returns null.
https://github.com/mfkl/libvlcsharp/commits/mac-libvlc-loading
https://github.com/mfkl/libvlc-nuget/blob/mac-loading-rework/build/VideoLAN.LibVLC.Mac.targets
### Documentation
Just the cherrypicking enabling whenever this works.https://code.videolan.org/videolan/LibVLCSharp/-/issues/363LibVLCSharp macOS ARM support2020-10-13T15:37:20ZMartin FinkelLibVLCSharp macOS ARM supporthttps://github.com/mono/mono/pull/20014
https://github.com/dotnet/runtime/pull/38302https://github.com/mono/mono/pull/20014
https://github.com/dotnet/runtime/pull/38302https://code.videolan.org/videolan/LibVLCSharp/-/issues/360VLC plugin framework for dotnet2020-12-24T06:30:37ZMartin FinkelVLC plugin framework for dotnet### Problem to solve
Some dotnet users would like lower access to the VLC core.
### Intended users
dotnet libvlcsharp users who want advanced customization.
### Proposal
With dotnet 5's official support for [native exports](https://...### Problem to solve
Some dotnet users would like lower access to the VLC core.
### Intended users
dotnet libvlcsharp users who want advanced customization.
### Proposal
With dotnet 5's official support for [native exports](https://github.com/AaronRobinsonMSFT/DNNE), it would be possible in theory to build a VLC plugin in dotnet, that can be loaded and called from the VLC Core. Once that's done, we could provide a framework/bootstrapper nuget that'd allow users to write their own VLC plugin _easily_.
- https://wiki.videolan.org/Hacker_Guide/How_To_Write_a_Module/
- https://wiki.videolan.org/OutOfTreeCompile/
### Documentation
Lots I guess.https://code.videolan.org/videolan/LibVLCSharp/-/issues/359Start using PtrToStringUTF8 wherever possible2020-06-30T09:35:47ZMartin FinkelStart using PtrToStringUTF8 wherever possible### Problem to solve
Refactor existing code to use https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.marshal.ptrtostringutf8 whenever targets permit
### Intended users
libvlcsharp devs.### Problem to solve
Refactor existing code to use https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.marshal.ptrtostringutf8 whenever targets permit
### Intended users
libvlcsharp devs.