00001 /***************************************************************************** 00002 * input_interface.h: Input functions usable outside input code. 00003 ***************************************************************************** 00004 * Copyright (C) 1998-2008 VLC authors and VideoLAN 00005 * $Id: a14d5a3b79c5194f084506dd094d855b01af5786 $ 00006 * 00007 * Authors: Laurent Aimar < fenrir _AT_ videolan _DOT_ org > 00008 * 00009 * This program is free software; you can redistribute it and/or modify it 00010 * under the terms of the GNU Lesser General Public License as published by 00011 * the Free Software Foundation; either version 2.1 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU Lesser General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU Lesser General Public License 00020 * along with this program; if not, write to the Free Software Foundation, 00021 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00022 *****************************************************************************/ 00023 00024 #ifndef LIBVLC_INPUT_INTERFACE_H 00025 #define LIBVLC_INPUT_INTERFACE_H 1 00026 00027 #include <vlc_input.h> 00028 #include <libvlc.h> 00029 00030 /********************************************************************** 00031 * Item metadata 00032 **********************************************************************/ 00033 void input_item_SetPreparsed( input_item_t *p_i, bool b_preparsed ); 00034 void input_item_SetArtNotFound( input_item_t *p_i, bool b_not_found ); 00035 void input_item_SetArtFetched( input_item_t *p_i, bool b_art_fetched ); 00036 void input_item_SetEpg( input_item_t *p_item, const vlc_epg_t *p_epg ); 00037 void input_item_SetEpgOffline( input_item_t * ); 00038 00039 int input_Preparse( vlc_object_t *, input_item_t * ); 00040 00041 /* misc/stats.c 00042 * FIXME it should NOT be defined here or not coded in misc/stats.c */ 00043 input_stats_t *stats_NewInputStats( input_thread_t *p_input ); 00044 00045 /** 00046 * This function deletes the current sout in the resources. 00047 */ 00048 void input_resource_TerminateSout( input_resource_t *p_resource ); 00049 00050 /** 00051 * This function return true if there is at least one vout in the resources. 00052 * 00053 * It can only be called on detached resources. 00054 */ 00055 bool input_resource_HasVout( input_resource_t *p_resource ); 00056 00057 /* input.c */ 00058 00059 /* */ 00060 typedef enum 00061 { 00062 INPUT_STATISTIC_DECODED_VIDEO, 00063 INPUT_STATISTIC_DECODED_AUDIO, 00064 INPUT_STATISTIC_DECODED_SUBTITLE, 00065 00066 /* Use them only if you do not goes through a access_out module */ 00067 INPUT_STATISTIC_SENT_PACKET, 00068 INPUT_STATISTIC_SENT_BYTE, 00069 00070 } input_statistic_t; 00071 /** 00072 * It will update internal input statistics from external sources. 00073 * XXX For now, the only one allowed to do it is stream_out and input core. 00074 */ 00075 void input_UpdateStatistic( input_thread_t *, input_statistic_t, int i_delta ); 00076 00077 #endif
1.7.1