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 (8)
......@@ -256,6 +256,8 @@ enum vlc_module_properties
# define DLL_SYMBOL
#endif
struct vlc_param;
EXTERN_SYMBOL typedef int (*vlc_set_cb) (void *, void *, int, ...);
#define vlc_plugin_set(...) vlc_set (opaque, NULL, __VA_ARGS__)
......@@ -282,7 +284,7 @@ EXTERN_SYMBOL DLL_SYMBOL \
int CDECL_SYMBOL VLC_SYMBOL(vlc_entry)(vlc_set_cb vlc_set, void *opaque) \
{ \
module_t *module; \
module_config_t *config = NULL; \
struct vlc_param *config = NULL; \
if (vlc_plugin_set (VLC_MODULE_CREATE, &module)) \
goto error; \
if (vlc_module_set (VLC_MODULE_NAME, (MODULE_STRING))) \
......
......@@ -311,8 +311,6 @@ void config_ChainParse( vlc_object_t *p_this, const char *psz_prefix,
vlc_value_t val;
bool b_yes = true;
bool b_once = false;
module_config_t *p_conf;
int i_type;
size_t i;
if( cfg->psz_name == NULL || *cfg->psz_name == '\0' )
......@@ -354,35 +352,28 @@ void config_ChainParse( vlc_object_t *p_this, const char *psz_prefix,
snprintf( name, sizeof (name), "%s%s", psz_prefix,
b_once ? (ppsz_options[i] + 1) : ppsz_options[i] );
/* Check if the option is deprecated */
p_conf = config_FindConfig( name );
const struct vlc_param *param = vlc_param_Find(name);
if (param == NULL)
{
msg_Warn(p_this, "unknown option %s", name);
continue;
}
/* Check if the option is deprecated */
/* This is basically cut and paste from src/misc/configuration.c
* with slight changes */
if( p_conf )
if (param->obsolete)
{
struct vlc_param *param = container_of(p_conf, struct vlc_param,
item);
if (param->obsolete)
{
msg_Err( p_this, "Option %s is not supported anymore.",
name );
/* TODO: this should return an error and end option parsing
* ... but doing this would change the VLC API and all the
* modules so i'll do it later */
continue;
}
msg_Err(p_this, "Option %s is not supported any longer.", name);
/* TODO: this should return an error and end option parsing
* ... but doing this would change the VLC API and all the
* modules so i'll do it later */
continue;
}
/* </Check if the option is deprecated> */
/* get the type of the variable */
i_type = config_GetType( psz_name );
if( !i_type )
{
msg_Warn( p_this, "unknown option %s (value=%s)",
cfg->psz_name, cfg->psz_value );
continue;
}
const int i_type = param->item.i_type;
if( i_type != VLC_VAR_BOOL && cfg->psz_value == NULL )
{
......
......@@ -35,6 +35,13 @@ struct vlc_param {
struct module_config_t item;
};
/**
* Looks up a configuration parameter by name.
*
* \return the configuration parameter, or NULL if not found
*/
struct vlc_param *vlc_param_Find(const char *name);
int config_AutoSaveConfigFile( vlc_object_t * );
void config_Free(struct vlc_param *, size_t);
......
......@@ -45,17 +45,14 @@ static inline char *strdupnull (const char *src)
return src ? strdup (src) : NULL;
}
int config_GetType(const char *psz_name)
int config_GetType(const char *name)
{
module_config_t *p_config = config_FindConfig(psz_name);
const struct vlc_param *param = vlc_param_Find(name);
/* sanity checks */
if( !p_config )
{
if (param == NULL)
return 0;
}
switch( CONFIG_CLASS(p_config->i_type) )
switch (CONFIG_CLASS(param->item.i_type))
{
case CONFIG_ITEM_FLOAT:
return VLC_VAR_FLOAT;
......@@ -72,13 +69,9 @@ int config_GetType(const char *psz_name)
bool config_IsSafe( const char *name )
{
module_config_t *p_config = config_FindConfig( name );
if (p_config == NULL)
return false;
const struct vlc_param *param = vlc_param_Find(name);
const struct vlc_param *param = container_of(p_config, struct vlc_param,
item);
return param->safe;
return (param != NULL) ? param->safe : false;
}
static module_config_t * config_FindConfigChecked( const char *psz_name )
......@@ -211,10 +204,14 @@ ssize_t config_GetIntChoices(const char *name,
*values = NULL;
*texts = NULL;
module_config_t *cfg = config_FindConfigChecked(name);
assert(cfg != NULL);
struct vlc_param *param = vlc_param_Find(name);
if (param == NULL)
{
errno = ENOENT;
return -1;
}
struct vlc_param *param = container_of(cfg, struct vlc_param, item);
module_config_t *cfg = &param->item;
size_t count = cfg->list_count;
if (count == 0)
{
......@@ -318,15 +315,14 @@ ssize_t config_GetPszChoices(const char *name,
{
*values = *texts = NULL;
module_config_t *cfg = config_FindConfig(name);
if (cfg == NULL)
struct vlc_param *param = vlc_param_Find(name);
if (param == NULL)
{
errno = ENOENT;
return -1;
}
struct vlc_param *param = container_of(cfg, struct vlc_param, item);
module_config_t *cfg = &param->item;
switch (cfg->i_type)
{
case CONFIG_ITEM_MODULE:
......@@ -457,14 +453,23 @@ void config_UnsortConfig (void)
free (clist);
}
struct vlc_param *vlc_param_Find(const char *name)
{
struct vlc_param *const *p;
assert(name != NULL);
p = bsearch (name, config.list, config.count, sizeof (*p), confnamecmp);
return (p != NULL) ? *p : NULL;
}
module_config_t *config_FindConfig(const char *name)
{
if (unlikely(name == NULL))
return NULL;
struct vlc_param *const *p;
p = bsearch (name, config.list, config.count, sizeof (*p), confnamecmp);
return p ? &(*p)->item : NULL;
struct vlc_param *param = vlc_param_Find(name);
return (param != NULL) ? &param->item : NULL;
}
/**
......
......@@ -201,11 +201,10 @@ int config_LoadConfigFile( vlc_object_t *p_this )
continue; /* syntax error */
*ptr = '\0';
module_config_t *item = config_FindConfig(psz_option_name);
if (item == NULL)
struct vlc_param *param = vlc_param_Find(psz_option_name);
if (param == NULL)
continue;
struct vlc_param *param = container_of (item, struct vlc_param, item);
/* Reject values of options that are unsaveable */
if (param->unsaved)
continue;
......@@ -213,6 +212,7 @@ int config_LoadConfigFile( vlc_object_t *p_this )
if (param->obsolete)
continue;
module_config_t *item = &param->item;
const char *psz_option_value = ptr + 1;
switch (CONFIG_CLASS(item->i_type))
{
......
......@@ -137,7 +137,7 @@ void vlc_plugin_destroy(vlc_plugin_t *plugin)
free(plugin);
}
static module_config_t *vlc_config_create(vlc_plugin_t *plugin, int type)
static struct vlc_param *vlc_config_create(vlc_plugin_t *plugin, int type)
{
unsigned confsize = plugin->conf.size;
struct vlc_param *tab = plugin->conf.params;
......@@ -178,7 +178,7 @@ static module_config_t *vlc_config_create(vlc_plugin_t *plugin, int type)
}
plugin->conf.size++;
return item;
return param;
}
/**
......@@ -191,7 +191,6 @@ static int vlc_plugin_desc_cb(void *ctx, void *tgt, int propid, ...)
{
vlc_plugin_t *plugin = ctx;
module_t *module = tgt;
module_config_t *item = tgt;
va_list ap;
int ret = 0;
......@@ -226,15 +225,11 @@ static int vlc_plugin_desc_cb(void *ctx, void *tgt, int propid, ...)
case VLC_CONFIG_CREATE:
{
int type = va_arg (ap, int);
module_config_t **pp = va_arg (ap, module_config_t **);
struct vlc_param *param = vlc_config_create(plugin, type);
item = vlc_config_create(plugin, type);
if (unlikely(item == NULL))
{
*va_arg(ap, struct vlc_param **)= param;
if (unlikely(param == NULL))
ret = -1;
break;
}
*pp = item;
break;
}
......@@ -318,16 +313,20 @@ static int vlc_plugin_desc_cb(void *ctx, void *tgt, int propid, ...)
case VLC_CONFIG_NAME:
{
struct vlc_param *param = tgt;
const char *name = va_arg (ap, const char *);
assert (name != NULL);
item->psz_name = name;
param->item.psz_name = name;
break;
}
case VLC_CONFIG_VALUE:
{
if (IsConfigIntegerType (item->i_type)
struct vlc_param *param = tgt;
module_config_t *item = &param->item;
if (IsConfigIntegerType(item->i_type)
|| !CONFIG_ITEM(item->i_type))
{
item->orig.i =
......@@ -351,6 +350,9 @@ static int vlc_plugin_desc_cb(void *ctx, void *tgt, int propid, ...)
case VLC_CONFIG_RANGE:
{
struct vlc_param *param = tgt;
module_config_t *item = &param->item;
if (IsConfigFloatType (item->i_type))
{
item->min.f = va_arg (ap, double);
......@@ -366,55 +368,65 @@ static int vlc_plugin_desc_cb(void *ctx, void *tgt, int propid, ...)
case VLC_CONFIG_VOLATILE:
{
struct vlc_param *param = container_of (item, struct vlc_param,
item);
struct vlc_param *param = tgt;
param->unsaved = true;
break;
}
case VLC_CONFIG_PRIVATE:
{
struct vlc_param *param = container_of (item, struct vlc_param,
item);
struct vlc_param *param = tgt;
param->internal = true;
break;
}
case VLC_CONFIG_REMOVED:
{
struct vlc_param *param = container_of (item, struct vlc_param,
item);
struct vlc_param *param = tgt;
param->obsolete = true;
break;
}
case VLC_CONFIG_CAPABILITY:
item->psz_type = va_arg (ap, const char *);
{
struct vlc_param *param = tgt;
param->item.psz_type = va_arg(ap, const char *);
break;
}
case VLC_CONFIG_SHORTCUT:
{
struct vlc_param *param = container_of (item, struct vlc_param,
item);
struct vlc_param *param = tgt;
param->shortname = va_arg(ap, int);
break;
}
case VLC_CONFIG_SAFE:
{
struct vlc_param *param = container_of (item, struct vlc_param,
item);
struct vlc_param *param = tgt;
param->safe = true;
break;
}
case VLC_CONFIG_DESC:
item->psz_text = va_arg (ap, const char *);
item->psz_longtext = va_arg (ap, const char *);
{
struct vlc_param *param = tgt;
param->item.psz_text = va_arg(ap, const char *);
param->item.psz_longtext = va_arg(ap, const char *);
break;
}
case VLC_CONFIG_LIST:
{
struct vlc_param *param = tgt;
module_config_t *item = &param->item;
size_t len = va_arg (ap, size_t);
assert (item->list_count == 0); /* cannot replace choices */
......