From: RĂ©mi Denis-Courmont Date: Sat, 21 Feb 2009 16:45:47 +0000 (+0200) Subject: Basic tests for the media player, fix time units X-Git-Tag: 1.0.0-pre1~509 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=6bc5c775567a83d01b1fdc179acf781635f1ebbc;p=vlc Basic tests for the media player, fix time units --- diff --git a/bindings/cil/src/player.cs b/bindings/cil/src/player.cs index fb17b1efa7..2e3d54b65d 100644 --- a/bindings/cil/src/player.cs +++ b/bindings/cil/src/player.cs @@ -193,7 +193,7 @@ namespace VideoLAN.LibVLC } /** - * Total length in microseconds of the playback (if known). + * Total length in milliseconds of the playback (if known). */ public long Length { @@ -206,7 +206,7 @@ namespace VideoLAN.LibVLC } /** - * Playback position in microseconds from the start (if applicable). + * Playback position in milliseconds from the start (if applicable). * Setting this value might not work depending on the underlying * media capability and file format. * @@ -229,6 +229,7 @@ namespace VideoLAN.LibVLC /** * Playback position as a fraction of the total (if applicable). + * At start, this is 0; at the end, this is 1. * Setting this value might not work depending on the underlying * media capability and file format. * diff --git a/bindings/cil/tests/testvlc.cs b/bindings/cil/tests/testvlc.cs index 1e0c9c20e2..3868cadee0 100644 --- a/bindings/cil/tests/testvlc.cs +++ b/bindings/cil/tests/testvlc.cs @@ -35,6 +35,21 @@ namespace VideoLAN.LibVLC.Test Console.WriteLine (" preparsed: {0}", m.IsPreparsed); } + private static void DumpPlayer (Player p) + { + if (!p.IsPlaying) + return; + + int percent = (int)(p.Position * 100); + Console.Write ("{0} of {1} ms ({2}%)\r", p.Time, p.Length, + percent); + } + + private static void Sleep (int msec) + { + System.Threading.Thread.Sleep (msec); + } + public static int Main (string[] args) { string[] argv = new string[]{ @@ -46,13 +61,27 @@ namespace VideoLAN.LibVLC.Test Console.WriteLine (" (compiled with {0})", VLC.Compiler); VLC vlc = new VLC (argv); - Media m = new Media (vlc, "/dev/null"); - DumpMedia (m); + foreach (string mrl in args) + { + Media media = new Media (vlc, mrl); + Player player = new Player (media); + + DumpMedia (media); + DumpMedia ((Media)media.Clone ()); - DumpMedia ((Media)m.Clone ()); + player.Play (); + do + { + DumpPlayer (player); + Sleep (500); + } + while (player.IsPlaying); + player.Stop (); + media.Dispose (); + player.Dispose (); + } vlc.Dispose (); - m.Dispose (); return 0; } };