Example #1
0
static OMX_ERRORTYPE
update_metadata (scloud_prc_t * ap_prc)
{
  assert (ap_prc);

  /* Clear previous metatada items */
  tiz_krn_clear_metadata (tiz_get_krn (handleOf (ap_prc)));

  /* User and track title */
  tiz_check_omx (store_metadata (
    ap_prc, tiz_scloud_get_current_track_user (ap_prc->p_scloud_),
    tiz_scloud_get_current_track_title (ap_prc->p_scloud_)));

  /* Store the year if not 0 */
  {
    const char * p_year = tiz_scloud_get_current_track_year (ap_prc->p_scloud_);
    if (p_year && strncmp (p_year, "0", 4) != 0)
      {
        tiz_check_omx (store_metadata (ap_prc, "Year", p_year));
      }
  }

  /* Duration */
  tiz_check_omx (
    store_metadata (ap_prc, "Duration",
                    tiz_scloud_get_current_track_duration (ap_prc->p_scloud_)));

  /* Likes */
  tiz_check_omx (
    store_metadata (ap_prc, "Likes count",
                    tiz_scloud_get_current_track_likes (ap_prc->p_scloud_)));

  /* Permalink */
  tiz_check_omx (store_metadata (
    ap_prc, "Permalink",
    tiz_scloud_get_current_track_permalink (ap_prc->p_scloud_)));

  /* License */
  tiz_check_omx (
    store_metadata (ap_prc, "License",
                    tiz_scloud_get_current_track_license (ap_prc->p_scloud_)));

  /* Signal that a new set of metatadata items is available */
  (void) tiz_srv_issue_event ((OMX_PTR) ap_prc, OMX_EventIndexSettingChanged,
                              OMX_ALL, /* no particular port associated */
                              OMX_IndexConfigMetadataItem, /* index of the
                                                             struct that has
                                                             been modififed */
                              NULL);

  return OMX_ErrorNone;
}
END_TEST

START_TEST (test_scloud_play_playlist)
{
  tiz_scloud_t *p_soundcloud = NULL;
  int rc = tiz_scloud_init (&p_soundcloud, SOUNDCLOUD_USERNAME, SOUNDCLOUD_PASS);
  ck_assert (0 == rc);
  ck_assert (p_soundcloud);

  rc = tiz_scloud_play_playlist (p_soundcloud, SOUNDCLOUD_PLAYLIST);
  ck_assert (0 == rc);

  /* while (1) */
  {
/*     char cmd[CMD_LEN]; */

    {
      const char *next_url = tiz_scloud_get_next_url (p_soundcloud);
      ck_assert (next_url);
      fprintf (stderr, "url = %s\n", next_url);
    }

    {
      const char *user = tiz_scloud_get_current_track_user (p_soundcloud);
      ck_assert (user);
      fprintf (stderr, "user = %s\n", user);
    }

    {
      const char *title = tiz_scloud_get_current_track_title (p_soundcloud);
      ck_assert (title);
      fprintf (stderr, "title = %s\n", title);
    }

    {
      const char *duration
          = tiz_scloud_get_current_track_duration (p_soundcloud);
      ck_assert (duration);
      fprintf (stderr, "duration = %s\n", duration);
    }

    {
      const char *year = tiz_scloud_get_current_track_year (p_soundcloud);
      ck_assert (year);
      fprintf (stderr, "year = %s\n", year);
    }

    {
      const char *permalink = tiz_scloud_get_current_track_permalink (p_soundcloud);
      ck_assert (permalink);
      fprintf (stderr, "permalink = %s\n", permalink);
    }

    {
      const char *license = tiz_scloud_get_current_track_license (p_soundcloud);
      ck_assert (license);
      fprintf (stderr, "license = %s\n", license);
    }

    /*     snprintf (cmd, CMD_LEN, "%s '%s'", PLAYER, next_url); */
    /*     fprintf (stderr, "cmd = %s\n", cmd); */
    /*     ck_assert (-1 != system (cmd)); */
  }

  tiz_scloud_destroy (p_soundcloud);
}