VLC 4.0.0-dev
vlc_media_library.h File Reference
Include dependency graph for vlc_media_library.h:

Go to the source code of this file.

Data Structures

struct  vlc_ml_thumbnail_t
 
struct  vlc_ml_movie_t
 
struct  vlc_ml_show_episode_t
 
struct  vlc_ml_show_t
 
struct  vlc_ml_label_t
 
struct  vlc_ml_label_list_t
 
struct  vlc_ml_file_t
 
struct  vlc_ml_file_list_t
 
struct  vlc_ml_media_track_t
 
struct  vlc_ml_media_track_list_t
 
struct  vlc_ml_media_t
 
struct  vlc_ml_group_t
 
struct  vlc_ml_playlist_t
 
struct  vlc_ml_artist_t
 
struct  vlc_ml_artist_list_t
 
struct  vlc_ml_album_t
 
struct  vlc_ml_genre_t
 
struct  vlc_ml_media_list_t
 
struct  vlc_ml_album_list_t
 
struct  vlc_ml_show_list_t
 
struct  vlc_ml_genre_list_t
 
struct  vlc_ml_group_list_t
 
struct  vlc_ml_playlist_list_t
 
struct  vlc_ml_folder_t
 
struct  vlc_ml_folder_list_t
 
struct  vlc_ml_bookmark_t
 
struct  vlc_ml_boomkmark_list_t
 
struct  vlc_ml_query_params_t
 
struct  vlc_ml_playback_states_all
 
struct  vlc_ml_event_t
 
struct  vlc_medialibrary_callbacks_t
 
struct  vlc_medialibrary_module_t
 

Macros

#define vlc_ml_instance_get(x)   vlc_ml_instance_get( VLC_OBJECT(x) )
 
#define vlc_ml_release(OBJ)
 

Typedefs

typedef enum vlc_ml_media_type_t vlc_ml_media_type_t
 
typedef enum vlc_ml_media_subtype_t vlc_ml_media_subtype_t
 
typedef enum vlc_ml_file_type_t vlc_ml_file_type_t
 
typedef enum vlc_ml_track_type_t vlc_ml_track_type_t
 
typedef enum vlc_ml_thumbnail_size_t vlc_ml_thumbnail_size_t
 
typedef enum vlc_ml_thumbnail_status_t vlc_ml_thumbnail_status_t
 
typedef enum vlc_ml_history_type_t vlc_ml_history_type_t
 
typedef enum vlc_ml_playlist_type_t vlc_ml_playlist_type_t
 
typedef struct vlc_ml_thumbnail_t vlc_ml_thumbnail_t
 
typedef struct vlc_ml_movie_t vlc_ml_movie_t
 
typedef struct vlc_ml_show_episode_t vlc_ml_show_episode_t
 
typedef struct vlc_ml_show_t vlc_ml_show_t
 
typedef struct vlc_ml_label_t vlc_ml_label_t
 
typedef struct vlc_ml_label_list_t vlc_ml_label_list_t
 
typedef struct vlc_ml_file_t vlc_ml_file_t
 
typedef struct vlc_ml_file_list_t vlc_ml_file_list_t
 
typedef struct vlc_ml_media_track_t vlc_ml_media_track_t
 
typedef struct vlc_ml_media_track_list_t vlc_ml_media_track_list_t
 
typedef struct vlc_ml_media_t vlc_ml_media_t
 
typedef struct vlc_ml_group_t vlc_ml_group_t
 
typedef struct vlc_ml_playlist_t vlc_ml_playlist_t
 
typedef struct vlc_ml_artist_t vlc_ml_artist_t
 
typedef struct vlc_ml_artist_list_t vlc_ml_artist_list_t
 
typedef struct vlc_ml_album_t vlc_ml_album_t
 
typedef struct vlc_ml_genre_t vlc_ml_genre_t
 
typedef struct vlc_ml_media_list_t vlc_ml_media_list_t
 
typedef struct vlc_ml_album_list_t vlc_ml_album_list_t
 
typedef struct vlc_ml_show_list_t vlc_ml_show_list_t
 
typedef struct vlc_ml_genre_list_t vlc_ml_genre_list_t
 
typedef struct vlc_ml_group_list_t vlc_ml_group_list_t
 
typedef struct vlc_ml_playlist_list_t vlc_ml_playlist_list_t
 
typedef struct vlc_ml_folder_t vlc_ml_folder_t
 
typedef struct vlc_ml_folder_list_t vlc_ml_folder_list_t
 
typedef struct vlc_ml_bookmark_t vlc_ml_bookmark_t
 
typedef struct vlc_ml_boomkmark_list_t vlc_ml_bookmark_list_t
 
typedef struct vlc_medialibrary_t vlc_medialibrary_t
 
typedef struct vlc_medialibrary_module_t vlc_medialibrary_module_t
 
typedef struct vlc_ml_event_callback_t vlc_ml_event_callback_t
 
typedef enum vlc_ml_sorting_criteria_t vlc_ml_sorting_criteria_t
 
typedef struct vlc_ml_query_params_t vlc_ml_query_params_t
 
typedef struct vlc_ml_playback_states_all vlc_ml_playback_states_all
 
typedef struct vlc_ml_event_t vlc_ml_event_t
 
typedef void(* vlc_ml_callback_t) (void *p_data, const vlc_ml_event_t *p_event)
 
typedef struct vlc_medialibrary_callbacks_t vlc_medialibrary_callbacks_t
 

Enumerations

enum  vlc_ml_media_type_t { VLC_ML_MEDIA_TYPE_UNKNOWN , VLC_ML_MEDIA_TYPE_VIDEO , VLC_ML_MEDIA_TYPE_AUDIO }
 
enum  vlc_ml_media_subtype_t { VLC_ML_MEDIA_SUBTYPE_UNKNOWN , VLC_ML_MEDIA_SUBTYPE_SHOW_EPISODE , VLC_ML_MEDIA_SUBTYPE_MOVIE , VLC_ML_MEDIA_SUBTYPE_ALBUMTRACK }
 
enum  vlc_ml_file_type_t {
  VLC_ML_FILE_TYPE_UNKNOWN , VLC_ML_FILE_TYPE_MAIN , VLC_ML_FILE_TYPE_PART , VLC_ML_FILE_TYPE_SOUNDTRACK ,
  VLC_ML_FILE_TYPE_SUBTITLE , VLC_ML_FILE_TYPE_PLAYLIST
}
 
enum  vlc_ml_track_type_t { VLC_ML_TRACK_TYPE_UNKNOWN , VLC_ML_TRACK_TYPE_VIDEO , VLC_ML_TRACK_TYPE_AUDIO }
 
enum  vlc_ml_thumbnail_size_t { VLC_ML_THUMBNAIL_SMALL , VLC_ML_THUMBNAIL_BANNER , VLC_ML_THUMBNAIL_SIZE_COUNT }
 
enum  vlc_ml_thumbnail_status_t {
  VLC_ML_THUMBNAIL_STATUS_MISSING , VLC_ML_THUMBNAIL_STATUS_AVAILABLE , VLC_ML_THUMBNAIL_STATUS_FAILURE , VLC_ML_THUMBNAIL_STATUS_PERSISTENT_FAILURE ,
  VLC_ML_THUMBNAIL_STATUS_CRASH
}
 
enum  vlc_ml_history_type_t { VLC_ML_HISTORY_TYPE_MEDIA , VLC_ML_HISTORY_TYPE_NETWORK }
 
enum  vlc_ml_playlist_type_t { VLC_ML_PLAYLIST_TYPE_ALL , VLC_ML_PLAYLIST_TYPE_AUDIO , VLC_ML_PLAYLIST_TYPE_VIDEO }
 
enum  vlc_ml_sorting_criteria_t {
  VLC_ML_SORTING_DEFAULT , VLC_ML_SORTING_ALPHA , VLC_ML_SORTING_DURATION , VLC_ML_SORTING_INSERTIONDATE ,
  VLC_ML_SORTING_LASTMODIFICATIONDATE , VLC_ML_SORTING_RELEASEDATE , VLC_ML_SORTING_FILESIZE , VLC_ML_SORTING_ARTIST ,
  VLC_ML_SORTING_PLAYCOUNT , VLC_ML_SORTING_ALBUM , VLC_ML_SORTING_FILENAME , VLC_ML_SORTING_TRACKNUMBER
}
 
enum  vlc_ml_get_queries {
  VLC_ML_GET_MEDIA , VLC_ML_GET_MEDIA_BY_MRL , VLC_ML_GET_INPUT_ITEM , VLC_ML_GET_INPUT_ITEM_BY_MRL ,
  VLC_ML_GET_ALBUM , VLC_ML_GET_ARTIST , VLC_ML_GET_GENRE , VLC_ML_GET_SHOW ,
  VLC_ML_GET_PLAYLIST , VLC_ML_GET_GROUP , VLC_ML_GET_FOLDER
}
 
enum  vlc_ml_list_queries {
  VLC_ML_LIST_VIDEOS , VLC_ML_COUNT_VIDEOS , VLC_ML_LIST_AUDIOS , VLC_ML_COUNT_AUDIOS ,
  VLC_ML_LIST_ALBUMS , VLC_ML_COUNT_ALBUMS , VLC_ML_LIST_GENRES , VLC_ML_COUNT_GENRES ,
  VLC_ML_LIST_ARTISTS , VLC_ML_COUNT_ARTISTS , VLC_ML_LIST_SHOWS , VLC_ML_COUNT_SHOWS ,
  VLC_ML_LIST_GROUPS , VLC_ML_COUNT_GROUPS , VLC_ML_LIST_PLAYLISTS , VLC_ML_COUNT_PLAYLISTS ,
  VLC_ML_LIST_HISTORY , VLC_ML_COUNT_HISTORY , VLC_ML_LIST_HISTORY_BY_TYPE , VLC_ML_COUNT_HISTORY_BY_TYPE ,
  VLC_ML_LIST_STREAM_HISTORY , VLC_ML_COUNT_STREAM_HISTORY , VLC_ML_LIST_ENTRY_POINTS , VLC_ML_COUNT_ENTRY_POINTS ,
  VLC_ML_LIST_FOLDERS , VLC_ML_COUNT_FOLDERS , VLC_ML_LIST_FOLDERS_BY_TYPE , VLC_ML_COUNT_FOLDERS_BY_TYPE ,
  VLC_ML_LIST_ALBUM_TRACKS , VLC_ML_COUNT_ALBUM_TRACKS , VLC_ML_LIST_ALBUM_ARTISTS , VLC_ML_COUNT_ALBUM_ARTISTS ,
  VLC_ML_LIST_ARTIST_ALBUMS , VLC_ML_COUNT_ARTIST_ALBUMS , VLC_ML_LIST_ARTIST_TRACKS , VLC_ML_COUNT_ARTIST_TRACKS ,
  VLC_ML_LIST_GENRE_ARTISTS , VLC_ML_COUNT_GENRE_ARTISTS , VLC_ML_LIST_GENRE_TRACKS , VLC_ML_COUNT_GENRE_TRACKS ,
  VLC_ML_LIST_GENRE_ALBUMS , VLC_ML_COUNT_GENRE_ALBUMS , VLC_ML_LIST_SHOW_EPISODES , VLC_ML_COUNT_SHOW_EPISODES ,
  VLC_ML_LIST_MEDIA_LABELS , VLC_ML_COUNT_MEDIA_LABELS , VLC_ML_LIST_MEDIA_BOOKMARKS , VLC_ML_LIST_GROUP_MEDIA ,
  VLC_ML_COUNT_GROUP_MEDIA , VLC_ML_LIST_PLAYLIST_MEDIA , VLC_ML_COUNT_PLAYLIST_MEDIA , VLC_ML_LIST_SUBFOLDERS ,
  VLC_ML_COUNT_SUBFOLDERS , VLC_ML_LIST_FOLDER_MEDIA , VLC_ML_COUNT_FOLDER_MEDIA , VLC_ML_LIST_MEDIA_OF ,
  VLC_ML_COUNT_MEDIA_OF , VLC_ML_LIST_VIDEO_OF , VLC_ML_COUNT_VIDEO_OF , VLC_ML_LIST_AUDIO_OF ,
  VLC_ML_COUNT_AUDIO_OF , VLC_ML_LIST_ARTISTS_OF , VLC_ML_COUNT_ARTISTS_OF , VLC_ML_LIST_ALBUMS_OF ,
  VLC_ML_COUNT_ALBUMS_OF
}
 
enum  vlc_ml_parent_type {
  VLC_ML_PARENT_UNKNOWN , VLC_ML_PARENT_ALBUM , VLC_ML_PARENT_ARTIST , VLC_ML_PARENT_SHOW ,
  VLC_ML_PARENT_GENRE , VLC_ML_PARENT_GROUP , VLC_ML_PARENT_FOLDER , VLC_ML_PARENT_PLAYLIST
}
 
enum  vlc_ml_control {
  VLC_ML_ADD_FOLDER , VLC_ML_REMOVE_FOLDER , VLC_ML_BAN_FOLDER , VLC_ML_UNBAN_FOLDER ,
  VLC_ML_IS_INDEXED , VLC_ML_RELOAD_FOLDER , VLC_ML_PAUSE_BACKGROUND , VLC_ML_RESUME_BACKGROUND ,
  VLC_ML_CLEAR_HISTORY , VLC_ML_NEW_EXTERNAL_MEDIA , VLC_ML_NEW_STREAM , VLC_ML_MEDIA_UPDATE_PROGRESS ,
  VLC_ML_MEDIA_GET_MEDIA_PLAYBACK_STATE , VLC_ML_MEDIA_SET_MEDIA_PLAYBACK_STATE , VLC_ML_MEDIA_GET_ALL_MEDIA_PLAYBACK_STATES , VLC_ML_MEDIA_SET_ALL_MEDIA_PLAYBACK_STATES ,
  VLC_ML_MEDIA_SET_THUMBNAIL , VLC_ML_MEDIA_SET_GENRE_THUMBNAIL , VLC_ML_MEDIA_GENERATE_THUMBNAIL , VLC_ML_MEDIA_ADD_EXTERNAL_MRL ,
  VLC_ML_MEDIA_SET_TYPE , VLC_ML_MEDIA_SET_PLAYED , VLC_ML_MEDIA_SET_FAVORITE , VLC_ML_MEDIA_ADD_BOOKMARK ,
  VLC_ML_MEDIA_REMOVE_BOOKMARK , VLC_ML_MEDIA_REMOVE_ALL_BOOKMARKS , VLC_ML_MEDIA_UPDATE_BOOKMARK , VLC_ML_PLAYLIST_CREATE ,
  VLC_ML_PLAYLIST_DELETE , VLC_ML_PLAYLIST_APPEND , VLC_ML_PLAYLIST_INSERT , VLC_ML_PLAYLIST_MOVE ,
  VLC_ML_PLAYLIST_REMOVE , VLC_ML_PLAYLIST_RENAME
}
 
enum  vlc_ml_playback_state {
  VLC_ML_PLAYBACK_STATE_RATING , VLC_ML_PLAYBACK_STATE_SPEED , VLC_ML_PLAYBACK_STATE_TITLE , VLC_ML_PLAYBACK_STATE_CHAPTER ,
  VLC_ML_PLAYBACK_STATE_PROGRAM , VLC_ML_PLAYBACK_STATE_VIDEO_TRACK , VLC_ML_PLAYBACK_STATE_ASPECT_RATIO , VLC_ML_PLAYBACK_STATE_ZOOM ,
  VLC_ML_PLAYBACK_STATE_CROP , VLC_ML_PLAYBACK_STATE_DEINTERLACE , VLC_ML_PLAYBACK_STATE_VIDEO_FILTER , VLC_ML_PLAYBACK_STATE_AUDIO_TRACK ,
  VLC_ML_PLAYBACK_STATE_GAIN , VLC_ML_PLAYBACK_STATE_AUDIO_DELAY , VLC_ML_PLAYBACK_STATE_SUBTITLE_TRACK , VLC_ML_PLAYBACK_STATE_SUBTITLE_DELAY ,
  VLC_ML_PLAYBACK_STATE_APP_SPECIFIC
}
 User playback settings. More...
 
enum  vlc_ml_event_type {
  VLC_ML_EVENT_MEDIA_ADDED , VLC_ML_EVENT_MEDIA_UPDATED , VLC_ML_EVENT_MEDIA_DELETED , VLC_ML_EVENT_ARTIST_ADDED ,
  VLC_ML_EVENT_ARTIST_UPDATED , VLC_ML_EVENT_ARTIST_DELETED , VLC_ML_EVENT_ALBUM_ADDED , VLC_ML_EVENT_ALBUM_UPDATED ,
  VLC_ML_EVENT_ALBUM_DELETED , VLC_ML_EVENT_GROUP_ADDED , VLC_ML_EVENT_GROUP_UPDATED , VLC_ML_EVENT_GROUP_DELETED ,
  VLC_ML_EVENT_PLAYLIST_ADDED , VLC_ML_EVENT_PLAYLIST_UPDATED , VLC_ML_EVENT_PLAYLIST_DELETED , VLC_ML_EVENT_GENRE_ADDED ,
  VLC_ML_EVENT_GENRE_UPDATED , VLC_ML_EVENT_GENRE_DELETED , VLC_ML_EVENT_BOOKMARKS_ADDED , VLC_ML_EVENT_BOOKMARKS_UPDATED ,
  VLC_ML_EVENT_BOOKMARKS_DELETED , VLC_ML_EVENT_FOLDER_ADDED , VLC_ML_EVENT_FOLDER_UPDATED , VLC_ML_EVENT_FOLDER_DELETED ,
  VLC_ML_EVENT_DISCOVERY_STARTED , VLC_ML_EVENT_DISCOVERY_PROGRESS , VLC_ML_EVENT_DISCOVERY_COMPLETED , VLC_ML_EVENT_DISCOVERY_FAILED ,
  VLC_ML_EVENT_ENTRY_POINT_ADDED , VLC_ML_EVENT_ENTRY_POINT_REMOVED , VLC_ML_EVENT_ENTRY_POINT_BANNED , VLC_ML_EVENT_ENTRY_POINT_UNBANNED ,
  VLC_ML_EVENT_BACKGROUND_IDLE_CHANGED , VLC_ML_EVENT_PARSING_PROGRESS_UPDATED , VLC_ML_EVENT_MEDIA_THUMBNAIL_GENERATED , VLC_ML_EVENT_HISTORY_CHANGED ,
  VLC_ML_EVENT_RESCAN_STARTED
}
 

Functions

vlc_medialibrary_tlibvlc_MlCreate (libvlc_int_t *p_libvlc)
 
void libvlc_MlRelease (vlc_medialibrary_t *p_ml)
 
vlc_medialibrary_tvlc_ml_instance_get (vlc_object_t *p_obj)
 
void * vlc_ml_get (vlc_medialibrary_t *p_ml, int i_query,...)
 
int vlc_ml_control (vlc_medialibrary_t *p_ml, int i_query,...)
 
int vlc_ml_list (vlc_medialibrary_t *p_ml, int i_query, const vlc_ml_query_params_t *p_params,...)
 
vlc_ml_event_callback_tvlc_ml_event_register_callback (vlc_medialibrary_t *p_ml, vlc_ml_callback_t cb, void *p_data)
 Registers a medialibrary callback. More...
 
void vlc_ml_event_unregister_callback (vlc_medialibrary_t *p_ml, vlc_ml_event_callback_t *p_callback)
 Unregisters a medialibrary callback. More...
 
void vlc_ml_event_unregister_from_callback (vlc_medialibrary_t *p_ml, vlc_ml_event_callback_t *p_callback)
 Unregisters a medialibrary callback from the said callback. More...
 
void vlc_ml_show_release (vlc_ml_show_t *p_show)
 
void vlc_ml_artist_release (vlc_ml_artist_t *p_artist)
 
void vlc_ml_genre_release (vlc_ml_genre_t *p_genre)
 
void vlc_ml_media_release (vlc_ml_media_t *p_media)
 
void vlc_ml_album_release (vlc_ml_album_t *p_album)
 
void vlc_ml_group_release (vlc_ml_group_t *p_group)
 
void vlc_ml_playlist_release (vlc_ml_playlist_t *p_playlist)
 
void vlc_ml_folder_release (vlc_ml_folder_t *p_folder)
 
void vlc_ml_label_list_release (vlc_ml_label_list_t *p_list)
 
void vlc_ml_file_list_release (vlc_ml_file_list_t *p_list)
 
void vlc_ml_artist_list_release (vlc_ml_artist_list_t *p_list)
 
void vlc_ml_media_list_release (vlc_ml_media_list_t *p_list)
 
void vlc_ml_album_list_release (vlc_ml_album_list_t *p_list)
 
void vlc_ml_show_list_release (vlc_ml_show_list_t *p_list)
 
void vlc_ml_genre_list_release (vlc_ml_genre_list_t *p_list)
 
void vlc_ml_group_list_release (vlc_ml_group_list_t *p_list)
 
void vlc_ml_playlist_list_release (vlc_ml_playlist_list_t *p_list)
 
void vlc_ml_folder_list_release (vlc_ml_folder_list_t *p_list)
 
void vlc_ml_playback_states_all_release (vlc_ml_playback_states_all *prefs)
 
void vlc_ml_bookmark_release (vlc_ml_bookmark_t *p_bookmark)
 
void vlc_ml_bookmark_list_release (vlc_ml_bookmark_list_t *p_list)
 
static vlc_ml_query_params_t vlc_ml_query_params_create (void)
 
static int vlc_ml_add_folder (vlc_medialibrary_t *p_ml, const char *psz_folder)
 
static int vlc_ml_remove_folder (vlc_medialibrary_t *p_ml, const char *psz_folder)
 
static int vlc_ml_ban_folder (vlc_medialibrary_t *p_ml, const char *psz_folder)
 
static int vlc_ml_unban_folder (vlc_medialibrary_t *p_ml, const char *psz_folder)
 
static int vlc_ml_is_indexed (vlc_medialibrary_t *p_ml, const char *psz_mrl, bool *p_res)
 
static int vlc_ml_reload_folder (vlc_medialibrary_t *p_ml, const char *psz_mrl)
 
static int vlc_ml_pause_background (vlc_medialibrary_t *p_ml)
 
static int vlc_ml_resume_background (vlc_medialibrary_t *p_ml)
 
static int vlc_ml_clear_history (vlc_medialibrary_t *p_ml)
 
static vlc_ml_media_tvlc_ml_new_external_media (vlc_medialibrary_t *p_ml, const char *psz_mrl)
 
static vlc_ml_media_tvlc_ml_new_stream (vlc_medialibrary_t *p_ml, const char *psz_mrl)
 
static int vlc_ml_media_update_progress (vlc_medialibrary_t *p_ml, int64_t i_media_id, double progress)
 
static int vlc_ml_media_get_playback_state (vlc_medialibrary_t *p_ml, int64_t i_media_id, int i_state, char **ppsz_result)
 
static int vlc_ml_media_set_playback_state (vlc_medialibrary_t *p_ml, int64_t i_media_id, int i_state, const char *psz_value)
 
static int vlc_ml_media_get_all_playback_pref (vlc_medialibrary_t *p_ml, int64_t i_media_id, vlc_ml_playback_states_all *prefs)
 
static int vlc_ml_media_set_all_playback_states (vlc_medialibrary_t *p_ml, int64_t i_media_id, const vlc_ml_playback_states_all *prefs)
 
static int vlc_ml_media_set_thumbnail (vlc_medialibrary_t *p_ml, int64_t i_media_id, const char *psz_mrl, vlc_ml_thumbnail_size_t sizeType)
 
static int vlc_ml_media_set_genre_thumbnail (vlc_medialibrary_t *p_ml, int64_t i_media_id, const char *psz_mrl, vlc_ml_thumbnail_size_t sizeType)
 
static int vlc_ml_media_generate_thumbnail (vlc_medialibrary_t *p_ml, int64_t i_media_id, vlc_ml_thumbnail_size_t size_type, uint32_t i_desired_width, uint32_t i_desired_height, double position)
 
static int vlc_ml_media_add_external_mrl (vlc_medialibrary_t *p_ml, int64_t i_media_id, const char *psz_mrl, int i_type)
 
static int vlc_ml_media_set_type (vlc_medialibrary_t *p_ml, int64_t i_media_id, vlc_ml_media_type_t i_type)
 
static int vlc_ml_media_set_played (vlc_medialibrary_t *p_ml, int64_t i_media_id, bool b_played)
 
static int vlc_ml_media_set_favorite (vlc_medialibrary_t *p_ml, int64_t i_media_id, bool b_favorite)
 
static vlc_ml_bookmark_list_tvlc_ml_list_media_bookmarks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_media_id)
 
static int vlc_ml_media_add_bookmark (vlc_medialibrary_t *p_ml, int64_t i_media_id, int64_t i_time)
 
static int vlc_ml_media_remove_bookmark (vlc_medialibrary_t *p_ml, int64_t i_media_id, int64_t i_time)
 
static int vlc_ml_media_update_bookmark (vlc_medialibrary_t *p_ml, int64_t i_media_id, int64_t i_time, const char *psz_name, const char *psz_desc)
 
static int vlc_ml_media_remove_all_bookmarks (vlc_medialibrary_t *p_ml, int64_t i_media_id)
 
static vlc_ml_playlist_tvlc_ml_playlist_create (vlc_medialibrary_t *p_ml, const char *name)
 
static int vlc_ml_playlist_delete (vlc_medialibrary_t *p_ml, int64_t i_playlist_id)
 
static int vlc_ml_playlist_append (vlc_medialibrary_t *p_ml, int64_t i_playlist_id, int64_t i_media_id)
 
static int vlc_ml_playlist_insert (vlc_medialibrary_t *p_ml, int64_t i_playlist_id, int64_t i_media_id, uint32_t i_position)
 
static int vlc_ml_playlist_move (vlc_medialibrary_t *p_ml, int64_t i_playlist_id, uint32_t i_from, uint32_t i_to)
 
static int vlc_ml_playlist_remove (vlc_medialibrary_t *p_ml, int64_t i_playlist_id, uint32_t i_position)
 
static int vlc_ml_playlist_rename (vlc_medialibrary_t *p_ml, int64_t i_playlist_id, const char *name)
 
static vlc_ml_media_tvlc_ml_get_media (vlc_medialibrary_t *p_ml, int64_t i_media_id)
 
static vlc_ml_media_tvlc_ml_get_media_by_mrl (vlc_medialibrary_t *p_ml, const char *psz_mrl)
 
static input_item_tvlc_ml_get_input_item (vlc_medialibrary_t *p_ml, int64_t i_media_id)
 
static input_item_tvlc_ml_get_input_item_by_mrl (vlc_medialibrary_t *p_ml, const char *psz_mrl)
 
static vlc_ml_album_tvlc_ml_get_album (vlc_medialibrary_t *p_ml, int64_t i_album_id)
 
static vlc_ml_artist_tvlc_ml_get_artist (vlc_medialibrary_t *p_ml, int64_t i_artist_id)
 
static vlc_ml_genre_tvlc_ml_get_genre (vlc_medialibrary_t *p_ml, int64_t i_genre_id)
 
static vlc_ml_show_tvlc_ml_get_show (vlc_medialibrary_t *p_ml, int64_t i_show_id)
 
static vlc_ml_group_tvlc_ml_get_group (vlc_medialibrary_t *p_ml, int64_t i_group_id)
 
static vlc_ml_folder_tvlc_ml_get_folder (vlc_medialibrary_t *p_ml, int64_t i_folder_id)
 
static vlc_ml_playlist_tvlc_ml_get_playlist (vlc_medialibrary_t *p_ml, int64_t i_playlist_id)
 
static vlc_ml_media_list_tvlc_ml_list_media_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static size_t vlc_ml_count_media_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static vlc_ml_media_list_tvlc_ml_list_video_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static size_t vlc_ml_count_video_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static vlc_ml_media_list_tvlc_ml_list_audio_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static size_t vlc_ml_count_audio_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static vlc_ml_artist_list_tvlc_ml_list_artist_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static size_t vlc_ml_count_artists_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static vlc_ml_album_list_tvlc_ml_list_albums_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static size_t vlc_ml_count_albums_of (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int i_parent_type, int64_t i_parent_id)
 
static vlc_ml_media_list_tvlc_ml_list_album_tracks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_album_id)
 
static size_t vlc_ml_count_album_tracks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_album_id)
 
static vlc_ml_media_list_tvlc_ml_list_album_artists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_album_id)
 
static size_t vlc_ml_count_album_artists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_album_id)
 
static vlc_ml_album_list_tvlc_ml_list_artist_albums (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_artist_id)
 
static size_t vlc_ml_count_artist_albums (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_artist_id)
 
static vlc_ml_media_list_tvlc_ml_list_artist_tracks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_artist_id)
 
static size_t vlc_ml_count_artist_tracks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_artist_id)
 
static vlc_ml_media_list_tvlc_ml_list_video_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_video_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_media_list_tvlc_ml_list_audio_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_audio_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_album_list_tvlc_ml_list_albums (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_albums (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_genre_list_tvlc_ml_list_genres (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_genres (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_artist_list_tvlc_ml_list_artists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, bool b_include_all)
 vlc_ml_list_artists More...
 
static size_t vlc_ml_count_artists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, bool includeAll)
 
static vlc_ml_show_list_tvlc_ml_list_shows (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_shows (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_artist_list_tvlc_ml_list_genre_artists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_genre_id)
 
static size_t vlc_ml_count_genre_artists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_genre_id)
 
static vlc_ml_media_list_tvlc_ml_list_genre_tracks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_genre_id)
 
static size_t vlc_ml_count_genre_tracks (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_genre_id)
 
static vlc_ml_album_list_tvlc_ml_list_genre_albums (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_genre_id)
 
static size_t vlc_ml_count_genre_albums (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_genre_id)
 
static vlc_ml_media_list_tvlc_ml_list_show_episodes (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_show_id)
 
static size_t vlc_ml_count_show_episodes (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_show_id)
 
static vlc_ml_label_list_tvlc_ml_list_media_labels (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_media_id)
 
static size_t vlc_ml_count_media_labels (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_media_id)
 
static vlc_ml_media_list_tvlc_ml_list_history (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_history (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_media_list_tvlc_ml_list_history_by_type (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, vlc_ml_media_type_t type)
 
static size_t vlc_ml_count_history_by_type (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, vlc_ml_media_type_t type)
 
static vlc_ml_media_list_tvlc_ml_list_stream_history (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_stream_history (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_group_list_tvlc_ml_list_groups (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_groups (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_media_list_tvlc_ml_list_group_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_group_id)
 
static size_t vlc_ml_count_group_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_group_id)
 
static vlc_ml_playlist_list_tvlc_ml_list_playlists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, vlc_ml_playlist_type_t playlist_type)
 
static size_t vlc_ml_count_playlists (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, vlc_ml_playlist_type_t playlist_type)
 
static vlc_ml_media_list_tvlc_ml_list_playlist_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_playlist_id)
 
static size_t vlc_ml_count_playlist_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_playlist_id)
 
static vlc_ml_folder_list_tvlc_ml_list_entry_points (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_entry_points (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_folder_list_tvlc_ml_list_banned_entry_points (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_banned_entry_points (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_folder_list_tvlc_ml_list_folders (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static size_t vlc_ml_count_folders (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params)
 
static vlc_ml_folder_list_tvlc_ml_list_folders_by_type (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, vlc_ml_media_type_t type)
 
static size_t vlc_ml_count_folders_by_type (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, vlc_ml_media_type_t type)
 
static vlc_ml_media_list_tvlc_ml_list_folder_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_folder_id)
 
static size_t vlc_ml_count_folder_media (vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, int64_t i_folder_id)
 

Macro Definition Documentation

◆ vlc_ml_instance_get

#define vlc_ml_instance_get (   x)    vlc_ml_instance_get( VLC_OBJECT(x) )

◆ vlc_ml_release

#define vlc_ml_release (   OBJ)
Value:
_Generic( ( OBJ ), \
)( OBJ )
Definition: vlc_media_library.h:339
Definition: vlc_media_library.h:309
Definition: vlc_media_library.h:304
Definition: vlc_media_library.h:291
Definition: vlc_media_library.h:387
Definition: vlc_media_library.h:395
Definition: vlc_media_library.h:160
Definition: vlc_media_library.h:381
Definition: vlc_media_library.h:369
Definition: vlc_media_library.h:351
Definition: vlc_media_library.h:325
Definition: vlc_media_library.h:357
Definition: vlc_media_library.h:239
Definition: vlc_media_library.h:143
Definition: vlc_media_library.h:333
Definition: vlc_media_library.h:200
Definition: vlc_media_library.h:640
Definition: vlc_media_library.h:363
Definition: vlc_media_library.h:263
Definition: vlc_media_library.h:345
Definition: vlc_media_library.h:125
void vlc_ml_media_list_release(vlc_ml_media_list_t *p_list)
Definition: medialibrary.c:322
void vlc_ml_show_list_release(vlc_ml_show_list_t *p_list)
Definition: medialibrary.c:340
void vlc_ml_album_list_release(vlc_ml_album_list_t *p_list)
Definition: medialibrary.c:331
void vlc_ml_playlist_release(vlc_ml_playlist_t *p_playlist)
Definition: medialibrary.c:261
void vlc_ml_artist_list_release(vlc_ml_artist_list_t *p_list)
Definition: medialibrary.c:312
void vlc_ml_label_list_release(vlc_ml_label_list_t *p_list)
Definition: medialibrary.c:294
void vlc_ml_folder_release(vlc_ml_folder_t *p_folder)
Definition: medialibrary.c:284
void vlc_ml_playlist_list_release(vlc_ml_playlist_list_t *p_list)
Definition: medialibrary.c:367
void vlc_ml_album_release(vlc_ml_album_t *p_album)
Definition: medialibrary.c:219
void vlc_ml_folder_list_release(vlc_ml_folder_list_t *p_list)
Definition: medialibrary.c:376
void vlc_ml_artist_release(vlc_ml_artist_t *p_artist)
Definition: medialibrary.c:203
void vlc_ml_bookmark_list_release(vlc_ml_bookmark_list_t *p_list)
Definition: medialibrary.c:410
void vlc_ml_genre_release(vlc_ml_genre_t *p_genre)
Definition: medialibrary.c:227
void vlc_ml_genre_list_release(vlc_ml_genre_list_t *p_list)
Definition: medialibrary.c:349
void vlc_ml_file_list_release(vlc_ml_file_list_t *p_list)
Definition: medialibrary.c:303
void vlc_ml_bookmark_release(vlc_ml_bookmark_t *p_bookmark)
Definition: medialibrary.c:402
void vlc_ml_playback_states_all_release(vlc_ml_playback_states_all *prefs)
Definition: medialibrary.c:385
void vlc_ml_show_release(vlc_ml_show_t *p_show)
Definition: medialibrary.c:149
void vlc_ml_media_release(vlc_ml_media_t *p_media)
Definition: medialibrary.c:270
void vlc_ml_group_release(vlc_ml_group_t *p_group)
Definition: medialibrary.c:244
void vlc_ml_group_list_release(vlc_ml_group_list_t *p_list)
Definition: medialibrary.c:358

Typedef Documentation

◆ vlc_medialibrary_callbacks_t

◆ vlc_medialibrary_module_t

◆ vlc_medialibrary_t

◆ vlc_ml_album_list_t

◆ vlc_ml_album_t

◆ vlc_ml_artist_list_t

◆ vlc_ml_artist_t

◆ vlc_ml_bookmark_list_t

◆ vlc_ml_bookmark_t

◆ vlc_ml_callback_t

typedef void(* vlc_ml_callback_t) (void *p_data, const vlc_ml_event_t *p_event)

◆ vlc_ml_event_callback_t

◆ vlc_ml_event_t

◆ vlc_ml_file_list_t

◆ vlc_ml_file_t

typedef struct vlc_ml_file_t vlc_ml_file_t

◆ vlc_ml_file_type_t

◆ vlc_ml_folder_list_t

◆ vlc_ml_folder_t

◆ vlc_ml_genre_list_t

◆ vlc_ml_genre_t

◆ vlc_ml_group_list_t

◆ vlc_ml_group_t

◆ vlc_ml_history_type_t

◆ vlc_ml_label_list_t

◆ vlc_ml_label_t

◆ vlc_ml_media_list_t

◆ vlc_ml_media_subtype_t

◆ vlc_ml_media_t

◆ vlc_ml_media_track_list_t

◆ vlc_ml_media_track_t

◆ vlc_ml_media_type_t

◆ vlc_ml_movie_t

◆ vlc_ml_playback_states_all

◆ vlc_ml_playlist_list_t

◆ vlc_ml_playlist_t

◆ vlc_ml_playlist_type_t

◆ vlc_ml_query_params_t

◆ vlc_ml_show_episode_t

◆ vlc_ml_show_list_t

◆ vlc_ml_show_t

typedef struct vlc_ml_show_t vlc_ml_show_t

◆ vlc_ml_sorting_criteria_t

◆ vlc_ml_thumbnail_size_t

◆ vlc_ml_thumbnail_status_t

◆ vlc_ml_thumbnail_t

◆ vlc_ml_track_type_t

Enumeration Type Documentation

◆ vlc_ml_control

Enumerator
VLC_ML_ADD_FOLDER 

arg1: mrl (const char*) res: can't fail

VLC_ML_REMOVE_FOLDER 

arg1: mrl (const char*) res: can't fail

VLC_ML_BAN_FOLDER 

arg1: mrl (const char*) res: can't fail

VLC_ML_UNBAN_FOLDER 

arg1: mrl (const char*) res: can't fail

VLC_ML_IS_INDEXED 

arg1: mrl (const char*) arg2 (out): bool*; res: can fail

VLC_ML_RELOAD_FOLDER 

Reload a specific folder, or all.

arg1: mrl (const char*), NULL to reload all folders res: can't fail

VLC_ML_PAUSE_BACKGROUND 

no args; can't fail

VLC_ML_RESUME_BACKGROUND 

no args; can't fail

VLC_ML_CLEAR_HISTORY 

no args; can't fail

VLC_ML_NEW_EXTERNAL_MEDIA 

arg1: const char*; arg2(out): vlc_ml_media_t**

VLC_ML_NEW_STREAM 

arg1: const char*; arg2(out): vlc_ml_media_t**

VLC_ML_MEDIA_UPDATE_PROGRESS 

arg1: media id; arg2: playback position; can fail

VLC_ML_MEDIA_GET_MEDIA_PLAYBACK_STATE 

arg1: media id; arg2: vlc_ml_playback_state; arg3: char**;

VLC_ML_MEDIA_SET_MEDIA_PLAYBACK_STATE 

arg1: media id; arg2: vlc_ml_playback_state; arg3: const char*;

VLC_ML_MEDIA_GET_ALL_MEDIA_PLAYBACK_STATES 

arg1: media id; arg2(out): vlc_ml_playback_states_all*

VLC_ML_MEDIA_SET_ALL_MEDIA_PLAYBACK_STATES 

arg1: media id; arg2: const vlc_ml_playback_states_all*

VLC_ML_MEDIA_SET_THUMBNAIL 

arg1: media id; arg2: const char*; arg3: vlc_ml_thumbnail_size_t

VLC_ML_MEDIA_SET_GENRE_THUMBNAIL 

arg1: media id; arg2: const char*; arg3: vlc_ml_thumbnail_size_t

VLC_ML_MEDIA_GENERATE_THUMBNAIL 

arg1: media id; arg2: vlc_ml_thumbnail_size_t; arg3: width; arg4: height; arg5: position

VLC_ML_MEDIA_ADD_EXTERNAL_MRL 

arg1: media id; arg2: const char*; arg3: type(vlc_ml_file_type_t)

VLC_ML_MEDIA_SET_TYPE 

arg1: media id; arg2: vlc_ml_media_type_t

VLC_ML_MEDIA_SET_PLAYED 

arg1: media id; arg2: bool

VLC_ML_MEDIA_SET_FAVORITE 

arg1: media id; arg2: bool

VLC_ML_MEDIA_ADD_BOOKMARK 

arg1: media id; arg2: int64_t

VLC_ML_MEDIA_REMOVE_BOOKMARK 

arg1: media id; arg2: int64_t

VLC_ML_MEDIA_REMOVE_ALL_BOOKMARKS 

arg1: media id

VLC_ML_MEDIA_UPDATE_BOOKMARK 

arg1: media id; arg2: int64_t; arg3: const char*; arg4: const char*

VLC_ML_PLAYLIST_CREATE 

arg1: const char*; arg2(out): vlc_ml_playlist_t**; can fail

VLC_ML_PLAYLIST_DELETE 

arg1: playlist id; can fail

VLC_ML_PLAYLIST_APPEND 

arg1: playlist id; arg2: media id; can fail

VLC_ML_PLAYLIST_INSERT 

arg1: playlist id; arg2: media id; arg3: position; can fail

VLC_ML_PLAYLIST_MOVE 

arg1: playlist id; arg2: from; arg3: to; can fail

VLC_ML_PLAYLIST_REMOVE 

arg1: playlist id; arg2: position; can fail

VLC_ML_PLAYLIST_RENAME 

arg1: playlist id; arg2: const char*; can fail

◆ vlc_ml_event_type

Enumerator
VLC_ML_EVENT_MEDIA_ADDED 

Entity modification callbacks.

The affected entity will be passed:

  • As a vlc_ml_<type>t, depending on the type of the modified/inserted entity, in vlc_ml_event_t::modification::p<type> for ADDED and UPDATED variants.
  • as an id, in vlc_ml_event_t::deletion::i_entity_id When _DELETED callbacks get invoked, the entity will already have been deleted from the database, and cannot be retrieved anymore
VLC_ML_EVENT_MEDIA_UPDATED 
VLC_ML_EVENT_MEDIA_DELETED 
VLC_ML_EVENT_ARTIST_ADDED 
VLC_ML_EVENT_ARTIST_UPDATED 
VLC_ML_EVENT_ARTIST_DELETED 
VLC_ML_EVENT_ALBUM_ADDED 
VLC_ML_EVENT_ALBUM_UPDATED 
VLC_ML_EVENT_ALBUM_DELETED 
VLC_ML_EVENT_GROUP_ADDED 
VLC_ML_EVENT_GROUP_UPDATED 
VLC_ML_EVENT_GROUP_DELETED 
VLC_ML_EVENT_PLAYLIST_ADDED 
VLC_ML_EVENT_PLAYLIST_UPDATED 
VLC_ML_EVENT_PLAYLIST_DELETED 
VLC_ML_EVENT_GENRE_ADDED 
VLC_ML_EVENT_GENRE_UPDATED 
VLC_ML_EVENT_GENRE_DELETED 
VLC_ML_EVENT_BOOKMARKS_ADDED 
VLC_ML_EVENT_BOOKMARKS_UPDATED 
VLC_ML_EVENT_BOOKMARKS_DELETED 
VLC_ML_EVENT_FOLDER_ADDED 
VLC_ML_EVENT_FOLDER_UPDATED 
VLC_ML_EVENT_FOLDER_DELETED 
VLC_ML_EVENT_DISCOVERY_STARTED 

A discovery started.

This event will be emitted when the media library starts discovering a scheduled entry point. If more than a single entry point are queued, this event won't be fired again until all operations are completed and a new operation is scheduled. Once all currently queued operations are done VLC_ML_EVENT_DISCOVERY_COMPLETED will be emitted.

VLC_ML_EVENT_DISCOVERY_PROGRESS 

Sent when a discovery or reload operation starts analyzing a new folder.

The discovered entry point is stored in vlc_ml_event_t::discovery_progress::psz_entry_point.

VLC_ML_EVENT_DISCOVERY_COMPLETED 

Sent when all queued discovery operations are done being processed.

VLC_ML_EVENT_DISCOVERY_FAILED 

This event is sent when a discovery failed.

The entry point that failed to be discovered is stored in vlc_ml_event_t::discovery_failed::psz_entry_point

VLC_ML_EVENT_ENTRY_POINT_ADDED 

Sent when a new entry point gets added to the database.

The entry point that was added is stored in vlc::ml_event_t::entry_point_added::psz_entry_point, and the success or failure state is stored in vlc_ml_event_t::entry_point_added::b_success If successful, this event won't be emitted again for this entry point. In case of failure, this event will be fired again if the same entry point is queued for discovery again.

VLC_ML_EVENT_ENTRY_POINT_REMOVED 

Sent when an entry point removal request has been processed.

The removed entry point is stored in vlc_ml_event_t::entry_point_removed::psz_entry_point and the success or failure state is stored in vlc_ml_event_t::entry_point_removed::b_success

VLC_ML_EVENT_ENTRY_POINT_BANNED 

Sent when an entry point ban request has been processed.

The banned entry point is stored in vlc_ml_event_t::entry_point_banned::psz_entry_point and the operation success state is stored in vlc_ml_event_t::entry_point_banned::b_success

VLC_ML_EVENT_ENTRY_POINT_UNBANNED 

Sent when an entry point unban request has been processed.

The unbanned entry point is stored in vlc_ml_event_t::entry_point_unbanned::psz_entry_point and the operation success state is stored in vlc_ml_event_t::entry_point_unbanned::b_success

VLC_ML_EVENT_BACKGROUND_IDLE_CHANGED 

Sent when a discoverer or parser threads changes its idle state.

The idle state is stored in vlc_ml_event_t::background_idle_changed.b_idle. False means at least one background thread is in running, true means both discoverer & parser threads are paused.

VLC_ML_EVENT_PARSING_PROGRESS_UPDATED 

Sent when the parsing progress percentage gets updated.

The percentage is stored as a [0;100] integer, in vlc_ml_event_t::parsing_progress::i_percent This value might decrease as more media get discovered, but it will only increase once all discovery operations are completed.

VLC_ML_EVENT_MEDIA_THUMBNAIL_GENERATED 

Sent after a media thumbnail was generated, or if it's generation failed.

The media is stored in vlc_ml_event_t::media_thumbnail_generated::p_media and the success state is stored in vlc_ml_event_t::media_thumbnail_generated::b_success

VLC_ML_EVENT_HISTORY_CHANGED 

Sent after the history gets changed.

It can be either cleaned, or simply modified because a media was recently played/removed from the history. The history type (media/network) is stored in vlc_ml_event_t::history_changed::history_type

VLC_ML_EVENT_RESCAN_STARTED 

Sent when an application requested rescan starts being processed.

◆ vlc_ml_file_type_t

Enumerator
VLC_ML_FILE_TYPE_UNKNOWN 
VLC_ML_FILE_TYPE_MAIN 
VLC_ML_FILE_TYPE_PART 
VLC_ML_FILE_TYPE_SOUNDTRACK 
VLC_ML_FILE_TYPE_SUBTITLE 
VLC_ML_FILE_TYPE_PLAYLIST 

◆ vlc_ml_get_queries

Enumerator
VLC_ML_GET_MEDIA 

arg1: Media ID; ret: vlc_ml_media_t*

VLC_ML_GET_MEDIA_BY_MRL 

arg1: Media MRL; ret: vlc_ml_media_t*

VLC_ML_GET_INPUT_ITEM 

arg1: Media ID; ret: input_item_t*

VLC_ML_GET_INPUT_ITEM_BY_MRL 

arg1: Media MRL; ret: input_item_t*

VLC_ML_GET_ALBUM 

arg1: Album ID; ret: vlc_ml_album_t*

VLC_ML_GET_ARTIST 

arg1: Artist ID; ret: vlc_ml_artist_t*

VLC_ML_GET_GENRE 

arg1: Genre ID; ret: vlc_ml_genre_t*

VLC_ML_GET_SHOW 

arg1: Show ID; ret: vlc_ml_show_t*

VLC_ML_GET_PLAYLIST 

arg1: Playlist ID; ret: vlc_ml_playlist_t*

VLC_ML_GET_GROUP 

arg1: Group ID; ret: vlc_ml_group_t*

VLC_ML_GET_FOLDER 

arg1: folder ID; ret: vlc_ml_folder_t*

◆ vlc_ml_history_type_t

Enumerator
VLC_ML_HISTORY_TYPE_MEDIA 
VLC_ML_HISTORY_TYPE_NETWORK 

◆ vlc_ml_list_queries

Enumerator
VLC_ML_LIST_VIDEOS 

arg1 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_VIDEOS 

arg1 (out): size_t*

VLC_ML_LIST_AUDIOS 

arg1 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_AUDIOS 

arg1 (out): size_t*

VLC_ML_LIST_ALBUMS 

arg1 (out): vlc_ml_album_list_t**

VLC_ML_COUNT_ALBUMS 

arg1 (out): size_t*

VLC_ML_LIST_GENRES 

arg1 (out): vlc_ml_genre_list_t**

VLC_ML_COUNT_GENRES 

arg1 (out): size_t*

VLC_ML_LIST_ARTISTS 

arg1 bool: includeAll; arg2 (out): vlc_ml_genre_list_t**

VLC_ML_COUNT_ARTISTS 

arg1 bool: includeAll; arg2 (out): size_t*

VLC_ML_LIST_SHOWS 

arg1 (out): vlc_ml_show_list_t**

VLC_ML_COUNT_SHOWS 

arg1 (out): size_t*

VLC_ML_LIST_GROUPS 

arg1 (out): vlc_ml_group_list_t**

VLC_ML_COUNT_GROUPS 

arg1 (out): size_t*

VLC_ML_LIST_PLAYLISTS 

arg1 (out): vlc_ml_playlist_list_t**

VLC_ML_COUNT_PLAYLISTS 

arg1 (out): size_t*

VLC_ML_LIST_HISTORY 

arg1 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_HISTORY 

arg1 (out): size_t*

VLC_ML_LIST_HISTORY_BY_TYPE 

arg1 vlc_ml_media_type_t: the media type.

arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_HISTORY_BY_TYPE 

arg1 vlc_ml_media_type_t: the media type.

arg2 (out): vlc_ml_media_list_t**

VLC_ML_LIST_STREAM_HISTORY 

arg1 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_STREAM_HISTORY 

arg1 (out): size_t*

VLC_ML_LIST_ENTRY_POINTS 

arg1 bool: list_banned; arg2 (out): vlc_ml_folder_list_t**

VLC_ML_COUNT_ENTRY_POINTS 

arg1 bool: list_banned; arg2 (out): size_t*

VLC_ML_LIST_FOLDERS 

arg1 (out): vlc_ml_folder_list_t**

VLC_ML_COUNT_FOLDERS 

arg1 (out): size_t*

VLC_ML_LIST_FOLDERS_BY_TYPE 

arg1 vlc_ml_media_type_t: the media type.

arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_FOLDERS_BY_TYPE 

arg1 vlc_ml_media_type_t: the media type.

arg2 (out): vlc_ml_media_list_t**

VLC_ML_LIST_ALBUM_TRACKS 

arg1: The album id.

arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_ALBUM_TRACKS 

arg1: The album id.

arg2 (out): size_t*

VLC_ML_LIST_ALBUM_ARTISTS 

arg1: The album id.

arg2 (out): vlc_ml_album_list_t**

VLC_ML_COUNT_ALBUM_ARTISTS 

arg1: The album id.

arg2 (out): size_t*

VLC_ML_LIST_ARTIST_ALBUMS 

arg1: The artist id.

arg2(out): vlc_ml_album_list_t**

VLC_ML_COUNT_ARTIST_ALBUMS 

arg1: The artist id.

arg2(out): size_t*

VLC_ML_LIST_ARTIST_TRACKS 

arg1: The artist id.

arg2(out): vlc_ml_media_list_t**

VLC_ML_COUNT_ARTIST_TRACKS 

arg1: The artist id.

arg2(out): size_t*

VLC_ML_LIST_GENRE_ARTISTS 

arg1: genre id; arg2 (out): vlc_ml_artist_list_t**

VLC_ML_COUNT_GENRE_ARTISTS 

arg1: genre id; arg2 (out): size_t*

VLC_ML_LIST_GENRE_TRACKS 

arg1: genre id; arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_GENRE_TRACKS 

arg1: genre id; arg2 (out): size_t*

VLC_ML_LIST_GENRE_ALBUMS 

arg1: genre id; arg2 (out): vlc_ml_album_list_t**

VLC_ML_COUNT_GENRE_ALBUMS 

arg1: genre id; arg2 (out): size_t*

VLC_ML_LIST_SHOW_EPISODES 

arg1: show id; arg2(out): vlc_ml_media_list_t**

VLC_ML_COUNT_SHOW_EPISODES 

arg1: show id; arg2(out): size_t*

VLC_ML_LIST_MEDIA_LABELS 

arg1: media id; arg2 (out): vlc_ml_label_list_t**

VLC_ML_COUNT_MEDIA_LABELS 

arg1: media id; arg2 (out): size_t*

VLC_ML_LIST_MEDIA_BOOKMARKS 

arg1: media id; arg2 (out): vlc_ml_bookmark_list_t**

VLC_ML_LIST_GROUP_MEDIA 

arg1: playlist id; arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_GROUP_MEDIA 

arg1: playlist id; arg2 (out): size_t*

VLC_ML_LIST_PLAYLIST_MEDIA 

arg1: playlist id; arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_PLAYLIST_MEDIA 

arg1: playlist id; arg2 (out): size_t*

VLC_ML_LIST_SUBFOLDERS 

arg1: parent id; arg2 (out): vlc_ml_folder_list_t**

VLC_ML_COUNT_SUBFOLDERS 

arg1: parent id; arg2 (out): size_t*

VLC_ML_LIST_FOLDER_MEDIA 

arg1: folder id; arg2 (out): vlc_ml_media_list_t**

VLC_ML_COUNT_FOLDER_MEDIA 

arg1: folder id; arg2 (out): size_t*

VLC_ML_LIST_MEDIA_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): ml_media_list_t**

VLC_ML_COUNT_MEDIA_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

VLC_ML_LIST_VIDEO_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

VLC_ML_COUNT_VIDEO_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

VLC_ML_LIST_AUDIO_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

VLC_ML_COUNT_AUDIO_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

VLC_ML_LIST_ARTISTS_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): ml_artist_list_t**

VLC_ML_COUNT_ARTISTS_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

VLC_ML_LIST_ALBUMS_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): ml_album_list_t**

VLC_ML_COUNT_ALBUMS_OF 

arg1: parent entity type; arg2: parent entity id; arg3(out): size_t*

◆ vlc_ml_media_subtype_t

Enumerator
VLC_ML_MEDIA_SUBTYPE_UNKNOWN 
VLC_ML_MEDIA_SUBTYPE_SHOW_EPISODE 
VLC_ML_MEDIA_SUBTYPE_MOVIE 
VLC_ML_MEDIA_SUBTYPE_ALBUMTRACK 

◆ vlc_ml_media_type_t

Enumerator
VLC_ML_MEDIA_TYPE_UNKNOWN 
VLC_ML_MEDIA_TYPE_VIDEO 
VLC_ML_MEDIA_TYPE_AUDIO 

◆ vlc_ml_parent_type

Enumerator
VLC_ML_PARENT_UNKNOWN 
VLC_ML_PARENT_ALBUM 
VLC_ML_PARENT_ARTIST 
VLC_ML_PARENT_SHOW 
VLC_ML_PARENT_GENRE 
VLC_ML_PARENT_GROUP 
VLC_ML_PARENT_FOLDER 
VLC_ML_PARENT_PLAYLIST 

◆ vlc_ml_playback_state

User playback settings.

All values/units are up to the caller and are not interpreted by the media library. All values are stored and returned as strings. When calling vlc_medialibrary_t::pf_control with vlc_ml_MEDIA_GET_MEDIA_PLAYBACK_STATE, the value will be returned stored in the provided char**. If the state was not set yet, NULL will be returned. When setting a state, NULL can be provided as a value to unset it.

Enumerator
VLC_ML_PLAYBACK_STATE_RATING 
VLC_ML_PLAYBACK_STATE_SPEED 
VLC_ML_PLAYBACK_STATE_TITLE 
VLC_ML_PLAYBACK_STATE_CHAPTER 
VLC_ML_PLAYBACK_STATE_PROGRAM 
VLC_ML_PLAYBACK_STATE_VIDEO_TRACK 
VLC_ML_PLAYBACK_STATE_ASPECT_RATIO 
VLC_ML_PLAYBACK_STATE_ZOOM 
VLC_ML_PLAYBACK_STATE_CROP 
VLC_ML_PLAYBACK_STATE_DEINTERLACE 
VLC_ML_PLAYBACK_STATE_VIDEO_FILTER 
VLC_ML_PLAYBACK_STATE_AUDIO_TRACK 
VLC_ML_PLAYBACK_STATE_GAIN 
VLC_ML_PLAYBACK_STATE_AUDIO_DELAY 
VLC_ML_PLAYBACK_STATE_SUBTITLE_TRACK 
VLC_ML_PLAYBACK_STATE_SUBTITLE_DELAY 
VLC_ML_PLAYBACK_STATE_APP_SPECIFIC 

◆ vlc_ml_playlist_type_t

Enumerator
VLC_ML_PLAYLIST_TYPE_ALL 
VLC_ML_PLAYLIST_TYPE_AUDIO 
VLC_ML_PLAYLIST_TYPE_VIDEO 

◆ vlc_ml_sorting_criteria_t

Enumerator
VLC_ML_SORTING_DEFAULT 
VLC_ML_SORTING_ALPHA 
VLC_ML_SORTING_DURATION 
VLC_ML_SORTING_INSERTIONDATE 
VLC_ML_SORTING_LASTMODIFICATIONDATE 
VLC_ML_SORTING_RELEASEDATE 
VLC_ML_SORTING_FILESIZE 
VLC_ML_SORTING_ARTIST 
VLC_ML_SORTING_PLAYCOUNT 
VLC_ML_SORTING_ALBUM 
VLC_ML_SORTING_FILENAME 
VLC_ML_SORTING_TRACKNUMBER 

◆ vlc_ml_thumbnail_size_t

Enumerator
VLC_ML_THUMBNAIL_SMALL 
VLC_ML_THUMBNAIL_BANNER 
VLC_ML_THUMBNAIL_SIZE_COUNT 

◆ vlc_ml_thumbnail_status_t

Enumerator
VLC_ML_THUMBNAIL_STATUS_MISSING 
VLC_ML_THUMBNAIL_STATUS_AVAILABLE 
VLC_ML_THUMBNAIL_STATUS_FAILURE 
VLC_ML_THUMBNAIL_STATUS_PERSISTENT_FAILURE 
VLC_ML_THUMBNAIL_STATUS_CRASH 

◆ vlc_ml_track_type_t

Enumerator
VLC_ML_TRACK_TYPE_UNKNOWN 
VLC_ML_TRACK_TYPE_VIDEO 
VLC_ML_TRACK_TYPE_AUDIO 

Function Documentation

◆ libvlc_MlCreate()

◆ libvlc_MlRelease()

◆ vlc_ml_add_folder()

static int vlc_ml_add_folder ( vlc_medialibrary_t p_ml,
const char *  psz_folder 
)
inlinestatic

References VLC_ML_ADD_FOLDER.

◆ vlc_ml_album_list_release()

◆ vlc_ml_album_release()

void vlc_ml_album_release ( vlc_ml_album_t p_album)

◆ vlc_ml_artist_list_release()

◆ vlc_ml_artist_release()

void vlc_ml_artist_release ( vlc_ml_artist_t p_artist)

◆ vlc_ml_ban_folder()

static int vlc_ml_ban_folder ( vlc_medialibrary_t p_ml,
const char *  psz_folder 
)
inlinestatic

References VLC_ML_BAN_FOLDER.

◆ vlc_ml_bookmark_list_release()

void vlc_ml_bookmark_list_release ( vlc_ml_bookmark_list_t p_list)

◆ vlc_ml_bookmark_release()

void vlc_ml_bookmark_release ( vlc_ml_bookmark_t p_bookmark)

◆ vlc_ml_clear_history()

static int vlc_ml_clear_history ( vlc_medialibrary_t p_ml)
inlinestatic

References VLC_ML_CLEAR_HISTORY.

◆ vlc_ml_control()

int vlc_ml_control ( vlc_medialibrary_t p_ml,
int  i_query,
  ... 
)

◆ vlc_ml_count_album_artists()

static size_t vlc_ml_count_album_artists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_album_id 
)
inlinestatic

◆ vlc_ml_count_album_tracks()

static size_t vlc_ml_count_album_tracks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_album_id 
)
inlinestatic

◆ vlc_ml_count_albums()

static size_t vlc_ml_count_albums ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_albums_of()

static size_t vlc_ml_count_albums_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_count_artist_albums()

static size_t vlc_ml_count_artist_albums ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_artist_id 
)
inlinestatic

◆ vlc_ml_count_artist_tracks()

static size_t vlc_ml_count_artist_tracks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_artist_id 
)
inlinestatic

◆ vlc_ml_count_artists()

static size_t vlc_ml_count_artists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
bool  includeAll 
)
inlinestatic

◆ vlc_ml_count_artists_of()

static size_t vlc_ml_count_artists_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_count_audio_media()

static size_t vlc_ml_count_audio_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_audio_of()

static size_t vlc_ml_count_audio_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_count_banned_entry_points()

static size_t vlc_ml_count_banned_entry_points ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_entry_points()

static size_t vlc_ml_count_entry_points ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_folder_media()

static size_t vlc_ml_count_folder_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_folder_id 
)
inlinestatic

◆ vlc_ml_count_folders()

static size_t vlc_ml_count_folders ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_folders_by_type()

static size_t vlc_ml_count_folders_by_type ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
vlc_ml_media_type_t  type 
)
inlinestatic

◆ vlc_ml_count_genre_albums()

static size_t vlc_ml_count_genre_albums ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_genre_id 
)
inlinestatic

◆ vlc_ml_count_genre_artists()

static size_t vlc_ml_count_genre_artists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_genre_id 
)
inlinestatic

◆ vlc_ml_count_genre_tracks()

static size_t vlc_ml_count_genre_tracks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_genre_id 
)
inlinestatic

◆ vlc_ml_count_genres()

static size_t vlc_ml_count_genres ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_group_media()

static size_t vlc_ml_count_group_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_group_id 
)
inlinestatic

◆ vlc_ml_count_groups()

static size_t vlc_ml_count_groups ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_history()

static size_t vlc_ml_count_history ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_history_by_type()

static size_t vlc_ml_count_history_by_type ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
vlc_ml_media_type_t  type 
)
inlinestatic

◆ vlc_ml_count_media_labels()

static size_t vlc_ml_count_media_labels ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_media_id 
)
inlinestatic

◆ vlc_ml_count_media_of()

static size_t vlc_ml_count_media_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_count_playlist_media()

static size_t vlc_ml_count_playlist_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_playlist_id 
)
inlinestatic

◆ vlc_ml_count_playlists()

static size_t vlc_ml_count_playlists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
vlc_ml_playlist_type_t  playlist_type 
)
inlinestatic

◆ vlc_ml_count_show_episodes()

static size_t vlc_ml_count_show_episodes ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_show_id 
)
inlinestatic

◆ vlc_ml_count_shows()

static size_t vlc_ml_count_shows ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_stream_history()

static size_t vlc_ml_count_stream_history ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_video_media()

static size_t vlc_ml_count_video_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_count_video_of()

static size_t vlc_ml_count_video_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_event_register_callback()

vlc_ml_event_callback_t * vlc_ml_event_register_callback ( vlc_medialibrary_t p_ml,
vlc_ml_callback_t  cb,
void *  p_data 
)

Registers a medialibrary callback.

Returns
A handle to the callback, to be passed to vlc_ml_event_unregister_callback

References vlc_medialibrary_t::cbs, vlc_medialibrary_t::lock, vlc_ml_event_callback_t::node, vlc_ml_event_callback_t::p_data, vlc_ml_event_callback_t::pf_cb, unlikely, vlc_list_append(), vlc_mutex_lock(), and vlc_mutex_unlock().

◆ vlc_ml_event_unregister_callback()

void vlc_ml_event_unregister_callback ( vlc_medialibrary_t p_ml,
vlc_ml_event_callback_t p_callback 
)

Unregisters a medialibrary callback.

Parameters
p_handleThe handled returned by vlc_ml_register_callback

References vlc_medialibrary_t::lock, vlc_ml_event_callback_t::node, vlc_list_remove(), vlc_mutex_lock(), and vlc_mutex_unlock().

◆ vlc_ml_event_unregister_from_callback()

void vlc_ml_event_unregister_from_callback ( vlc_medialibrary_t p_ml,
vlc_ml_event_callback_t p_callback 
)

Unregisters a medialibrary callback from the said callback.

Parameters
p_callbackThe handle returned by vlc_ml_register_callback

This must only be called synchronously from the callback function provided to vlc_ml_event_register_callback The p_callback handle must be considered invalid when this function returns

References vlc_medialibrary_t::lock, vlc_ml_event_callback_t::node, vlc_list_remove(), and vlc_mutex_assert.

◆ vlc_ml_file_list_release()

◆ vlc_ml_folder_list_release()

◆ vlc_ml_folder_release()

void vlc_ml_folder_release ( vlc_ml_folder_t p_folder)

◆ vlc_ml_genre_list_release()

void vlc_ml_genre_list_release ( vlc_ml_genre_list_t p_list)

◆ vlc_ml_genre_release()

void vlc_ml_genre_release ( vlc_ml_genre_t p_genre)

◆ vlc_ml_get()

◆ vlc_ml_get_album()

static vlc_ml_album_t * vlc_ml_get_album ( vlc_medialibrary_t p_ml,
int64_t  i_album_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_ALBUM.

◆ vlc_ml_get_artist()

static vlc_ml_artist_t * vlc_ml_get_artist ( vlc_medialibrary_t p_ml,
int64_t  i_artist_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_ARTIST.

◆ vlc_ml_get_folder()

static vlc_ml_folder_t * vlc_ml_get_folder ( vlc_medialibrary_t p_ml,
int64_t  i_folder_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_FOLDER.

◆ vlc_ml_get_genre()

static vlc_ml_genre_t * vlc_ml_get_genre ( vlc_medialibrary_t p_ml,
int64_t  i_genre_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_GENRE.

◆ vlc_ml_get_group()

static vlc_ml_group_t * vlc_ml_get_group ( vlc_medialibrary_t p_ml,
int64_t  i_group_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_GROUP.

◆ vlc_ml_get_input_item()

static input_item_t * vlc_ml_get_input_item ( vlc_medialibrary_t p_ml,
int64_t  i_media_id 
)
inlinestatic

◆ vlc_ml_get_input_item_by_mrl()

static input_item_t * vlc_ml_get_input_item_by_mrl ( vlc_medialibrary_t p_ml,
const char *  psz_mrl 
)
inlinestatic

◆ vlc_ml_get_media()

static vlc_ml_media_t * vlc_ml_get_media ( vlc_medialibrary_t p_ml,
int64_t  i_media_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_MEDIA.

◆ vlc_ml_get_media_by_mrl()

static vlc_ml_media_t * vlc_ml_get_media_by_mrl ( vlc_medialibrary_t p_ml,
const char *  psz_mrl 
)
inlinestatic

◆ vlc_ml_get_playlist()

static vlc_ml_playlist_t * vlc_ml_get_playlist ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id 
)
inlinestatic

◆ vlc_ml_get_show()

static vlc_ml_show_t * vlc_ml_get_show ( vlc_medialibrary_t p_ml,
int64_t  i_show_id 
)
inlinestatic

References vlc_ml_get(), and VLC_ML_GET_SHOW.

◆ vlc_ml_group_list_release()

◆ vlc_ml_group_release()

void vlc_ml_group_release ( vlc_ml_group_t p_group)

◆ vlc_ml_instance_get()

◆ vlc_ml_is_indexed()

static int vlc_ml_is_indexed ( vlc_medialibrary_t p_ml,
const char *  psz_mrl,
bool *  p_res 
)
inlinestatic

References VLC_ML_IS_INDEXED.

◆ vlc_ml_label_list_release()

void vlc_ml_label_list_release ( vlc_ml_label_list_t p_list)

◆ vlc_ml_list()

int vlc_ml_list ( vlc_medialibrary_t p_ml,
int  i_query,
const vlc_ml_query_params_t p_params,
  ... 
)

References vlc_medialibrary_t::m, and vlc_medialibrary_module_t::pf_list.

Referenced by vlc_ml_count_album_artists(), vlc_ml_count_album_tracks(), vlc_ml_count_albums(), vlc_ml_count_albums_of(), vlc_ml_count_artist_albums(), vlc_ml_count_artist_tracks(), vlc_ml_count_artists(), vlc_ml_count_artists_of(), vlc_ml_count_audio_media(), vlc_ml_count_audio_of(), vlc_ml_count_banned_entry_points(), vlc_ml_count_entry_points(), vlc_ml_count_folder_media(), vlc_ml_count_folders(), vlc_ml_count_folders_by_type(), vlc_ml_count_genre_albums(), vlc_ml_count_genre_artists(), vlc_ml_count_genre_tracks(), vlc_ml_count_genres(), vlc_ml_count_group_media(), vlc_ml_count_groups(), vlc_ml_count_history(), vlc_ml_count_history_by_type(), vlc_ml_count_media_labels(), vlc_ml_count_media_of(), vlc_ml_count_playlist_media(), vlc_ml_count_playlists(), vlc_ml_count_show_episodes(), vlc_ml_count_shows(), vlc_ml_count_stream_history(), vlc_ml_count_video_media(), vlc_ml_count_video_of(), vlc_ml_list_album_artists(), vlc_ml_list_album_tracks(), vlc_ml_list_albums(), vlc_ml_list_albums_of(), vlc_ml_list_artist_albums(), vlc_ml_list_artist_of(), vlc_ml_list_artist_tracks(), vlc_ml_list_artists(), vlc_ml_list_audio_media(), vlc_ml_list_audio_of(), vlc_ml_list_banned_entry_points(), vlc_ml_list_entry_points(), vlc_ml_list_folder_media(), vlc_ml_list_folders(), vlc_ml_list_folders_by_type(), vlc_ml_list_genre_albums(), vlc_ml_list_genre_artists(), vlc_ml_list_genre_tracks(), vlc_ml_list_genres(), vlc_ml_list_group_media(), vlc_ml_list_groups(), vlc_ml_list_history(), vlc_ml_list_history_by_type(), vlc_ml_list_media_bookmarks(), vlc_ml_list_media_labels(), vlc_ml_list_media_of(), vlc_ml_list_playlist_media(), vlc_ml_list_playlists(), vlc_ml_list_show_episodes(), vlc_ml_list_shows(), vlc_ml_list_stream_history(), vlc_ml_list_video_media(), and vlc_ml_list_video_of().

◆ vlc_ml_list_album_artists()

static vlc_ml_media_list_t * vlc_ml_list_album_artists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_album_id 
)
inlinestatic

◆ vlc_ml_list_album_tracks()

static vlc_ml_media_list_t * vlc_ml_list_album_tracks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_album_id 
)
inlinestatic

◆ vlc_ml_list_albums()

static vlc_ml_album_list_t * vlc_ml_list_albums ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_albums_of()

static vlc_ml_album_list_t * vlc_ml_list_albums_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_list_artist_albums()

static vlc_ml_album_list_t * vlc_ml_list_artist_albums ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_artist_id 
)
inlinestatic

◆ vlc_ml_list_artist_of()

static vlc_ml_artist_list_t * vlc_ml_list_artist_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_list_artist_tracks()

static vlc_ml_media_list_t * vlc_ml_list_artist_tracks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_artist_id 
)
inlinestatic

◆ vlc_ml_list_artists()

static vlc_ml_artist_list_t * vlc_ml_list_artists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
bool  b_include_all 
)
inlinestatic

vlc_ml_list_artists

Parameters
paramsQuery parameters, or NULL for the default
b_include_allTrue if you wish to fetch artists without at least one album.
Returns

References vlc_assert, vlc_ml_list(), VLC_ML_LIST_ARTISTS, and VLC_SUCCESS.

◆ vlc_ml_list_audio_media()

static vlc_ml_media_list_t * vlc_ml_list_audio_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_audio_of()

static vlc_ml_media_list_t * vlc_ml_list_audio_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_list_banned_entry_points()

static vlc_ml_folder_list_t * vlc_ml_list_banned_entry_points ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_entry_points()

static vlc_ml_folder_list_t * vlc_ml_list_entry_points ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_folder_media()

static vlc_ml_media_list_t * vlc_ml_list_folder_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_folder_id 
)
inlinestatic

◆ vlc_ml_list_folders()

static vlc_ml_folder_list_t * vlc_ml_list_folders ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_folders_by_type()

static vlc_ml_folder_list_t * vlc_ml_list_folders_by_type ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
vlc_ml_media_type_t  type 
)
inlinestatic

◆ vlc_ml_list_genre_albums()

static vlc_ml_album_list_t * vlc_ml_list_genre_albums ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_genre_id 
)
inlinestatic

◆ vlc_ml_list_genre_artists()

static vlc_ml_artist_list_t * vlc_ml_list_genre_artists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_genre_id 
)
inlinestatic

◆ vlc_ml_list_genre_tracks()

static vlc_ml_media_list_t * vlc_ml_list_genre_tracks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_genre_id 
)
inlinestatic

◆ vlc_ml_list_genres()

static vlc_ml_genre_list_t * vlc_ml_list_genres ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_group_media()

static vlc_ml_media_list_t * vlc_ml_list_group_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_group_id 
)
inlinestatic

◆ vlc_ml_list_groups()

static vlc_ml_group_list_t * vlc_ml_list_groups ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_history()

static vlc_ml_media_list_t * vlc_ml_list_history ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_history_by_type()

static vlc_ml_media_list_t * vlc_ml_list_history_by_type ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
vlc_ml_media_type_t  type 
)
inlinestatic

◆ vlc_ml_list_media_bookmarks()

static vlc_ml_bookmark_list_t * vlc_ml_list_media_bookmarks ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_media_id 
)
inlinestatic

◆ vlc_ml_list_media_labels()

static vlc_ml_label_list_t * vlc_ml_list_media_labels ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_media_id 
)
inlinestatic

◆ vlc_ml_list_media_of()

static vlc_ml_media_list_t * vlc_ml_list_media_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_list_playlist_media()

static vlc_ml_media_list_t * vlc_ml_list_playlist_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_playlist_id 
)
inlinestatic

◆ vlc_ml_list_playlists()

static vlc_ml_playlist_list_t * vlc_ml_list_playlists ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
vlc_ml_playlist_type_t  playlist_type 
)
inlinestatic

◆ vlc_ml_list_show_episodes()

static vlc_ml_media_list_t * vlc_ml_list_show_episodes ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int64_t  i_show_id 
)
inlinestatic

◆ vlc_ml_list_shows()

static vlc_ml_show_list_t * vlc_ml_list_shows ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_stream_history()

static vlc_ml_media_list_t * vlc_ml_list_stream_history ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_video_media()

static vlc_ml_media_list_t * vlc_ml_list_video_media ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params 
)
inlinestatic

◆ vlc_ml_list_video_of()

static vlc_ml_media_list_t * vlc_ml_list_video_of ( vlc_medialibrary_t p_ml,
const vlc_ml_query_params_t params,
int  i_parent_type,
int64_t  i_parent_id 
)
inlinestatic

◆ vlc_ml_media_add_bookmark()

static int vlc_ml_media_add_bookmark ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
int64_t  i_time 
)
inlinestatic

◆ vlc_ml_media_add_external_mrl()

static int vlc_ml_media_add_external_mrl ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
const char *  psz_mrl,
int  i_type 
)
inlinestatic

◆ vlc_ml_media_generate_thumbnail()

static int vlc_ml_media_generate_thumbnail ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
vlc_ml_thumbnail_size_t  size_type,
uint32_t  i_desired_width,
uint32_t  i_desired_height,
double  position 
)
inlinestatic

◆ vlc_ml_media_get_all_playback_pref()

static int vlc_ml_media_get_all_playback_pref ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
vlc_ml_playback_states_all prefs 
)
inlinestatic

◆ vlc_ml_media_get_playback_state()

static int vlc_ml_media_get_playback_state ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
int  i_state,
char **  ppsz_result 
)
inlinestatic

◆ vlc_ml_media_list_release()

◆ vlc_ml_media_release()

void vlc_ml_media_release ( vlc_ml_media_t p_media)

◆ vlc_ml_media_remove_all_bookmarks()

static int vlc_ml_media_remove_all_bookmarks ( vlc_medialibrary_t p_ml,
int64_t  i_media_id 
)
inlinestatic

◆ vlc_ml_media_remove_bookmark()

static int vlc_ml_media_remove_bookmark ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
int64_t  i_time 
)
inlinestatic

◆ vlc_ml_media_set_all_playback_states()

static int vlc_ml_media_set_all_playback_states ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
const vlc_ml_playback_states_all prefs 
)
inlinestatic

◆ vlc_ml_media_set_favorite()

static int vlc_ml_media_set_favorite ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
bool  b_favorite 
)
inlinestatic

◆ vlc_ml_media_set_genre_thumbnail()

static int vlc_ml_media_set_genre_thumbnail ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
const char *  psz_mrl,
vlc_ml_thumbnail_size_t  sizeType 
)
inlinestatic

◆ vlc_ml_media_set_playback_state()

static int vlc_ml_media_set_playback_state ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
int  i_state,
const char *  psz_value 
)
inlinestatic

◆ vlc_ml_media_set_played()

static int vlc_ml_media_set_played ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
bool  b_played 
)
inlinestatic

◆ vlc_ml_media_set_thumbnail()

static int vlc_ml_media_set_thumbnail ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
const char *  psz_mrl,
vlc_ml_thumbnail_size_t  sizeType 
)
inlinestatic

◆ vlc_ml_media_set_type()

static int vlc_ml_media_set_type ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
vlc_ml_media_type_t  i_type 
)
inlinestatic

◆ vlc_ml_media_update_bookmark()

static int vlc_ml_media_update_bookmark ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
int64_t  i_time,
const char *  psz_name,
const char *  psz_desc 
)
inlinestatic

◆ vlc_ml_media_update_progress()

static int vlc_ml_media_update_progress ( vlc_medialibrary_t p_ml,
int64_t  i_media_id,
double  progress 
)
inlinestatic

◆ vlc_ml_new_external_media()

static vlc_ml_media_t * vlc_ml_new_external_media ( vlc_medialibrary_t p_ml,
const char *  psz_mrl 
)
inlinestatic

◆ vlc_ml_new_stream()

static vlc_ml_media_t * vlc_ml_new_stream ( vlc_medialibrary_t p_ml,
const char *  psz_mrl 
)
inlinestatic

References VLC_ML_NEW_STREAM, and VLC_SUCCESS.

◆ vlc_ml_pause_background()

static int vlc_ml_pause_background ( vlc_medialibrary_t p_ml)
inlinestatic

◆ vlc_ml_playback_states_all_release()

◆ vlc_ml_playlist_append()

static int vlc_ml_playlist_append ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id,
int64_t  i_media_id 
)
inlinestatic

◆ vlc_ml_playlist_create()

static vlc_ml_playlist_t * vlc_ml_playlist_create ( vlc_medialibrary_t p_ml,
const char *  name 
)
inlinestatic

◆ vlc_ml_playlist_delete()

static int vlc_ml_playlist_delete ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id 
)
inlinestatic

◆ vlc_ml_playlist_insert()

static int vlc_ml_playlist_insert ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id,
int64_t  i_media_id,
uint32_t  i_position 
)
inlinestatic

◆ vlc_ml_playlist_list_release()

◆ vlc_ml_playlist_move()

static int vlc_ml_playlist_move ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id,
uint32_t  i_from,
uint32_t  i_to 
)
inlinestatic

References VLC_ML_PLAYLIST_MOVE.

◆ vlc_ml_playlist_release()

void vlc_ml_playlist_release ( vlc_ml_playlist_t p_playlist)

◆ vlc_ml_playlist_remove()

static int vlc_ml_playlist_remove ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id,
uint32_t  i_position 
)
inlinestatic

◆ vlc_ml_playlist_rename()

static int vlc_ml_playlist_rename ( vlc_medialibrary_t p_ml,
int64_t  i_playlist_id,
const char *  name 
)
inlinestatic

References name, and VLC_ML_PLAYLIST_RENAME.

◆ vlc_ml_query_params_create()

static vlc_ml_query_params_t vlc_ml_query_params_create ( void  )
inlinestatic

◆ vlc_ml_reload_folder()

static int vlc_ml_reload_folder ( vlc_medialibrary_t p_ml,
const char *  psz_mrl 
)
inlinestatic

References VLC_ML_RELOAD_FOLDER.

◆ vlc_ml_remove_folder()

static int vlc_ml_remove_folder ( vlc_medialibrary_t p_ml,
const char *  psz_folder 
)
inlinestatic

References VLC_ML_REMOVE_FOLDER.

◆ vlc_ml_resume_background()

static int vlc_ml_resume_background ( vlc_medialibrary_t p_ml)
inlinestatic

◆ vlc_ml_show_list_release()

◆ vlc_ml_show_release()

void vlc_ml_show_release ( vlc_ml_show_t p_show)

◆ vlc_ml_unban_folder()

static int vlc_ml_unban_folder ( vlc_medialibrary_t p_ml,
const char *  psz_folder 
)
inlinestatic

References VLC_ML_UNBAN_FOLDER.