input_interface.h

Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines