1 /***************************************************************************** 2 * playlist_fetcher.h: 3 ***************************************************************************** 4 * Copyright (C) 1999-2008 VLC authors and VideoLAN 5 * $Id: 06718acf77542c69d2f881ad5ed8662d693fe2fb $ 6 * 7 * Authors: Samuel Hocevar <sam@zoy.org> 8 * Clément Stenac <zorglub@videolan.org> 9 * 10 * This program is free software; you can redistribute it and/or modify it 11 * under the terms of the GNU Lesser General Public License as published by 12 * the Free Software Foundation; either version 2.1 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License for more details. 19 * 20 * You should have received a copy of the GNU Lesser General Public License 21 * along with this program; if not, write to the Free Software Foundation, 22 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 23 *****************************************************************************/ 24 25 #ifndef _PLAYLIST_FETCHER_H 26 #define _PLAYLIST_FETCHER_H 1 27 28 #include <vlc_input_item.h> 29 30 /** 31 * Fetcher opaque structure. 32 * 33 * The fetcher object will retrieve the art album data for any given input 34 * item in an asynchronous way. 35 */ 36 typedef struct playlist_fetcher_t playlist_fetcher_t; 37 38 /** 39 * This function creates the fetcher object and thread. 40 */ 41 playlist_fetcher_t *playlist_fetcher_New( vlc_object_t * ); 42 43 /** 44 * This function enqueues the provided item to be art fetched. 45 * 46 * The input item is retained until the art fetching is done or until the 47 * fetcher object is destroyed. 48 */ 49 int playlist_fetcher_Push( playlist_fetcher_t *, input_item_t *, 50 input_item_meta_request_option_t, int ); 51 52 /** 53 * This function destroys the fetcher object and thread. 54 * 55 * All pending input items will be released. 56 */ 57 void playlist_fetcher_Delete( playlist_fetcher_t * ); 58 59 #endif 60 61