00001 /***************************************************************************** 00002 * playlist_preparser.h: 00003 ***************************************************************************** 00004 * Copyright (C) 1999-2008 VLC authors and VideoLAN 00005 * $Id: 4c10e6878a7aa2c180d1aa28b20d001700c0e2ca $ 00006 * 00007 * Authors: Samuel Hocevar <sam@zoy.org> 00008 * Clément Stenac <zorglub@videolan.org> 00009 * 00010 * This program is free software; you can redistribute it and/or modify it 00011 * under the terms of the GNU Lesser General Public License as published by 00012 * the Free Software Foundation; either version 2.1 of the License, or 00013 * (at your option) any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public License 00021 * along with this program; if not, write to the Free Software Foundation, 00022 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00023 *****************************************************************************/ 00024 00025 #ifndef _PLAYLIST_PREPARSER_H 00026 #define _PLAYLIST_PREPARSER_H 1 00027 00028 /** 00029 * Preparser opaque structure. 00030 * 00031 * The preparser object will retreive the meta data of any given input item in 00032 * an asynchronous way. 00033 * It will also issue art fetching requests. 00034 */ 00035 typedef struct playlist_preparser_t playlist_preparser_t; 00036 00037 /** 00038 * This function creates the preparser object and thread. 00039 */ 00040 playlist_preparser_t *playlist_preparser_New( playlist_t *, playlist_fetcher_t * ); 00041 00042 /** 00043 * This function enqueues the provided item to be preparsed. 00044 * 00045 * The input item is retained until the preparsing is done or until the 00046 * preparser object is deleted. 00047 */ 00048 void playlist_preparser_Push( playlist_preparser_t *, input_item_t * ); 00049 00050 /** 00051 * This function destroys the preparser object and thread. 00052 * 00053 * All pending input items will be released. 00054 */ 00055 void playlist_preparser_Delete( playlist_preparser_t * ); 00056 00057 #endif 00058
1.7.1