static OMX_ERRORTYPE scloud_prc_allocate_resources (void * ap_obj, OMX_U32 a_pid) { scloud_prc_t * p_prc = ap_obj; OMX_ERRORTYPE rc = OMX_ErrorInsufficientResources; assert (p_prc); tiz_check_omx (retrieve_session_configuration (p_prc)); tiz_check_omx (retrieve_playlist (p_prc)); tiz_check_omx (retrieve_buffer_size (p_prc)); if (p_prc->buffer_size_.nCapacity) { p_prc->buffer_bytes_ = ((p_prc->bitrate_ * 1000) / 8) * p_prc->buffer_size_.nCapacity; } on_scloud_error_ret_omx_oom (tiz_scloud_init ( &(p_prc->p_scloud_), (const char *) p_prc->session_.cUserOauthToken)); tiz_check_omx (enqueue_playlist_items (p_prc)); tiz_check_omx (obtain_next_url (p_prc, 1)); { const tiz_urltrans_buffer_cbacks_t buffer_cbacks = {buffer_filled, buffer_emptied}; const tiz_urltrans_info_cbacks_t info_cbacks = {header_available, data_available, connection_lost}; const tiz_urltrans_event_io_cbacks_t io_cbacks = {tiz_srv_io_watcher_init, tiz_srv_io_watcher_destroy, tiz_srv_io_watcher_start, tiz_srv_io_watcher_stop}; const tiz_urltrans_event_timer_cbacks_t timer_cbacks = {tiz_srv_timer_watcher_init, tiz_srv_timer_watcher_destroy, tiz_srv_timer_watcher_start, tiz_srv_timer_watcher_stop, tiz_srv_timer_watcher_restart}; rc = tiz_urltrans_init (&(p_prc->p_trans_), p_prc, p_prc->p_uri_param_, ARATELIA_HTTP_SOURCE_COMPONENT_NAME, p_prc->buffer_bytes_, ARATELIA_HTTP_SOURCE_DEFAULT_RECONNECT_TIMEOUT, buffer_cbacks, info_cbacks, io_cbacks, timer_cbacks); } return rc; }
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); }