*/
/**********************************************************************
+ * 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 *
* http://www.gnu.org/copyleft/gpl.html *
**********************************************************************/
+#include <strings.h>
+
#include "test.h"
static void test_meta (const char ** argv, int argc)
log ("Testing meta\n");
libvlc_exception_init (&ex);
- vlc = libvlc_new (argc, argv, &ex);
- catch ();
+ vlc = libvlc_new (argc, argv);
+ assert (vlc != NULL);
media = libvlc_media_new (vlc, "samples/meta.sample", &ex);
catch ();
- /* Tell that we are interested in this precise meta data */
- artist = libvlc_media_get_meta (media, libvlc_meta_Artist, &ex);
- catch ();
+ /* 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);
free (artist);
/* Wait for the meta */
- while (!libvlc_media_is_preparsed (media, &ex)) { catch (); msleep (10000); }
+ while (!libvlc_media_is_preparsed (media))
+ {
+ usleep (10000);
+ }
- artist = libvlc_media_get_meta (media, libvlc_meta_Artist, &ex);
- catch ();
+ artist = libvlc_media_get_meta (media, libvlc_meta_Artist);
+
+ const char *expected_artist = "mike";
- assert (artist && !strncmp (artist, "mike", 4));
+ assert (artist);
+ log ("+ got '%s' as Artist, expecting %s\n", artist, expected_artist);
- log ("+ got '%s' as Artist\n", artist);
+ int string_compare = strcmp (artist, expected_artist);
+ assert (!string_compare);
free (artist);
libvlc_media_release (media);