Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (9)
......@@ -330,18 +330,19 @@ typedef struct vlc_ml_playlist_list_t
vlc_ml_playlist_t p_items[];
} vlc_ml_playlist_list_t;
typedef struct vlc_ml_entry_point_t
typedef struct vlc_ml_folder_t
{
char* psz_mrl; /**< This entrypoint's MRL. Will be NULL if b_present is false */
bool b_present; /**< The presence state for this entrypoint. */
bool b_banned; /**< Will be true if the user required this entrypoint to be excluded */
} vlc_ml_entry_point_t;
int64_t i_id; /**< This folder's MRL. Will be NULL if b_present is false */
char* psz_mrl; /**< This folder's MRL. Will be NULL if b_present is false */
bool b_present; /**< The presence state for this folder. */
bool b_banned; /**< Will be true if the user required this folder to be excluded */
} vlc_ml_folder_t;
typedef struct vlc_ml_entry_point_list_t
typedef struct vlc_ml_folder_list_t
{
size_t i_nb_items;
vlc_ml_entry_point_t p_items[];
} vlc_ml_entry_point_list_t;
vlc_ml_folder_t p_items[];
} vlc_ml_folder_list_t;
typedef struct vlc_ml_bookmark_t
{
......@@ -397,89 +398,100 @@ struct vlc_ml_query_params_t
enum vlc_ml_get_queries
{
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_GROUP, /**< arg1: Group ID; ret: vlc_ml_group_t* */
VLC_ML_GET_PLAYLIST, /**< arg1: Playlist ID; ret: vlc_ml_playlist_t* */
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* */
};
enum vlc_ml_list_queries
{
/* General listing: */
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_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* */
/* Album specific listings */
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_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* */
/* Artist specific listings */
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_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* */
/* Genre specific listings */
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_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* */
/* Show specific listings */
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_SHOW_EPISODES, /**< arg1: show id; arg2(out): vlc_ml_media_list_t** */
VLC_ML_COUNT_SHOW_EPISODES, /**< arg1: show id; arg2(out): size_t* */
/* Media specific listings */
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_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** */
/* Groups specific listings */
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_GROUP_MEDIA, /**< arg1: playlist id; arg2 (out): vlc_ml_media_list_t** */
VLC_ML_COUNT_GROUP_MEDIA, /**< arg1: playlist id; arg2 (out): size_t* */
/* Playlist specific listings */
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_PLAYLIST_MEDIA, /**< arg1: playlist id; arg2 (out): vlc_ml_media_list_t** */
VLC_ML_COUNT_PLAYLIST_MEDIA, /**< arg1: playlist id; arg2 (out): size_t* */
/* Folder specific listings */
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_MEDIAS, /**< arg1: folder id; arg2 (out): vlc_ml_media_list_t** */
VLC_ML_COUNT_FOLDER_MEDIAS, /**< arg1: folder id; arg2 (out): size_t* */
/* Children entities listing */
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_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_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_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* */
};
enum vlc_ml_parent_type
......@@ -500,8 +512,6 @@ enum vlc_ml_control
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_LIST_FOLDERS, /**< arg1: entrypoints (vlc_ml_entry_point_list_t**); res: can fail */
VLC_ML_LIST_BANNED_FOLDERS, /**< arg1: entrypoints (vlc_ml_entry_point_list_t**); res: can fail */
VLC_ML_IS_INDEXED, /**< arg1: mrl (const char*) arg2 (out): bool*; res: can fail */
/**
* Reload a specific folder, or all.
......@@ -876,6 +886,7 @@ VLC_API void vlc_ml_media_release( vlc_ml_media_t* p_media );
VLC_API void vlc_ml_album_release( vlc_ml_album_t* p_album );
VLC_API void vlc_ml_group_release( vlc_ml_group_t* p_group );
VLC_API void vlc_ml_playlist_release( vlc_ml_playlist_t* p_playlist );
VLC_API void vlc_ml_folder_release( vlc_ml_folder_t* p_folder );
VLC_API void vlc_ml_label_list_release( vlc_ml_label_list_t* p_list );
VLC_API void vlc_ml_file_list_release( vlc_ml_file_list_t* p_list );
......@@ -886,7 +897,7 @@ VLC_API void vlc_ml_show_list_release( vlc_ml_show_list_t* p_list );
VLC_API void vlc_ml_genre_list_release( vlc_ml_genre_list_t* p_list );
VLC_API void vlc_ml_group_list_release( vlc_ml_group_list_t* p_list );
VLC_API void vlc_ml_playlist_list_release( vlc_ml_playlist_list_t* p_list );
VLC_API void vlc_ml_entry_point_list_release( vlc_ml_entry_point_list_t* p_list );
VLC_API void vlc_ml_folder_list_release( vlc_ml_folder_list_t* p_list );
VLC_API void vlc_ml_playback_states_all_release( vlc_ml_playback_states_all* prefs );
VLC_API void vlc_ml_bookmark_release( vlc_ml_bookmark_t* p_bookmark );
VLC_API void vlc_ml_bookmark_list_release( vlc_ml_bookmark_list_t* p_list );
......@@ -922,18 +933,6 @@ static inline int vlc_ml_unban_folder( vlc_medialibrary_t* p_ml, const char* psz
return vlc_ml_control( p_ml, VLC_ML_UNBAN_FOLDER, psz_folder );
}
static inline int vlc_ml_list_folder( vlc_medialibrary_t* p_ml,
vlc_ml_entry_point_list_t** pp_entrypoints )
{
return vlc_ml_control( p_ml, VLC_ML_LIST_FOLDERS, pp_entrypoints );
}
static inline int vlc_ml_list_banned_folder( vlc_medialibrary_t* p_ml,
vlc_ml_entry_point_list_t** pp_entrypoints )
{
return vlc_ml_control( p_ml, VLC_ML_LIST_BANNED_FOLDERS, pp_entrypoints );
}
static inline int vlc_ml_is_indexed( vlc_medialibrary_t* p_ml,
const char* psz_mrl, bool* p_res )
{
......@@ -1648,6 +1647,44 @@ static inline size_t vlc_ml_count_playlist_media( vlc_medialibrary_t* p_ml, cons
return count;
}
static inline vlc_ml_folder_list_t* vlc_ml_list_entry_points( vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params )
{
vlc_assert( p_ml != NULL );
vlc_ml_folder_list_t *res;
if ( vlc_ml_list( p_ml, VLC_ML_LIST_ENTRY_POINTS, params, (int)false, &res ) != VLC_SUCCESS )
return NULL;
return res;
}
static inline size_t vlc_ml_count_entry_points( vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params )
{
vlc_assert( p_ml != NULL );
size_t res;
if ( vlc_ml_list( p_ml, VLC_ML_COUNT_ENTRY_POINTS, params, (int)false, &res ) != VLC_SUCCESS )
return 0;
return res;
}
static inline vlc_ml_folder_list_t*
vlc_ml_list_banned_entry_points( vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params )
{
vlc_assert( p_ml != NULL );
vlc_ml_folder_list_t* res;
if ( vlc_ml_list( p_ml, VLC_ML_LIST_ENTRY_POINTS, params, (int)true, &res ) != VLC_SUCCESS )
return NULL;
return res;
}
static inline size_t vlc_ml_count_banned_entry_points( vlc_medialibrary_t* p_ml,
const vlc_ml_query_params_t* params )
{
vlc_assert( p_ml != NULL );
size_t res;
if ( vlc_ml_list( p_ml, VLC_ML_COUNT_ENTRY_POINTS, params, (int)true, &res ) != VLC_SUCCESS )
return 0;
return res;
}
#ifdef __cplusplus
}
#endif /* C++ */
......@@ -1660,6 +1697,7 @@ static inline size_t vlc_ml_count_playlist_media( vlc_medialibrary_t* p_ml, cons
vlc_ml_genre_t*: vlc_ml_genre_release, \
vlc_ml_media_t*: vlc_ml_media_release, \
vlc_ml_group_t*: vlc_ml_group_release, \
vlc_ml_folder_t*: vlc_ml_folder_release, \
vlc_ml_playlist_t*: vlc_ml_playlist_release, \
vlc_ml_label_list_t*: vlc_ml_label_list_release, \
vlc_ml_file_list_t*: vlc_ml_file_list_release, \
......@@ -1670,7 +1708,7 @@ static inline size_t vlc_ml_count_playlist_media( vlc_medialibrary_t* p_ml, cons
vlc_ml_genre_list_t*: vlc_ml_genre_list_release, \
vlc_ml_group_list_t*: vlc_ml_group_list_release, \
vlc_ml_playlist_list_t*: vlc_ml_playlist_list_release, \
vlc_ml_entry_point_list_t*: vlc_ml_entry_point_list_release, \
vlc_ml_folder_list_t*: vlc_ml_folder_list_release, \
vlc_ml_playback_states_all*: vlc_ml_playback_states_all_release, \
vlc_ml_bookmark_t*: vlc_ml_bookmark_release, \
vlc_ml_bookmark_list_t*: vlc_ml_bookmark_list_release \
......@@ -1682,6 +1720,7 @@ static inline void vlc_ml_release( vlc_ml_album_t* album ) { vlc_ml_album_releas
static inline void vlc_ml_release( vlc_ml_genre_t* genre ) { vlc_ml_genre_release( genre ); }
static inline void vlc_ml_release( vlc_ml_media_t* media ) { vlc_ml_media_release( media ); }
static inline void vlc_ml_release( vlc_ml_group_t* group ) { vlc_ml_group_release( group ); }
static inline void vlc_ml_release( vlc_ml_folder_t* folder ) { vlc_ml_folder_release( folder ); }
static inline void vlc_ml_release( vlc_ml_playlist_t* playlist ) { vlc_ml_playlist_release( playlist ); }
static inline void vlc_ml_release( vlc_ml_label_list_t* list ) { vlc_ml_label_list_release( list ); }
static inline void vlc_ml_release( vlc_ml_file_list_t* list ) { vlc_ml_file_list_release( list ); }
......@@ -1692,7 +1731,7 @@ static inline void vlc_ml_release( vlc_ml_show_list_t* list ) { vlc_ml_show_list
static inline void vlc_ml_release( vlc_ml_genre_list_t* list ) { vlc_ml_genre_list_release( list ); }
static inline void vlc_ml_release( vlc_ml_group_list_t* list ) { vlc_ml_group_list_release( list ); }
static inline void vlc_ml_release( vlc_ml_playlist_list_t* list ) { vlc_ml_playlist_list_release( list ); }
static inline void vlc_ml_release( vlc_ml_entry_point_list_t* list ) { vlc_ml_entry_point_list_release( list ); }
static inline void vlc_ml_release( vlc_ml_folder_list_t* list ) { vlc_ml_folder_list_release( list ); }
static inline void vlc_ml_release( vlc_ml_playback_states_all* prefs ) { vlc_ml_playback_states_all_release( prefs ); }
static inline void vlc_ml_release( vlc_ml_bookmark_t* bookmark ) { vlc_ml_bookmark_release( bookmark ); }
static inline void vlc_ml_release( vlc_ml_bookmark_list_t* list ) { vlc_ml_bookmark_list_release( list ); }
......
......@@ -207,7 +207,7 @@ extern const long long int VLCMediaLibraryMediaItemDurationDenominator;
@interface VLCMediaLibraryEntryPoint : NSObject
- (instancetype)initWithEntryPoint:(struct vlc_ml_entry_point_t *)p_entryPoint;
- (instancetype)initWithEntryPoint:(struct vlc_ml_folder_t *)p_entryPoint;
@property (readonly) NSString *MRL;
@property (readonly) NSString *decodedMRL;
......
......@@ -763,7 +763,7 @@ NSString *VLCMediaLibraryMediaItemLibraryID = @"VLCMediaLibraryMediaItemLibraryI
@implementation VLCMediaLibraryEntryPoint
- (instancetype)initWithEntryPoint:(struct vlc_ml_entry_point_t *)p_entryPoint
- (instancetype)initWithEntryPoint:(struct vlc_ml_folder_t *)p_entryPoint
{
self = [super init];
if (self && p_entryPoint != NULL) {
......
......@@ -364,10 +364,9 @@ static void libraryCallback(void *p_data, const vlc_ml_event_t *p_event)
- (NSArray<VLCMediaLibraryEntryPoint *> *)listOfMonitoredFolders
{
vlc_ml_entry_point_list_t *pp_entrypoints;
int ret = vlc_ml_list_folder(_p_mediaLibrary, &pp_entrypoints);
if (ret != VLC_SUCCESS) {
msg_Err(getIntf(), "failed to retrieve list of monitored library folders (%i)", ret);
vlc_ml_folder_list_t *pp_entrypoints = vlc_ml_list_entry_points(_p_mediaLibrary, NULL);
if (pp_entrypoints == NULL) {
msg_Err(getIntf(), "failed to retrieve list of monitored library folders");
return @[];
}
......@@ -379,7 +378,7 @@ static void libraryCallback(void *p_data, const vlc_ml_event_t *p_event)
}
}
vlc_ml_entry_point_list_release(pp_entrypoints);
vlc_ml_folder_list_release(pp_entrypoints);
return [mutableArray copy];
}
......
......@@ -29,7 +29,7 @@ MLFoldersBaseModel::MLFoldersBaseModel( QObject *parent )
connect( this , &MLFoldersBaseModel::onMLEntryPointModified , this , &MLFoldersBaseModel::update );
}
MLFoldersBaseModel::EntryPoint::EntryPoint( const vlc_ml_entry_point_t& entryPoint)
MLFoldersBaseModel::EntryPoint::EntryPoint( const vlc_ml_folder_t& entryPoint)
: mrl(entryPoint.psz_mrl)
, banned(entryPoint.b_banned)
{
......@@ -118,11 +118,13 @@ std::vector<MLFoldersBaseModel::EntryPoint> MLFoldersModel::entryPoints() const
{
std::vector<MLFoldersBaseModel::EntryPoint> r;
vlc_ml_entry_point_list_t * entrypoints = nullptr;
vlc_ml_list_folder( ml() , &entrypoints );
for ( unsigned int i=0 ; i<entrypoints->i_nb_items ; i++ )
r.emplace_back( entrypoints->p_items[i] );
vlc_ml_release(entrypoints);
vlc_ml_folder_list_t* entrypoints = vlc_ml_list_entry_points( ml(), nullptr );
if ( entrypoints != nullptr )
{
for ( unsigned int i = 0; entrypoints && i < entrypoints->i_nb_items; i++ )
r.emplace_back( entrypoints->p_items[i] );
vlc_ml_release( entrypoints );
}
return r;
}
......@@ -159,11 +161,13 @@ std::vector<MLFoldersBaseModel::EntryPoint> MLBannedFoldersModel::entryPoints()
{
std::vector<MLFoldersBaseModel::EntryPoint> r;
vlc_ml_entry_point_list_t * entrypoints = nullptr;
vlc_ml_list_banned_folder( ml() , &entrypoints );
for ( unsigned int i=0 ; i<entrypoints->i_nb_items ; i++ )
r.emplace_back( entrypoints->p_items[i] );
vlc_ml_release(entrypoints);
vlc_ml_folder_list_t* entrypoints = vlc_ml_list_banned_entry_points( ml(), nullptr );
if ( entrypoints != nullptr )
{
for ( unsigned int i = 0; entrypoints && i < entrypoints->i_nb_items; i++ )
r.emplace_back( entrypoints->p_items[i] );
vlc_ml_release( entrypoints );
}
return r;
}
......@@ -69,7 +69,7 @@ signals:
protected:
struct EntryPoint
{
EntryPoint(const vlc_ml_entry_point_t &entryPoint );
EntryPoint(const vlc_ml_folder_t &entryPoint );
QString mrl;
bool banned;
};
......
......@@ -446,8 +446,10 @@ bool Convert( const medialibrary::IPlaylist* input, vlc_ml_playlist_t& output )
return true;
}
bool Convert( const medialibrary::IFolder* input, vlc_ml_entry_point_t& output )
bool Convert( const medialibrary::IFolder* input, vlc_ml_folder_t& output )
{
output.i_id = input->id();
output.b_banned = input->isBanned();
try
{
if ( strdup_helper( input->mrl(), output.psz_mrl ) == false )
......@@ -459,7 +461,6 @@ bool Convert( const medialibrary::IFolder* input, vlc_ml_entry_point_t& output )
output.psz_mrl = nullptr;
output.b_present = false;
}
output.b_banned = input->isBanned();
return true;
}
......
......@@ -41,6 +41,7 @@
#include <medialibrary/IMediaGroup.h>
#include <medialibrary/IPlaylist.h>
#include <medialibrary/IBookmark.h>
#include <medialibrary/IFolder.h>
#include <sstream>
#include <initializer_list>
......@@ -550,17 +551,6 @@ int MediaLibrary::Control( int query, va_list args )
}
break;
}
case VLC_ML_LIST_FOLDERS:
case VLC_ML_LIST_BANNED_FOLDERS:
{
auto entryPoints = ( query == VLC_ML_LIST_FOLDERS )
? m_ml->entryPoints()->all()
: m_ml->bannedEntryPoints()->all();
auto res = ml_convert_list<vlc_ml_entry_point_list_t,
vlc_ml_entry_point_t>( entryPoints );
*(va_arg( args, vlc_ml_entry_point_list_t**) ) = res;
break;
}
case VLC_ML_IS_INDEXED:
{
auto mrl = va_arg( args, const char* );
......@@ -999,7 +989,81 @@ int MediaLibrary::List( int listQuery, const vlc_ml_query_params_t* params, va_l
vlc_assert_unreachable();
}
}
case VLC_ML_LIST_ENTRY_POINTS:
{
const bool banned = va_arg( args, int ) != 0;
const auto query = banned ? m_ml->bannedEntryPoints() : m_ml->entryPoints();
if ( query == nullptr )
return VLC_EGENERIC;
auto* res =
ml_convert_list<vlc_ml_folder_list_t, vlc_ml_folder_t>( query->all() );
*( va_arg( args, vlc_ml_folder_list_t** ) ) = res;
break;
}
case VLC_ML_COUNT_ENTRY_POINTS:
{
const bool banned = va_arg( args, int ) != 0;
const auto query = banned ? m_ml->bannedEntryPoints() : m_ml->entryPoints();
*( va_arg( args, size_t* ) ) = query ? query->count() : 0;
break;
}
case VLC_ML_LIST_SUBFOLDERS:
{
const auto parent = m_ml->folder( va_arg( args, int64_t ) );
if ( parent == nullptr )
return VLC_EGENERIC;
const auto query = parent->subfolders();
if ( query == nullptr )
return VLC_EGENERIC;
auto* res = ml_convert_list<vlc_ml_folder_list_t, vlc_ml_folder_t>( query->all() );
*( va_arg( args, vlc_ml_folder_list_t** ) ) = res;
break;
}
case VLC_ML_COUNT_SUBFOLDERS:
{
const auto parent = m_ml->folder( va_arg( args, int64_t ) );
if ( parent == nullptr )
return VLC_EGENERIC;
const auto query = parent->subfolders();
*( va_arg( args, size_t* ) ) = query == nullptr ? 0 : query->count();
break;
}
case VLC_ML_LIST_FOLDERS:
{
const auto query = m_ml->folders( medialibrary::IMedia::Type::Unknown, paramsPtr );
if ( query == nullptr )
return VLC_EGENERIC;
auto* res = ml_convert_list<vlc_ml_folder_list_t, vlc_ml_folder_t>( query->all() );
*( va_arg( args, vlc_ml_folder_list_t** ) ) = res;
break;
}
case VLC_ML_COUNT_FOLDERS:
{
const auto query = m_ml->folders( medialibrary::IMedia::Type::Unknown, paramsPtr );
*( va_arg( args, size_t* ) ) = query == nullptr ? 0 : query->count();
break;
}
case VLC_ML_LIST_FOLDER_MEDIAS:
{
const auto folder = m_ml->folder( va_arg( args, int64_t ) );
if ( folder == nullptr )
return VLC_EGENERIC;
const auto query = folder->media( medialibrary::IMedia::Type::Unknown, paramsPtr );
if ( query == nullptr )
return VLC_EGENERIC;
auto* res = ml_convert_list<vlc_ml_media_list_t, vlc_ml_media_t>( query->all() );
*( va_arg( args, vlc_ml_media_list_t** ) ) = res;
break;
}
case VLC_ML_COUNT_FOLDER_MEDIAS:
{
const auto folder = m_ml->folder( va_arg( args, int64_t ) );
if ( folder == nullptr )
return VLC_EGENERIC;
const auto query = folder->media( medialibrary::IMedia::Type::Unknown, paramsPtr );
*( va_arg( args, size_t* ) ) = query == nullptr ? 0 : query->count();
break;
}
}
return VLC_SUCCESS;
}
......@@ -1059,6 +1123,12 @@ void* MediaLibrary::Get( int query, va_list args )
auto playlist = m_ml->playlist( id );
return CreateAndConvert<vlc_ml_playlist_t>( playlist.get() );
}
case VLC_ML_GET_FOLDER:
{
auto id = va_arg( args, int64_t );
auto folder = m_ml->folder( id );
return CreateAndConvert<vlc_ml_folder_t>( folder.get() );
}
case VLC_ML_GET_MEDIA_BY_MRL:
{
auto mrl = va_arg( args, const char* );
......
......@@ -228,7 +228,7 @@ bool Convert( const medialibrary::IShow* input, vlc_ml_show_t& output );
bool Convert( const medialibrary::ILabel* input, vlc_ml_label_t& output );
bool Convert( const medialibrary::IMediaGroup* input, vlc_ml_group_t& output );
bool Convert( const medialibrary::IPlaylist* input, vlc_ml_playlist_t& output );
bool Convert( const medialibrary::IFolder* input, vlc_ml_entry_point_t& output );
bool Convert( const medialibrary::IFolder* input, vlc_ml_folder_t& output );
bool Convert( const medialibrary::IBookmark* input, vlc_ml_bookmark_t& output );
input_item_t* MediaToInputItem( const medialibrary::IMedia* media );
......
......@@ -584,6 +584,7 @@ vlc_ml_media_release
vlc_ml_album_release
vlc_ml_group_release
vlc_ml_playlist_release
vlc_ml_folder_release
vlc_ml_label_list_release
vlc_ml_file_list_release
vlc_ml_artist_list_release
......@@ -593,7 +594,7 @@ vlc_ml_show_list_release
vlc_ml_genre_list_release
vlc_ml_group_list_release
vlc_ml_playlist_list_release
vlc_ml_entry_point_list_release
vlc_ml_folder_list_release
vlc_ml_bookmark_release
vlc_ml_bookmark_list_release
vlc_poll_i11e
......
......@@ -264,7 +264,6 @@ void vlc_ml_playlist_release( vlc_ml_playlist_t* p_playlist )
free( p_playlist );
}
/* Lists release */
void vlc_ml_media_release( vlc_ml_media_t* p_media )
{
......@@ -274,6 +273,16 @@ void vlc_ml_media_release( vlc_ml_media_t* p_media )
free( p_media );
}
void vlc_ml_folder_release( vlc_ml_folder_t* p_folder )
{
if ( p_folder == NULL )
return;
free( p_folder->psz_mrl );
free( p_folder );
}
/* Lists release */
void vlc_ml_label_list_release( vlc_ml_label_list_t* p_list )
{
if ( p_list == NULL )
......@@ -356,7 +365,7 @@ void vlc_ml_playlist_list_release( vlc_ml_playlist_list_t* p_list )
free( p_list );
}
void vlc_ml_entry_point_list_release( vlc_ml_entry_point_list_t* p_list )
void vlc_ml_folder_list_release( vlc_ml_folder_list_t* p_list )
{
if ( p_list == NULL )
return;
......