X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_input_item.h;h=d0a6854efffc3d7ba36b0f4b9e869173df3fae05;hb=4089c841ccaade63169fbb723a4107eddafc31b0;hp=d1f019898a742cae114119752947d495b9ea2354;hpb=ff8e72230774cb621fb3f5a350f681283973f0f5;p=vlc diff --git a/include/vlc_input_item.h b/include/vlc_input_item.h index d1f019898a..d0a6854eff 100644 --- a/include/vlc_input_item.h +++ b/include/vlc_input_item.h @@ -74,7 +74,6 @@ struct input_item_t es_format_t **es; /**< Es formats */ input_stats_t *p_stats; /**< Statistics */ - int i_nb_played; /**< Number of times played */ vlc_meta_t *p_meta; @@ -86,7 +85,8 @@ struct input_item_t vlc_mutex_t lock; /**< Lock for the item */ uint8_t i_type; /**< Type (file, disc, ... see input_item_type_e) */ - bool b_fixed_name; /**< Can the interface change the name ?*/ + bool b_net; /**< Net: always true for TYPE_STREAM, it + depends for others types */ bool b_error_when_reading;/**< Error When Reading */ }; @@ -100,7 +100,7 @@ enum input_item_type_e ITEM_TYPE_DISC, ITEM_TYPE_CDDA, ITEM_TYPE_CARD, - ITEM_TYPE_NET, + ITEM_TYPE_STREAM, ITEM_TYPE_PLAYLIST, ITEM_TYPE_NODE, @@ -176,8 +176,8 @@ enum input_item_option_e * By default options are untrusted */ VLC_INPUT_OPTION_TRUSTED = 0x2, - /* Change the value associated to an option if already present, otherwise - * add the option */ + /* Add the option, unless the same option + * is already present. */ VLC_INPUT_OPTION_UNIQUE = 0x100, }; @@ -194,6 +194,7 @@ VLC_API char * input_item_GetMeta( input_item_t *p_i, vlc_meta_type_t meta_type VLC_API char * input_item_GetName( input_item_t * p_i ) VLC_USED; VLC_API char * input_item_GetTitleFbName( input_item_t * p_i ) VLC_USED; VLC_API char * input_item_GetURI( input_item_t * p_i ) VLC_USED; +VLC_API char * input_item_GetNowPlayingFb( input_item_t *p_item ) VLC_USED; VLC_API void input_item_SetURI( input_item_t * p_i, const char *psz_uri ); VLC_API mtime_t input_item_GetDuration( input_item_t * p_i ); VLC_API void input_item_SetDuration( input_item_t * p_i, mtime_t i_duration ); @@ -225,11 +226,17 @@ INPUT_META(Setting) INPUT_META(URL) INPUT_META(Language) INPUT_META(NowPlaying) +INPUT_META(ESNowPlaying) INPUT_META(Publisher) INPUT_META(EncodedBy) INPUT_META(ArtworkURL) INPUT_META(TrackID) INPUT_META(TrackTotal) +INPUT_META(Director) +INPUT_META(Season) +INPUT_META(Episode) +INPUT_META(ShowName) +INPUT_META(Actors) #define input_item_SetTrackNum input_item_SetTrackNumber #define input_item_GetTrackNum input_item_GetTrackNumber @@ -250,6 +257,16 @@ VLC_API void input_item_MergeInfos( input_item_t *, info_category_t * ); */ VLC_API input_item_t * input_item_NewWithType( const char *psz_uri, const char *psz_name, int i_options, const char *const *ppsz_options, unsigned i_option_flags, mtime_t i_duration, int i_type ) VLC_USED; +/** + * This function creates a new input_item_t with the provided information. + * + * \param i_net 1/0: force b_net to true/false, -1: default (guess it) + * + * XXX You may also use input_item_New, input_item_NewExt, or + * input_item_NewWithType as they need less arguments. + */ +VLC_API input_item_t * input_item_NewWithTypeExt( const char *psz_uri, const char *psz_name, int i_options, const char *const *ppsz_options, unsigned i_option_flags, mtime_t i_duration, int i_type, int i_net ) VLC_USED; + /** * This function creates a new input_item_t with the provided information. * @@ -279,8 +296,18 @@ VLC_API void input_item_Release(input_item_t *); #define vlc_gc_incref(i) input_item_Hold(i) #define vlc_gc_decref(i) input_item_Release(i) -VLC_API int libvlc_MetaRequest(libvlc_int_t *, input_item_t *); -VLC_API int libvlc_ArtRequest(libvlc_int_t *, input_item_t *); +typedef enum input_item_meta_request_option_t +{ + META_REQUEST_OPTION_NONE = 0x00, + META_REQUEST_OPTION_SCOPE_LOCAL = 0x01, + META_REQUEST_OPTION_SCOPE_NETWORK = 0x02, + META_REQUEST_OPTION_SCOPE_ANY = 0x03 +} input_item_meta_request_option_t; + +VLC_API int libvlc_MetaRequest(libvlc_int_t *, input_item_t *, + input_item_meta_request_option_t ); +VLC_API int libvlc_ArtRequest(libvlc_int_t *, input_item_t *, + input_item_meta_request_option_t ); /****************** * Input stats