]> git.sesse.net Git - vlc/blobdiff - test/libvlc/meta.c
jvlc: wait for correct player status before releasing libvlc
[vlc] / test / libvlc / meta.c
index edbd1800bd414be53abfd36110f12c7e42499657..f2e5963d9291a18eaac06ebd64d4a0f098227bd7 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 /**********************************************************************
+ *  Copyright (C) 2007 RĂ©mi Denis-Courmont.                           *
  *  Copyright (C) 2008 Pierre d'Herbemont.                            *
  *  This program is free software; you can redistribute and/or modify *
  *  it under the terms of the GNU General Public License as published *
@@ -38,21 +39,31 @@ static void test_meta (const char ** argv, int argc)
     media = libvlc_media_new (vlc, "samples/meta.sample", &ex);
     catch ();
 
-    /* Tell that we are interested in this precise meta data */
+    /* Tell that we are interested in this precise meta data
+     * This is needed to trigger meta data reading
+     * (the first calls return NULL) */
     artist = libvlc_media_get_meta (media, libvlc_meta_Artist, &ex);
     catch ();
 
     free (artist);
 
     /* Wait for the meta */
-    while (!libvlc_media_is_preparsed (media, &ex)) { catch (); msleep (10000); }
+    while (!libvlc_media_is_preparsed (media, &ex))
+    {
+        catch ();
+        msleep (10000);
+    }
 
     artist = libvlc_media_get_meta (media, libvlc_meta_Artist, &ex);
     catch ();
 
-    assert (artist && !strncmp (artist, "mike"));
+    const char *expected_artist = "mike";
 
-    log ("+ got '%s' as Artist\n", artist);
+    assert (artist);
+    log ("+ got '%s' as Artist, expecting %s\n", artist, expected_artist);
+
+    int string_compare = strcmp (artist, expected_artist);
+    assert (!string_compare);
 
     free (artist);
     libvlc_media_release (media);