Skip to content

Commit

Permalink
snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
Browse files Browse the repository at this point in the history
In commit b906db1, the snd_dlopen()
implements the automatic lookup to the ALSA_PLUGIN_DIR directory.
It is not necessary to add the absolute paths in callers now.

The plugin names are also searched in ld.so.conf paths as the fallback now,
but it should not be a big problem.

BugLink: #34
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • Loading branch information
perexg committed Jun 4, 2020
1 parent 577df36 commit b2a4272
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 8 deletions.
2 changes: 1 addition & 1 deletion modules/mixer/simple/sbasedl.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include "mixer_abst.h"
#include "sbase.h"

#define SO_PATH ALSA_PLUGIN_DIR "/smixer"
#define SO_PATH "smixer"

int mixer_simple_basic_dlopen(snd_mixer_class_t *class,
bclass_base_ops_t **ops)
Expand Down
4 changes: 2 additions & 2 deletions src/control/control.c
Original file line number Diff line number Diff line change
Expand Up @@ -1337,13 +1337,13 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
build_in++;
}
if (*build_in == NULL) {
buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32);
buf1 = malloc(strlen(str) + 32);
if (buf1 == NULL) {
err = -ENOMEM;
goto _err;
}
lib = buf1;
sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
sprintf(buf1, "libasound_module_ctl_%s.so", str);
}
}
#ifndef PIC
Expand Down
2 changes: 1 addition & 1 deletion src/mixer/simple_abst.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

#ifndef DOC_HIDDEN

#define SO_PATH ALSA_PLUGIN_DIR "/smixer"
#define SO_PATH "smixer"

typedef struct _class_priv {
char *device;
Expand Down
4 changes: 2 additions & 2 deletions src/pcm/pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -2578,13 +2578,13 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
build_in++;
}
if (*build_in == NULL) {
buf1 = malloc(strlen(str) + sizeof(ALSA_PLUGIN_DIR) + 32);
buf1 = malloc(strlen(str) + 32);
if (buf1 == NULL) {
err = -ENOMEM;
goto _err;
}
lib = buf1;
sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
sprintf(buf1, "libasound_module_pcm_%s.so", str);
}
}
#ifndef PIC
Expand Down
4 changes: 2 additions & 2 deletions src/pcm/pcm_rate.c
Original file line number Diff line number Diff line change
Expand Up @@ -1281,7 +1281,7 @@ static const char *const default_rate_plugins[] = {

static int rate_open_func(snd_pcm_rate_t *rate, const char *type, const snd_config_t *converter_conf, int verbose)
{
char open_name[64], open_conf_name[64], lib_name[128], *lib = NULL;
char open_name[64], open_conf_name[64], lib_name[64], *lib = NULL;
snd_pcm_rate_open_func_t open_func;
snd_pcm_rate_open_conf_func_t open_conf_func;
int err;
Expand All @@ -1290,7 +1290,7 @@ static int rate_open_func(snd_pcm_rate_t *rate, const char *type, const snd_conf
snprintf(open_conf_name, sizeof(open_conf_name), "_snd_pcm_rate_%s_open_conf", type);
if (!is_builtin_plugin(type)) {
snprintf(lib_name, sizeof(lib_name),
"%s/libasound_module_rate_%s.so", ALSA_PLUGIN_DIR, type);
"libasound_module_rate_%s.so", type);
lib = lib_name;
}

Expand Down

0 comments on commit b2a4272

Please sign in to comment.