enum playlist_result playlist_open_into_queue(const char *uri, unsigned start_index, unsigned end_index, struct playlist *dest, struct player_control *pc, bool secure) { GMutex *mutex = g_mutex_new(); GCond *cond = g_cond_new(); struct input_stream *is; struct playlist_provider *playlist = playlist_open_any(uri, mutex, cond, &is); if (playlist == NULL) { g_cond_free(cond); g_mutex_free(mutex); return PLAYLIST_RESULT_NO_SUCH_LIST; } enum playlist_result result = playlist_load_into_queue(uri, playlist, start_index, end_index, dest, pc, secure); playlist_plugin_close(playlist); if (is != NULL) input_stream_close(is); g_cond_free(cond); g_mutex_free(mutex); return result; }
enum playlist_result playlist_open_into_queue(const char *uri, struct playlist *dest, struct player_control *pc, bool secure) { struct input_stream *is; struct playlist_provider *playlist = playlist_open_any(uri, &is); if (playlist == NULL) return PLAYLIST_RESULT_NO_SUCH_LIST; enum playlist_result result = playlist_load_into_queue(uri, playlist, dest, pc, secure); playlist_plugin_close(playlist); if (is != NULL) input_stream_close(is); return result; }