/*****************************************************************************
- * input_interface.h: Input functions usable ouside input code.
+ * input_interface.h: Input functions usable outside input code.
*****************************************************************************
* Copyright (C) 1998-2008 the VideoLAN team
* $Id$
/**********************************************************************
* Item metadata
**********************************************************************/
-int input_ArtFind( playlist_t *, input_item_t * );
-int input_DownloadAndCacheArt( playlist_t *, input_item_t * );
-
void input_item_SetPreparsed( input_item_t *p_i, bool b_preparsed );
-
-typedef struct playlist_album_t
-{
- char *psz_artist;
- char *psz_album;
- char *psz_arturl;
- bool b_found;
-} playlist_album_t;
-
-
void input_item_SetArtNotFound( input_item_t *p_i, bool b_not_found );
void input_item_SetArtFetched( input_item_t *p_i, bool b_art_fetched );
+void input_item_SetEpg( input_item_t *p_item, const vlc_epg_t *p_epg );
+void input_item_SetEpgOffline( input_item_t * );
+
+int input_Preparse( vlc_object_t *, input_item_t * );
/* misc/stats.c
* FIXME it should NOT be defined here or not coded in misc/stats.c */
input_stats_t *stats_NewInputStats( input_thread_t *p_input );
+/**
+ * This function deletes the current sout in the resources.
+ */
+void input_resource_TerminateSout( input_resource_t *p_resource );
+
+/**
+ * This function return true if there is at least one vout in the resources.
+ *
+ * It can only be called on detached resources.
+ */
+bool input_resource_HasVout( input_resource_t *p_resource );
+
/* input.c */
-#define input_CreateThreadExtended(a,b,c,d) __input_CreateThreadExtended(VLC_OBJECT(a),b,c,d)
-input_thread_t *__input_CreateThreadExtended ( vlc_object_t *, input_item_t *, const char *, sout_instance_t * );
-sout_instance_t * input_DetachSout( input_thread_t *p_input );
+/* */
+typedef enum
+{
+ INPUT_STATISTIC_DECODED_VIDEO,
+ INPUT_STATISTIC_DECODED_AUDIO,
+ INPUT_STATISTIC_DECODED_SUBTITLE,
+
+ /* Use them only if you do not goes through a access_out module */
+ INPUT_STATISTIC_SENT_PACKET,
+ INPUT_STATISTIC_SENT_BYTE,
+
+} input_statistic_t;
+/**
+ * It will update internal input statistics from external sources.
+ * XXX For now, the only one allowed to do it is stream_out and input core.
+ */
+void input_UpdateStatistic( input_thread_t *, input_statistic_t, int i_delta );
#endif