Git Product home page Git Product logo

vlc.dotnet's Introduction

Vlc.DotNet

As more and more effort is put into LibVLCSharp, fewer evolutions are expected to be made to this project.

Bugfixes will still be fixed on the maintainer's free time, but as of 2020-05-06, support for libvlc 4 is not planned. You are encouraged to migrate and create new projects with LibVLCSharp

Join the chat at https://discord.gg/SyUpk57

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 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) if you need to write over the video.

The right option to use depends on your needs.

See the discussion #249 and pull request : #365

How to use

It all starts with those three steps :

  • Install one of the NuGet Packages below
  • Install libvlc libraries manually or from the NuGet package(recommended)
  • Integrate it into your app

See the Getting started wiki

Continuous Integration

Branch Build Description
master Build status Latest stable version
develop Build status Latest features (may be experimental)

NuGet Packages

Packages are available for Vlc libraries. Releases packages follow SEMVER 2.0.0

Prereleases packages are built each time a push is made on develop

Other links

vlc.dotnet's People

Contributors

agherardi avatar albertxingzhang avatar amaitland avatar anupamanadig avatar beast76 avatar ddobrev avatar dilandau2001 avatar gitter-badger avatar gonzru avatar guxialv avatar honfika avatar horaceyork88 avatar jeanmeijer avatar jeremyvignelles avatar logosnickericson avatar marclandis avatar max619 avatar mfkl avatar microchi avatar pureiso avatar qmfrederik avatar rukhlov avatar samarthshroff avatar sep95 avatar spoiledtechie avatar widgetqueen avatar wolf-germany avatar woolersj avatar zandiarash avatar zebobo5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vlc.dotnet's Issues

How to code a fluid trackbar

Hi, i'm conding a program with vlc.DotNet et i have a little issue. i would like to know how to code a fluid trackbar like VLc does, but I don't know whay to do. my trackbar is very jerky beacause it run thanks to poucentage.

By the way i d'ont have the new version of VLC.DotNet, does click listeners work without invisible panel now ?

Thank in advance

Set new media after end reached freez aplication

In this version is still the same bug.
If the player reached end of movie and we try load a new movie it freeze application. It quite important to have a possibility to load new media file after old is ended. Here is simple example:
private void VlcOdtwarzacz_EndReached(object sender, VlcMediaPlayerEndReachedEventArgs e)
{
Console.WriteLine("END");
this.VlcOdtwarzacz.Play(new Uri(@"c:\movie.mkv", UriKind.Absolute)); //freeze here
}

Creating a new (second) window with player throws AccessViolationException

When I try to open a new WPF window with VlcControl after first window with VlcControl was closed, this exception is thrown:

System.AccessViolationException was unhandled
  _HResult=-2147467261
  _message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  HResult=-2147467261
  IsTransient=false
  Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  Source=Vlc.DotNet.Core.Interops
  StackTrace:
       at Vlc.DotNet.Core.Interops.VlcManager.ReleaseMediaPlayer(VlcMediaPlayerInstance mediaPlayerInstance)
       at Vlc.DotNet.Core.Interops.VlcMediaPlayerInstance.Dispose(Boolean disposing)
       at Vlc.DotNet.Core.Interops.Signatures.InteropObjectInstance.Dispose()
       at Vlc.DotNet.Core.VlcMediaPlayer.Dispose(Boolean disposing)
       at Vlc.DotNet.Core.VlcMediaPlayer.Dispose()
       at Vlc.DotNet.Forms.VlcControl.Dispose(Boolean disposing)
       at System.ComponentModel.Component.Dispose()
       at Vlc.DotNet.Wpf.VlcControl.DestroyWindowCore(HandleRef hwnd)
       at System.Windows.Interop.HwndHost.DestroyWindow()
       at System.Windows.Interop.HwndHost.AsyncDestroyWindow(Object arg)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.DispatcherOperation.InvokeImpl()
       at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Windows.Threading.DispatcherOperation.Invoke()
       at System.Windows.Threading.Dispatcher.ProcessQueue()
       at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
       at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
       at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
       at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
       at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
       at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
       at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
       at System.Windows.Threading.Dispatcher.Run()
       at System.Windows.Application.RunDispatcher(Object ignore)
       at System.Windows.Application.RunInternal(Window window)
       at System.Windows.Application.Run(Window window)
       at System.Windows.Application.Run()
       at SlidesDrive.App.Main() in c:\Users\Dominik\Projects\slidessync\SlidesSync\SlidesSync\obj\x86\Debug\App.g.cs:line 0
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
       at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
       at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
       at System.Activator.CreateInstance(ActivationContext activationContext)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: 

VlcControl.MediaPlayer.Time event binding

I can see that VlcControl.MediaPlayer has a 'TimeChanged' event. I'd like to use a XAML InteractionTrigger to create a CommandBinding against this so that I can update a label with the current playback time. The event isn't obviously accessible through the VlcControl. How do I bind against the TimeChanged event?

Method for retrieving real video size

It is possible to get video dimensions and the control dimensions.
But I don't see any method to get the real video bounds inside the control.
How I do it ?
Thanks.

Documentation

I tried to drop you a line using the 'Contact' section from here: http://zebobo5.github.io/Vlc.DotNet, but unfortunately all I'm getting is a 405 error.

I'm likely to come into a little free time shortly and might be interested in putting together some documentation/examples to help ease the learning curve for the new library a little. Do you have any high level requirements/preferred formats for documentation?

Difficult migration

I am working on a WinForms project which occasionally needs to play some videos.

I come from RexGrammer Vlc.DotNet and it was great to know this new version came to life but am having quite serious difficulties migrating when one would expect this task to be almost immediate.

Vlc.DotNet.Core.Interops.dll keeps throwing AccessViolationException when the first MRL is set.
IsPlaying property throws NullReferenceException when no video has been played yet (because myVlcMediaPlayer is still null).

I'm going back to the previous version until this project gets a bit more developed and try to be in touch with this one to see its progress.

(two bugs)Can't get aspect ratio and fps!

First,I use code like " string aspectRatio= vlcControl1.VideoProperties.AspectRatio;",but the result always empty.
Second,I use code " float fps= vlcControl1.FPS;",sometimes can't get fps。Forexample the win7 default video ,media path is "C:\Users\Public\Videos\Sample Videos\Wildlife.wmv"
Tank you!

Smooth Streaming (VLC 3.x)

I have been looking for solutions for implementing smooth streaming in WPF and came across this project. However VLC 2.X smooth streaming is pretty much unusable, and it isn't an issue simply with the project but with VLC 2.X in general that also effects that standalone VLC player.

https://trac.videolan.org/vlc/ticket/11426

Based on that ticket I tried one of the 3.X nightly builds with great success in playing smooth streaming sources. It would be amazing to see a 3.X branch become availiable.

Need to capture a frame to memory - oVLC.MediaPlayer.DrawToBitmap() returns black block

I'm not sure if this is a bug or I'm just doing something wrong.

All I need to do is pause the player and grab the current frame, but can't seem to find a way to do it.

I've been beating on this for days and any help would be really appreciated.

Thanks.

Code:

dim bm As New Bitmap(CInt(oVLC.ActualWidth), CInt(oVLC.ActualHeight))

oVLC.MediaPlayer.DrawToBitmap(bm, b)

At this point, bm appears as a black block.

vlcControl not in Toolbox

I added the DLLs needed and I can run the sample projects without problem, but for some reason it just wont show up in the toolbox.

Using .net4.5 newest version of the libary

Greetings,
Dustin

No libvlc_set_fullscreen support?

Hi there :)
Dow do I send a video to full screen?
I tried to search for libvlc_set_fullscreen documented here: https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__video.html#ga26892692dcb079743c9c7e0df3308ea4 but I didn't find it...

So I tried to VlcManager.SetMediaPlayerVideoHostHandle (mpi, Screen.AllScreens[1].hmonitor)
....but it doesn't work.
It creates a "VLC (hardware YUV DirectX output)" window and plays the video in there.
I'm trying to make it render full screen, without windows borders, captions and so on.
Any hints or workarounds known?

Adding audiobar functionality

Modified the VlcMediaPlayer.cs file inside the vlc.dotnet.core with the following

with the following

"--sub-source=audiobargraph_v", "--audio-filter=audiobargraph_a"

after the lines

"--extraintf=logger", "--verbose=2",

I can see the axis but not the actual dynamic audio bar.

What could be the issue ?

P.S. also selected as vlc directory the one from vlc2.2.0 sources since the audiobargraph is fixed in this version and is buggy in the 2.1.5 Rincewind

WPF Control can't take screenshot

Hi,
I need to take a screenshot of the video. I found the command VlcControl1.takeSnapshot() but this function does not exist in the newest version of VLC.DotNet. How do I take a Snapshopt now?

Wpf VlcControl seems to ignore ZIndex

I tried to draw a semi-transparent overlay (Grid + Semi-Transparent Rectangle) over the vlc control and it is invisible.
I then tried to show it partly over the vlc control and partly over the form and it was visible over the form, but invisible over the VlcControl.

Markup Code:

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:Wpf="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf" x:Class="LivestreamViewer.MainWindow"
        Title="MainWindow" Height="449" Width="753">
    <Grid>
        <Wpf:VlcControl x:Name="vlc" Margin="0,0,0,13" Panel.ZIndex="-1"/>
        <Grid x:Name="overlayGrid" HorizontalAlignment="Stretch" Height="25" Margin="0,0,0,0" VerticalAlignment="Bottom" Panel.ZIndex="1">
            <Rectangle Fill="Black" HorizontalAlignment="Stretch" Margin="0,0,0,0" Stroke="Black" VerticalAlignment="Stretch" IsHitTestVisible="False" Opacity="0.5"/>
        </Grid>
    </Grid>
</Window>

Screenshot of the result:
ae12c35861

Does VLC need to be installed to use Vlc.DotNet?

Hi,

I'm new to Vlc.DotNet - does VLC need to be installed to be able to build and run an app that uses Vlc.DotNet?

If VLC is required / installed, is a specific version needed?

If it isn't required, will there be conflicts if it is!?

I currently have vlc-2.1.5-win32 installed and have been unable to get my WPF app (.NET 4.0) to play any rtsp network video streams using the Vlc.DotNet.Wpf 2.1.62 NuGet package - see my comment on issue #49.

Many thanks.

Title property is in Chinese language

Why Title property return something in Chinese language ?
I test with this code:
vlcControl.GetCurrentMedia().Title
and
Vlc.DotNet.Core.VlcMedia media = new VlcMedia(vlcKey, new FileInfo(fileName), null)
media.Title

Is kind of funny :). I triggered a protection ?

If you have any suggestion, please help me :)
Thanks!

vlcinaction

How to get a mp3's front cover!?

I need to get the front cover in a mp3。
I use vlc mediaplayer play a mp3,It can show the front cover。
But I don't know how to get it ? can you help me with your code?

WPF video is always on top

Hi,
I tried to place a button on top of the WPF control but it is not visible because the VLC control always seems to be on top. How can I create video player controls like in Windows Media Player where the play/pause button is on top of the video?

Old version on NuGet

On NuGet repository, there is still old version (2011.11.29.0) of library. Can you update it to latest (2014.04.18) version? Thanks

VlcMedia contains no data

Hi,

im using your library to play audio files.
After starting an audio track I try to determine its metadata, but except for the duration no metadata seems to be availabe (sometimes the title contains some weird characters).

VlcMediaPlayer m = ...;
// load track and play (not shown here)
var media = m.GetMedia();
var nowPlaying = media.NowPlaying; // is null

Am I doing something wrong or is this a bug?

WPF Control issues

I've been experimenting a bit with the previous version of VLC.DotNet in WPF, which was really nice. Using the videobrush, I was able to draw other controls on top of my video.
With the current version, I'm unable to do this. I believe this is due to the fact that the VlcControl is actually a HwndHost, which draws on top of all controls. Is there any chance of getting a "native" WPF control?

Adding a control

Hi

How can I add VlcControl to Toolbox in visualstudio 2013, because I wont to use it in designer?

Video, audio and subtitle control are broken!

It seems something is going wrong when trying to switch tracks, the P/Invoke fails because of a inconsistency with the TrackDescriptionStructure.

The issue is present with all libVLC versions, on Windows 8.1 with .NET 4.5 (other versions not tested).

issue in releasing

Hi,

I've included this lib into my project (VS2014) and it works fine on local machine (VLC was installed beforehand) when I want to release my app in another computer.

My app gets error and even doesn't run and when I trace it it was because of "Vlc.DotNet.Core.Interops".

honestly don't know how to fix it!
What should I do? install vlc on every client? (not a good solution)

Audio Track Switch

Hello!
How to switch audio track?
my code:
Vlc.DotNet.Core.VlcMediaPlayer vmpl;
DirectoryInfo VlcLibDirectory = new DirectoryInfo(Path.Combine(currentDirectory, @".\Vlc"));
vmpl = new Vlc.DotNet.Core.VlcMediaPlayer(VlcLibDirectory);
vmpl.VideoHostControlHandle = panel1.Handle;
Button click event:
FileInfo file = new FileInfo(fileName);
vmpl.SetMedia(file);
vmpl.Play();
Thanks.

Hard Crashes

Im experiencing hard crashes when using the VLC control inside WPF. I haven't been able to pinpoint yet, but its happening with he following.

Playing the video.
Pausing the Video.
When the video reaches the end of the time and stops on its own.

Thoughts? Im willing to fix if you can point me in the right direction.

Media options

Hi!
Due to the fact that there is still no documentation, either examples, I am quite confused in using this version of VLC.DOTNET.
I did not understand how to send the parameters to record a stream, for example.
I tried this way but it did not work.

vlcControl.Play(
new FileInfo(@"......\Vlc.DotNet\Samples\Videos\BBB trailer.mov"),
":sout=#transcode{vcodec=theo, vb=800, scale=1, acodec=flac, ab=128, channels=2, samplerate=44100}",
":std{access=file, mux=ogg, dst=D:\123.mp4}"
);

Please someone show an example of how to do.
Thank you!

Vlc Control error

Hello!
I use vlc control in c# 2010 (winform).
I build or save project show this messange:
"Code genetation for property 'Time' failed. Error was: 'Property accessor 'Time' on object 'myVlcControl' threw the following exception: 'Object reference not set to an instance of an object.'"
How to fix a problem? (sorry my bad english)
Thanks G.

Online media from YouTube is not played

I try to play a YouTube video and nothing happens.
RTSP stream from my dvr/camera is played fine.
I run my project in x86 with Net 4.0

If you have any suggestion, please help me :)
Thanks!

System.AccessViolationException is thrown when playing a media

When trying to play a video in WPF, I get this exception:
System.AccessViolationException was unhandled
HResult=-2147467261
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Source=Vlc.DotNet.Core.Interops
StackTrace:
at Vlc.DotNet.Core.Interops.VlcManager.AttachEvent(VlcEventManagerInstance eventManagerInstance, EventTypes eventType, EventCallback callback)
at Vlc.DotNet.Core.VlcMedia.RegisterEvents()
at Vlc.DotNet.Core.VlcMedia..ctor(VlcMediaPlayer player, VlcMediaInstance mediaInstance)
at Vlc.DotNet.Core.VlcMediaPlayer.OnMediaPlayerMediaChangedInternal(IntPtr ptr)
at Vlc.DotNet.Core.Interops.VlcManager.SetMediaToMediaPlayer(VlcMediaPlayerInstance mediaPlayerInstance, VlcMediaInstance mediaInstance)
at Vlc.DotNet.Core.VlcMediaPlayer.SetMedia(VlcMedia media)
at Vlc.DotNet.Core.VlcMediaPlayer.SetMedia(FileInfo file, String[] options)
at Vlc.DotNet.Forms.VlcControl.Play(FileInfo file, String[] options)
at WpfApplication64.MainWindow.btnPlay_Click(Object sender, RoutedEventArgs e) in c:\Visual Studio 2013 Projects\WpfApplication64\WpfApplication64\MainWindow.xaml.cs:line 54
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at WpfApplication64.App.Main() in c:\Visual Studio 2013 Projects\WpfApplication64\WpfApplication64\obj\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:

Is it possible to set playback position

Hi there,

first of all, thank you for the great work. I am trying to include Vlc.DotNet in my project. Everything is working fine, but I can't find out how to set the playback position to for example 30 seconds. There's no Position property on the VlcControl.

Is there any way to accomplish that?

Thanks,
Christian

Cant OPEN MRL (rtsp)

I tried to open a rtsp URI with the sample. the URi works in the direkt VLC Player.

The Sample puts this to the Debugviewer:
[12172] main input error: open of `rtsp://192.168.99.132:8554/' failed
[12172] main input error: Your input can't be opened
[12172] main input error: VLC is unable to open the MRL 'rtsp://192.168.99.132:8554/'. Check the log for details.

via Wireshark:
the "Options"-Request is sent, the response also seems to be correct,
but no Describe setup and so on is sent by the sample

Error on dispose VlcControl

Call close form.
Stack:
в Vlc.DotNet.Core.Interops.VlcManager.DetachEvent(VlcEventManagerInstance eventManagerInstance, EventTypes eventType, EventCallback callback)
в Vlc.DotNet.Core.VlcMediaPlayer.UnregisterEvents()
в Vlc.DotNet.Core.VlcMediaPlayer.Dispose(Boolean disposing)
в Vlc.DotNet.Core.VlcMediaPlayer.Dispose()
в Vlc.DotNet.Forms.VlcControl.Dispose(Boolean disposing)
в System.ComponentModel.Component.Dispose()
в VideoPlayer.VideoPlayerXtraUserControl.Dispose(Boolean disposing) в c:\Users\Ezhikov\Documents\Visual Studio 2012\Projects\VideoPlayerControl\VideoPlayer\VideoPlayerXtraUserControl.cs:строка 116
в System.ComponentModel.Component.Dispose()
в System.Windows.Forms.Control.Dispose(Boolean disposing)
в System.Windows.Forms.ContainerControl.Dispose(Boolean disposing)
в DevExpress.XtraLayout.LayoutControl.Dispose(Boolean disposing)
в System.ComponentModel.Component.Dispose()
в System.Windows.Forms.Control.Dispose(Boolean disposing)
в System.Windows.Forms.Form.Dispose(Boolean disposing)
в DevExpress.XtraEditors.XtraForm.Dispose(Boolean disposing)
в VideoPlayerControl.XtraForm1.Dispose(Boolean disposing) в c:\Users\Ezhikov\Documents\Visual Studio 2012\Projects\VideoPlayerControl\VideoPlayerControl\XtraForm1.Designer.cs:строка 20
в System.ComponentModel.Component.Dispose()
в System.Windows.Forms.Form.WmClose(Message& m)
в System.Windows.Forms.Form.WndProc(Message& m)
в DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
в System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
в System.Windows.Forms.Form.DefWndProc(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ContainerControl.WndProc(Message& m)
в System.Windows.Forms.Form.WmSysCommand(Message& m)
в System.Windows.Forms.Form.WndProc(Message& m)
в DevExpress.XtraEditors.XtraForm.WndProc(Message& msg)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в VideoPlayerControl.Program.Main() в c:\Users\Ezhikov\Documents\Visual Studio 2012\Projects\VideoPlayerControl\VideoPlayerControl\Program.cs:строка 19
в System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()

how to mute audio?

Hello
Thank you to the great job.
I am using the Vlc.DotNet in my project (IPTV multi-viewer). Everything works fine, but i have no idea how to mute the volume. It is possible?

VlcContext.StartupOptions missing

How can I change StartupOptions of VLC control? In one of my projects I'm using older version of Vlc.DotNet library to play video on multiple screens (windows) by wall filter:

VlcContext.StartupOptions.AddOption("--vout-filter=wall");
VlcContext.StartupOptions.AddOption("--wall-cols=2");
VlcContext.StartupOptions.AddOption("--wall-rows=2");

How can I achieve this behaviour now? Is there any method to set StartupOptions???

Moving Forward

Hey ZeBobo5,

Im working on a application that will be using this wrapper. Its a great piece of code by the way. I was wondering what your doing moving forward? As I would like to push pull requests your way, but you declined mine. So I am wondering whats going on?

Can I help push this wrapper?

Using the libraries embedded instead of via a library path

Hi,

I need to develop a DLL that has the capabilities of decoding h264 from a certain source. This means I won't be able to install the VLC library files in a specified folder (this piece will be embedded in a bigger application without this kind of control, see it as an extension). I was wondering if you guys would be up for the idea of a changed library initialization where by using for example https://github.com/Fody/Costura we allow the libraries to be gathered from not just a path but also the already loaded assemblies or simply the current executing path.
Maybe this is already possible but the docs seem to point in a different direction.
Would be up for helping along!

Application using Vlc.Net crashes on exit

I'm using Vlc.Net for 2.1 and it runs fine but when I exit application I get exception about is_playing function not found (apparently exception caused by Dispose method which is checking for media playing and stopping it). I tried to debug it and seems that interops manager really doesn't have this method to the time of dispose. Maybe Dispose called twice or some disposing race is occuring.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.