<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#ffffff" text="#000000"><div class="im"><blockquote type="cite"><div class="gmail_quote">
2009/12/9 Developer <span dir="ltr"><<a href="mailto:developer@noknok.net" target="_blank">developer@noknok.net</a>></span><br>
  <blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">
    <div>Ok, from a command line:</div>
    <br>
vlc -I dummy -vvv --extraintf=logger --logfile=z:\ffmpeg\VlcLog.txt
 "z:\tempdata\sin.avi"<br>
  </blockquote>
  <div><br>
  </div>
  <div> The program starts, the video plays (directx window) and the
log file is filled with a lot of text.</div>
  <div><br>
  </div>
  <div>When launching my program directly from commandline (microsoft
framework), instanciating VLC with same parameters, log file is not
created and the media video seems to be a smiley </div>
  </div>
</blockquote></div>
What do you mean by running directly from commandline (mircrosoft
framework)?   Are you meaning executing a SHELL COMMAND from within say
C#?</div></blockquote><div><br></div><div>To test, here what I have done :</div><div><br></div><div>Start, Execute, "cmd"</div><div><br></div><div>cd /d "C:\program file\videolan\vlc"</div><div>vlc -I dummy -vvv --extraintf=logger --logfile=D:\VlcLog.txt  "D:\a.avi"</div>
<div><br></div><div>--> Video is played inside a Directx window, vlc opens its own log console window aside.</div><div><br></div><div>Then I copy my program into vlc dir.</div><div>My code :</div><div>--8<----8<----8<----8<----8<--</div>
<div><div>                System.Console.WriteLine("OS is {0} version {1}", Environment.OSVersion.Platform, Environment.OSVersion.VersionString);</div><div><div>                string video = @"d:\a.avi";</div>
<div>                string[] vlcargs = new string[]</div><div>                {</div><div>                    "--no-plugins-cache",</div><div>                    "-I", "dummy",                      /* no interface */</div>
<div><div>                    "--ignore-config",            /* don't use/overwrite the config */</div><div><div>                    "-vvv",</div><div>                    "--extraintf=logger", </div>
<div>                    "--logfile=D:\\VlcLog.txt",</div><div><div>                    video,</div><div>                };</div><div><br></div><div><div>                using (VLC instance = new VLC(vlcargs))</div>
<div>                {</div><div><div>                    Console.WriteLine("Waiting for 'Enter' key press to quit...");</div><div>                    System.Console.ReadLine();</div><div>                }</div>
<div>--8<----8<----8<----8<----8<--</div><div><br></div><div>Nothing happen : I see the "waiting" message, I see some log messages (in same console window), but until I press enter, there is no more feedback, no other window, no CPU activity...</div>
<div>Even if I replace the "Console.Readline()" with "instance.Run()" it doesn't change anything...</div><div><br></div><div>Compiled with VS2008 (target is framework 2.0), Windows 7 Ultimate x86, running in either debugger or using commandline, strings seem not to be handled correctly :</div>
</div></div></div></div></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#ffffff" text="#000000"><div class="im"><blockquote type="cite">
<div class="gmail_quote">
  <div>[0x3cacc6c] main playlist debug: adding item `☺' ( ☺ )</div>
  <div><br></div></div></blockquote></div></div></blockquote><div><br></div><div>Same binary, launched with mono :</div><div>From commandline : ..\..\Mono-2.4.2.3\bin\mono Test-vs2008.exe</div><div>Strings seems to be handled correctly : </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#ffffff" text="#000000"><div class="im"><blockquote type="cite"><div class="gmail_quote"><div>
  </div>
  
  <div>[0x201fdac] main playlist debug: adding item `a.avi' ( d:\a.avi )</div></div></blockquote></div></div></blockquote><div>But still nothing happen (no feedback).</div><div><br></div><div>If I replace "dummy" interface with "qt" interface, nothing happens too.</div>
<div><br></div><div>Same behavior if compiled with VS2010 targeting 3.0.</div><div><br></div><div>Now, using this code :</div><div>--8<----8<----8<----8<----8<----8<----8<----8<--</div><div><div>                using (VLC instance = new VLC(vlcargs))</div>
<div>                {</div><div>                    Console.WriteLine("Loading Media : >{0}<", video);</div><div>                    Media media = new Media(instance, video);</div><div>                    media.MetaChanged += new Media.MetaChange(media_MetaChanged);</div>
<div><br></div><div>                    Console.WriteLine("Media.Location : >{0}<", media.Location);</div><div>                    Console.WriteLine("Creating Player from media...");</div><div>                    Player player = new Player(media);</div>
<div>                    Console.WriteLine("Playing...");</div><div>                    player.Play();</div><div><br></div><div>                    Console.WriteLine("Waiting for 'Enter' key press to quit...");</div>
<div>                    System.Console.ReadLine();</div><div>                }</div><div><div>--8<----8<----8<----8<----8<----8<----8<----8<--</div><div></div></div><div>with method event handler :</div>
<div><br></div><div><div>--8<----8<----8<----8<----8<----8<----8<----8<--</div><div></div><div>        static void media_MetaChanged(Media media, MetaType type)</div><div>        {</div><div>            System.Console.WriteLine("Media : " + media.Location + "\tMeta : " + type + "\tValue=" + media.GetMeta(type));</div>
<div>        }</div><div><div>--8<----8<----8<----8<----8<----8<----8<----8<--</div><div><br></div><div>Running from commandline, with Mono :</div><div>- Media is created, reading the Media.Location property returns the same string</div>
<div>- When calling the Player.Play() method, I see in console :</div><div><div>--8<----8<----8<----8<----8<----8<----8<----8<--</div><div></div><div>Playing...</div><div>[0x21a8e84] main input debug: Creating an input for 'a.avi'</div>
<div>[0x21a8f24] main input debug: Creating an input for 'a.avi'</div><div>Media : d:\a.avi        Meta : NowPlaying       Value=</div><div><div>Stacktrace:</div><div><br></div><div>  at (wrapper managed-to-native) VideoLAN.LibVLC.LibVLC.PlayerPlay (VideoLAN.LibVLC.PlayerHandle,VideoLAN.LibVLC.NativeException) <0x00004></div>
<div>  at (wrapper managed-to-native) VideoLAN.LibVLC.LibVLC.PlayerPlay (VideoLAN.LibVLC.PlayerHandle,VideoLAN.LibVLC.NativeException) <0xffffffff></div><div>  at VideoLAN.LibVLC.Player.Play () <0x00023></div>
<div>  at Damien.Program.Main (string[]) <0x003d1></div><div>  at (wrapper runtime-invoke) Damien.Program.runtime_invoke_void_object (object,intptr,intptr,intptr) <0xffffffff></div><div><br></div><div>This application has requested the Runtime to terminate it in an unusual way.</div>
<div>Please contact the application's support team for more information.</div><div><div>--8<----8<----8<----8<----8<----8<----8<----8<--</div><div><br></div><div>It seems that there is a native error occuring, that make mono crash.</div>
<div><br></div><div>Running my program directly from commandline (so it uses the Microsoft Framework), behavior is the same (native crash) also with the bad string behavior.</div><div><br></div><div><br></div><div>I hope there is enough details to help find a start of debugging/workaround idea.</div>
<div><br></div><div>Thanks</div><div><br></div><div>Damien</div><div></div></div></div></div><div></div></div></div></div></div>