X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_input.h;h=9f20ce1544aaf28522f98031cc64752acbc84680;hb=f2b2e37c04b2921e29daa3260dc696646ad4f10c;hp=998442207a18b2f6e11e869de94bc3a093060983;hpb=fbb8255dcf8ced858d59927cb17c4f577a8d9c15;p=vlc diff --git a/include/vlc_input.h b/include/vlc_input.h index 998442207a..9f20ce1544 100644 --- a/include/vlc_input.h +++ b/include/vlc_input.h @@ -31,7 +31,7 @@ #include #include -#include /* strstr() */ +#include /* strcasestr() */ struct vlc_meta_t; @@ -58,7 +58,7 @@ struct input_item_t char *psz_name; /**< text describing this item */ char *psz_uri; /**< mrl of this item */ - bool b_fixed_name; /**< Can the interface change the name ?*/ + bool b_fixed_name; /**< Can the interface change the name ?*/ int i_options; /**< Number of input options */ char **ppsz_options; /**< Array of input options */ @@ -78,6 +78,8 @@ struct input_item_t input_stats_t *p_stats; /**< Statistics */ int i_nb_played; /**< Number of times played */ + bool b_error_when_reading; /**< Error When Reading */ + vlc_meta_t *p_meta; vlc_event_manager_t event_manager; @@ -157,6 +159,12 @@ int input_ItemAddOption (input_item_t *item, const char *str) return input_ItemAddOpt (item, str, VLC_INPUT_OPTION_TRUSTED); } +static inline +int input_ItemHasErrorWhenReading (input_item_t *item) +{ + return item->b_error_when_reading; +} + VLC_EXPORT( void, input_item_SetMeta, ( input_item_t *p_i, vlc_meta_type_t meta_type, const char *psz_val )); @@ -169,7 +177,7 @@ static inline bool input_item_MetaMatch( input_item_t *p_i, vlc_meta_type_t meta return false; } const char * meta = vlc_meta_Get( p_i->p_meta, meta_type ); - bool ret = meta && strstr( meta, psz ); + bool ret = meta && strcasestr( meta, psz ); vlc_mutex_unlock( &p_i->lock ); return ret; @@ -403,7 +411,7 @@ typedef struct { char *psz_name; - bool b_menu; /* Is it a menu or a normal entry */ + bool b_menu; /* Is it a menu or a normal entry */ int64_t i_length; /* Length(microsecond) if known, else 0 */ int64_t i_size; /* Size (bytes) if known, else 0 */ @@ -467,6 +475,7 @@ static inline input_title_t *vlc_input_title_Duplicate( input_title_t *t ) return dup; } + /***************************************************************************** * Attachments *****************************************************************************/ @@ -479,6 +488,7 @@ struct input_attachment_t int i_data; void *p_data; }; + static inline input_attachment_t *vlc_input_attachment_New( const char *psz_name, const char *psz_mime, const char *psz_description, @@ -517,20 +527,26 @@ static inline void vlc_input_attachment_Delete( input_attachment_t *a ) free( a->p_data ); free( a ); } + /***************************************************************************** * input defines/constants. *****************************************************************************/ /* "state" value */ +/* NOTE: you need to update ppsz_input_state in the RC interface + * if you modify this list. */ enum input_state_e { - INIT_S, + INIT_S = 0, OPENING_S, BUFFERING_S, PLAYING_S, PAUSE_S, + STOP_S, + FORWARD_S, + BACKWARD_S, END_S, - ERROR_S + ERROR_S, }; /* "rate" default, min/max @@ -662,4 +678,6 @@ VLC_EXPORT( void, input_DecoderDecode,( decoder_t *, block_t * ) ); VLC_EXPORT( bool, input_AddSubtitles, ( input_thread_t *, char *, bool ) ); +VLC_EXPORT( vlc_event_manager_t *, input_get_event_manager, ( input_thread_t * ) ); + #endif