Hi, <br><br>I'm trying to use CLI Bindings found in git. I have taken files from git today.<br><br>I'm trying to use the libvlc of my current VLC install : <br> - windows 7 ultimate x86<br> - libvlc 1.0.3 Goldeneye exported<br>
 - compiled with gcc 4.2.1-sjlj mingw32-2<br><br>I'm running this C# code :<br>--8<----8<----8<----8<----8<----8<----8<----8<----8<--<br>    class Program<br>    {<br>        static void Main(string[] args)<br>
        {<br>            string vlcPath = VLCTools.SearchVlcPath();<br>            string vlcPlugins = Path.Combine(vlcPath, "plugins");<br>            VLCTools.SetEnvironement(vlcPath);<br><br>            System.Console.WriteLine("Running on LibVLC {0} ({1})", VLC.Version, VLC.ChangeSet);<br>
            Console.WriteLine(" (compiled with {0})", VLC.Compiler);<br><br>            string[] vlcargs = new string[]{<br>                "-vvvv",<br>                "--plugin-path", vlcPlugins<br>
            };<br><br>            using (VLC instance = new VLC(vlcargs))<br>            {<br>                using (Media media = new Media(instance, @"D:\a.avi"))<br>                {<br>                    media.StateChanged += new Media.StateChange(media_StateChanged);<br>
                    media.MetaChanged += new Media.MetaChange(media_MetaChanged);<br>                    media.DurationChanged += new Media.DurationChange(media_DurationChanged);<br>                    media.PreparseChanged += new Media.PreparseChange(media_PreparseChanged);<br>
                    using (Player player = new Player(media))<br>                    {<br>                        player.Play();<br>                        System.Console.ReadLine();<br>                        player.Stop();<br>
                    }<br>                }<br>            }<br>        }<br><br>        static void media_PreparseChanged(Media media, bool preparsed)<br>        {<br>            System.Console.WriteLine("Media : " + media.Location + "\tPreparsed = " + preparsed);<br>
        }<br><br>        static void media_DurationChanged(Media media, long duration)<br>        {<br>            System.Console.WriteLine("Media : " + media.Location + "\tDuration = " + duration);<br>
        }<br><br>        static void media_MetaChanged(Media media, MetaType type)<br>        {<br>            System.Console.WriteLine("Media : " + media.Location + "\tMeta : " + type + "\tValue=" + media.GetMeta(type));<br>
        }<br><br>        static void media_StateChanged(Media media, State state)<br>        {<br>            System.Console.WriteLine("Media : " + media.Location + "\tState : " + state);<br>        }<br>
    }<br>--8<----8<----8<----8<----8<----8<----8<----8<----8<--<br><br>It raises an exception on "player.Play()" : AccessViolationException<br>The error happens when calling the interop function "LibVLC.PlayerPlay(Handle, ex);".<br>
<br>When the media events are fired, the data I have back seams to be invalid : media.Location shows me a smiley (control character).<br><br>Another problem I have, Marshaler can convert abstract SafeHandles, so when trying to get HWND property, it raises another exception.<br>
<br>Does someone else have used CLI bindings ?<br><br>Damien<br>