summaryrefslogtreecommitdiffstats
path: root/audio/filter
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-12-21 18:23:59 +0100
committerwm4 <wm4@nowhere>2013-12-21 20:50:12 +0100
commit1974c9b49d7bf09469362ef6ba1214f625ecb40a (patch)
treed670f2a12652f2f98531905e388f1290ebbee126 /audio/filter
parent4abe6b862f07d4d2dfa75791c9fdd97ccbc8aeaa (diff)
downloadmpv-1974c9b49d7bf09469362ef6ba1214f625ecb40a.tar.bz2
mpv-1974c9b49d7bf09469362ef6ba1214f625ecb40a.tar.xz
audio: mp_msg conversions
Diffstat (limited to 'audio/filter')
-rw-r--r--audio/filter/af.c43
-rw-r--r--audio/filter/af.h5
-rw-r--r--audio/filter/af_bs2b.c5
-rw-r--r--audio/filter/af_channels.c23
-rw-r--r--audio/filter/af_delay.c8
-rw-r--r--audio/filter/af_dummy.c2
-rw-r--r--audio/filter/af_equalizer.c2
-rw-r--r--audio/filter/af_export.c12
-rw-r--r--audio/filter/af_format.c5
-rw-r--r--audio/filter/af_hrtf.c24
-rw-r--r--audio/filter/af_ladspa.c89
-rw-r--r--audio/filter/af_lavcac3enc.c22
-rw-r--r--audio/filter/af_lavfi.c8
-rw-r--r--audio/filter/af_lavrresample.c7
-rw-r--r--audio/filter/af_pan.c4
-rw-r--r--audio/filter/af_scaletempo.c14
-rw-r--r--audio/filter/af_sinesuppress.c2
-rw-r--r--audio/filter/af_surround.c6
18 files changed, 136 insertions, 145 deletions
diff --git a/audio/filter/af.c b/audio/filter/af.c
index 417dede971..3eebd8b385 100644
--- a/audio/filter/af.c
+++ b/audio/filter/af.c
@@ -23,6 +23,7 @@
#include <assert.h>
#include "common/common.h"
+#include "common/global.h"
#include "options/m_option.h"
#include "options/m_config.h"
@@ -179,8 +180,7 @@ static struct af_instance *af_create(struct af_stream *s, char *name,
{
struct m_obj_desc desc;
if (!m_obj_list_find(&desc, &af_obj_list, bstr0(name))) {
- mp_msg(MSGT_VFILTER, MSGL_ERR,
- "Couldn't find audio filter '%s'.\n", name);
+ MP_ERR(s, "Couldn't find audio filter '%s'.\n", name);
return NULL;
}
const struct af_info *info = desc.p;
@@ -189,20 +189,21 @@ static struct af_instance *af_create(struct af_stream *s, char *name,
if (info->flags & AF_FLAGS_NOT_REENTRANT) {
for (struct af_instance *cur = s->first; cur; cur = cur->next) {
if (cur->info == info) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] There can only be one "
+ MP_ERR(s, "There can only be one "
"instance of the filter '%s' in each stream\n", name);
return NULL;
}
}
}
- mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Adding filter %s \n", name);
+ MP_VERBOSE(s, "Adding filter %s \n", name);
struct af_instance *af = talloc_zero(NULL, struct af_instance);
*af = (struct af_instance) {
.info = info,
.mul = 1,
.data = talloc_zero(af, struct mp_audio),
+ .log = mp_log_new(af, s->log, name),
};
struct m_config *config = m_config_from_obj_desc(af, &desc);
if (m_config_apply_defaults(config, name, s->opts->af_defs) < 0)
@@ -218,8 +219,7 @@ static struct af_instance *af_create(struct af_stream *s, char *name,
return af;
error:
- mp_msg(MSGT_AFILTER, MSGL_ERR,
- "[libaf] Couldn't create or open audio filter '%s'\n", name);
+ MP_ERR(s, "Couldn't create or open audio filter '%s'\n", name);
talloc_free(af);
return NULL;
}
@@ -280,8 +280,7 @@ static void af_remove(struct af_stream *s, struct af_instance *af)
return;
// Print friendly message
- mp_msg(MSGT_AFILTER, MSGL_V, "[libaf] Removing filter %s \n",
- af->info->name);
+ MP_VERBOSE(s, "Removing filter %s \n", af->info->name);
// Detach pointers
af->prev->next = af->next;
@@ -306,26 +305,26 @@ repeat:
static void af_print_filter_chain(struct af_stream *s, struct af_instance *at,
int msg_level)
{
- mp_msg(MSGT_AFILTER, msg_level, "Audio filter chain:\n");
+ MP_MSG(s, msg_level, "Audio filter chain:\n");
struct af_instance *af = s->first;
while (af) {
- mp_msg(MSGT_AFILTER, msg_level, " [%s] ", af->info->name);
+ MP_MSG(s, msg_level, " [%s] ", af->info->name);
if (af->data) {
char *info = mp_audio_config_to_str(af->data);
- mp_msg(MSGT_AFILTER, msg_level, "%s", info);
+ MP_MSG(s, msg_level, "%s", info);
talloc_free(info);
}
if (af == at)
- mp_msg(MSGT_AFILTER, msg_level, " <-");
- mp_msg(MSGT_AFILTER, msg_level, "\n");
+ MP_MSG(s, msg_level, " <-");
+ MP_MSG(s, msg_level, "\n");
af = af->next;
}
- mp_msg(MSGT_AFILTER, msg_level, " [ao] ");
+ MP_MSG(s, msg_level, " [ao] ");
char *info = mp_audio_config_to_str(&s->output);
- mp_msg(MSGT_AFILTER, msg_level, "%s\n", info);
+ MP_MSG(s, msg_level, "%s\n", info);
talloc_free(info);
}
@@ -555,8 +554,8 @@ static int af_reinit(struct af_stream *s)
break;
}
default:
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Reinitialization did not "
- "work, audio filter '%s' returned error code %i\n",
+ MP_ERR(s, "Reinitialization did not work, "
+ "audio filter '%s' returned error code %i\n",
af->info->name, rv);
af_print_filter_chain(s, af, MSGL_ERR);
return AF_ERROR;
@@ -573,8 +572,7 @@ static int af_reinit(struct af_stream *s)
return af_config_equals(&s->output, &s->filter_output) ? AF_OK : AF_ERROR;
negotiate_error:
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[libaf] Unable to convert audio input "
- "format to output format.\n");
+ MP_ERR(s, "Unable to convert audio input format to output format.\n");
af_print_filter_chain(s, af, MSGL_ERR);
return AF_ERROR;
}
@@ -586,7 +584,7 @@ void af_uninit(struct af_stream *s)
af_remove(s, s->first->next);
}
-struct af_stream *af_new(struct MPOpts *opts)
+struct af_stream *af_new(struct mpv_global *global)
{
struct af_stream *s = talloc_zero(NULL, struct af_stream);
static struct af_info in = { .name = "in" };
@@ -611,7 +609,8 @@ struct af_stream *af_new(struct MPOpts *opts)
};
s->first->next = s->last;
s->last->prev = s->first;
- s->opts = opts;
+ s->opts = global->opts;
+ s->log = mp_log_new(s, global->log, "!af");
return s;
}
@@ -654,7 +653,7 @@ int af_init(struct af_stream *s)
if (af_reinit(s) != AF_OK) {
// Something is stuffed audio out will not work
- mp_msg(MSGT_AFILTER, MSGL_ERR, "Could not create audio filter chain.\n");
+ MP_ERR(s, "Could not create audio filter chain.\n");
af_uninit(s);
return -1;
}
diff --git a/audio/filter/af.h b/audio/filter/af.h
index d08560bece..6b0f0e9c01 100644
--- a/audio/filter/af.h
+++ b/audio/filter/af.h
@@ -30,6 +30,7 @@
#include "common/msg.h"
struct af_instance;
+struct mpv_global;
// Number of channels
#define AF_NCH MP_NUM_CHANNELS
@@ -57,6 +58,7 @@ struct af_info {
// Linked list of audio filters
struct af_instance {
const struct af_info *info;
+ struct mp_log *log;
int (*control)(struct af_instance *af, int cmd, void *arg);
void (*uninit)(struct af_instance *af);
/* flags is a bit mask of AF_FILTER_FLAG_* values
@@ -86,6 +88,7 @@ struct af_stream {
struct mp_audio output;
struct mp_audio filter_output;
+ struct mp_log *log;
struct MPOpts *opts;
};
@@ -120,7 +123,7 @@ typedef struct af_control_ext_s {
int ch; // Chanel number
} af_control_ext_t;
-struct af_stream *af_new(struct MPOpts *opts);
+struct af_stream *af_new(struct mpv_global *global);
void af_destroy(struct af_stream *s);
int af_init(struct af_stream *s);
void af_uninit(struct af_stream *s);
diff --git a/audio/filter/af_bs2b.c b/audio/filter/af_bs2b.c
index 48df9197dc..1ea31b260a 100644
--- a/audio/filter/af_bs2b.c
+++ b/audio/filter/af_bs2b.c
@@ -142,13 +142,12 @@ static int control(struct af_instance *af, int cmd, void *arg)
// bs2b have srate limits, try to resample if needed
if (af->data->rate > BS2B_MAXSRATE || af->data->rate < BS2B_MINSRATE) {
af->data->rate = BS2B_DEFAULT_SRATE;
- mp_msg(MSGT_AFILTER, MSGL_WARN,
- "[bs2b] Requested sample rate %d Hz is out of bounds [%d..%d] Hz.\n"
+ MP_WARN(af, "[bs2b] Requested sample rate %d Hz is out of bounds [%d..%d] Hz.\n"
"[bs2b] Trying to resample to %d Hz.\n",
af->data->rate, BS2B_MINSRATE, BS2B_MAXSRATE, BS2B_DEFAULT_SRATE);
}
bs2b_set_srate(s->filter, (long)af->data->rate);
- mp_msg(MSGT_AFILTER, MSGL_V, "[bs2b] using format %s\n",
+ MP_VERBOSE(af, "[bs2b] using format %s\n",
af_fmt_to_str(af->data->format));
return af_test_output(af,(struct mp_audio*)arg);
diff --git a/audio/filter/af_channels.c b/audio/filter/af_channels.c
index 7bbf952ffe..74a0de0fd6 100644
--- a/audio/filter/af_channels.c
+++ b/audio/filter/af_channels.c
@@ -41,7 +41,8 @@ typedef struct af_channels_s{
}af_channels_t;
// Local function for copying data
-static void copy(void* in, void* out, int ins, int inos,int outs, int outos, int len, int bps)
+static void copy(struct af_instance *af, void* in, void* out,
+ int ins, int inos,int outs, int outos, int len, int bps)
{
switch(bps){
case 1:{
@@ -112,24 +113,25 @@ static void copy(void* in, void* out, int ins, int inos,int outs, int outos, int
break;
}
default:
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] Unsupported number of bytes/sample: %i"
+ MP_ERR(af, "Unsupported number of bytes/sample: %i"
" please report this error on the MPlayer mailing list. \n",bps);
}
}
// Make sure the routes are sane
-static int check_routes(af_channels_t* s, int nin, int nout)
+static int check_routes(struct af_instance *af, int nin, int nout)
{
+ af_channels_t* s = af->priv;
int i;
if((s->nr < 1) || (s->nr > AF_NCH)){
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] The number of routing pairs must be"
+ MP_ERR(af, "[channels] The number of routing pairs must be"
" between 1 and %i. Current value is %i\n",AF_NCH,s->nr);
return AF_ERROR;
}
for(i=0;i<s->nr;i++){
if((s->route[i][FR] >= nin) || (s->route[i][TO] >= nout)){
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[channels] Invalid routing in pair nr. %i.\n", i);
+ MP_ERR(af, "[channels] Invalid routing in pair nr. %i.\n", i);
return AF_ERROR;
}
}
@@ -174,7 +176,7 @@ static int control(struct af_instance* af, int cmd, void* arg)
af->data->rate = ((struct mp_audio*)arg)->rate;
mp_audio_force_interleaved_format((struct mp_audio*)arg);
mp_audio_set_format(af->data, ((struct mp_audio*)arg)->format);
- return check_routes(s,((struct mp_audio*)arg)->nch,af->data->nch);
+ return check_routes(af,((struct mp_audio*)arg)->nch,af->data->nch);
}
return AF_UNKNOWN;
}
@@ -192,9 +194,9 @@ static int filter(struct af_instance* af, struct mp_audio* data, int flags)
// Reset unused channels
memset(l->planes[0],0,mp_audio_psize(c) / c->nch * l->nch);
- if(AF_OK == check_routes(s,c->nch,l->nch))
+ if(AF_OK == check_routes(af,c->nch,l->nch))
for(i=0;i<s->nr;i++)
- copy(c->planes[0],l->planes[0],c->nch,s->route[i][FR],
+ copy(af, c->planes[0],l->planes[0],c->nch,s->route[i][FR],
l->nch,s->route[i][TO],mp_audio_psize(c),c->bps);
// Set output data
@@ -218,12 +220,11 @@ static int af_open(struct af_instance* af){
do {
int n = 0;
if (ch >= AF_NCH) {
- mp_msg(MSGT_AFILTER, MSGL_FATAL,
- "[channels] Can't have more than %d routes.\n", AF_NCH);
+ MP_FATAL(af, "[channels] Can't have more than %d routes.\n", AF_NCH);
return AF_ERROR;
}
sscanf(cp, "%i-%i%n" ,&s->route[ch][FR], &s->route[ch][TO], &n);
- mp_msg(MSGT_AFILTER, MSGL_V, "[channels] Routing from channel %i to"
+ MP_VERBOSE(af, "[channels] Routing from channel %i to"
" channel %i\n",s->route[ch][FR],s->route[ch][TO]);
cp = &cp[n];
ch++;
diff --git a/audio/filter/af_delay.c b/audio/filter/af_delay.c
index f29d065427..51c453f6e5 100644
--- a/audio/filter/af_delay.c
+++ b/audio/filter/af_delay.c
@@ -54,7 +54,7 @@ static int control(struct af_instance* af, int cmd, void* arg)
struct mp_audio *in = arg;
if (in->bps != 1 && in->bps != 2 && in->bps != 4) {
- mp_msg(MSGT_AFILTER, MSGL_FATAL, "[delay] Sample format not supported\n");
+ MP_FATAL(af, "[delay] Sample format not supported\n");
return AF_ERROR;
}
@@ -69,16 +69,16 @@ static int control(struct af_instance* af, int cmd, void* arg)
for(i=0;i<af->data->nch;i++){
s->q[i] = calloc(L,af->data->bps);
if(NULL == s->q[i])
- mp_msg(MSGT_AFILTER, MSGL_FATAL, "[delay] Out of memory\n");
+ MP_FATAL(af, "[delay] Out of memory\n");
}
if(AF_OK != af_from_ms(AF_NCH, s->d, s->wi, af->data->rate, 0.0, 1000.0))
return AF_ERROR;
s->ri = 0;
for(i=0;i<AF_NCH;i++){
- mp_msg(MSGT_AFILTER, MSGL_DBG2, "[delay] Channel %i delayed by %0.3fms\n",
+ MP_DBG(af, "[delay] Channel %i delayed by %0.3fms\n",
i,MPCLAMP(s->d[i],0.0,1000.0));
- mp_msg(MSGT_AFILTER, MSGL_DBG3, "[delay] Channel %i delayed by %i samples\n",
+ MP_TRACE(af, "[delay] Channel %i delayed by %i samples\n",
i,s->wi[i]);
}
return AF_OK;
diff --git a/audio/filter/af_dummy.c b/audio/filter/af_dummy.c
index d024d0343f..6822523efe 100644
--- a/audio/filter/af_dummy.c
+++ b/audio/filter/af_dummy.c
@@ -33,7 +33,7 @@ static int control(struct af_instance* af, int cmd, void* arg)
switch(cmd){
case AF_CONTROL_REINIT: ;
*af->data = *(struct mp_audio*)arg;
- mp_msg(MSGT_AFILTER, MSGL_V, "[dummy] Was reinitialized: %iHz/%ich/%s\n",
+ MP_VERBOSE(af, "[dummy] Was reinitialized: %iHz/%ich/%s\n",
af->data->rate,af->data->nch,af_fmt_to_str(af->data->format));
return AF_OK;
}
diff --git a/audio/filter/af_equalizer.c b/audio/filter/af_equalizer.c
index 7f79dab8ca..49aedeb106 100644
--- a/audio/filter/af_equalizer.c
+++ b/audio/filter/af_equalizer.c
@@ -107,7 +107,7 @@ static int control(struct af_instance* af, int cmd, void* arg)
s->K--;
if(s->K != KM)
- mp_msg(MSGT_AFILTER, MSGL_INFO, "[equalizer] Limiting the number of filters to"
+ MP_INFO(af, "[equalizer] Limiting the number of filters to"
" %i due to low sample rate.\n",s->K);
// Generate filter taps
diff --git a/audio/filter/af_export.c b/audio/filter/af_export.c
index bbea56cab9..3af8316cbe 100644
--- a/audio/filter/af_export.c
+++ b/audio/filter/af_export.c
@@ -95,20 +95,20 @@ static int control(struct af_instance* af, int cmd, void* arg)
// Allocate new buffers (as one continuous block)
s->buf[0] = calloc(s->sz*af->data->nch, af->data->bps);
if(NULL == s->buf[0])
- mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Out of memory\n");
+ MP_FATAL(af, "[export] Out of memory\n");
for(i = 1; i < af->data->nch; i++)
s->buf[i] = (uint8_t *)s->buf[0] + i*s->sz*af->data->bps;
if (!s->filename) {
- mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] No filename set.\n");
+ MP_FATAL(af, "[export] No filename set.\n");
return AF_ERROR;
}
// Init memory mapping
s->fd = open(s->filename, O_RDWR | O_CREAT | O_TRUNC | O_CLOEXEC, 0640);
- mp_msg(MSGT_AFILTER, MSGL_INFO, "[export] Exporting to file: %s\n", s->filename);
+ MP_INFO(af, "[export] Exporting to file: %s\n", s->filename);
if(s->fd < 0) {
- mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Could not open/create file: %s\n",
+ MP_FATAL(af, "[export] Could not open/create file: %s\n",
s->filename);
return AF_ERROR;
}
@@ -125,8 +125,8 @@ static int control(struct af_instance* af, int cmd, void* arg)
// mmap size
s->mmap_area = mmap(0, mapsize, PROT_READ|PROT_WRITE,MAP_SHARED, s->fd, 0);
if(s->mmap_area == NULL)
- mp_msg(MSGT_AFILTER, MSGL_FATAL, "[export] Could not mmap file %s\n", s->filename);
- mp_msg(MSGT_AFILTER, MSGL_INFO, "[export] Memory mapped to file: %s (%p)\n",
+ MP_FATAL(af, "[export] Could not mmap file %s\n", s->filename);
+ MP_INFO(af, "[export] Memory mapped to file: %s (%p)\n",
s->filename, s->mmap_area);
// Initialize header
diff --git a/audio/filter/af_format.c b/audio/filter/af_format.c
index 17af1c43c9..a51c543406 100644
--- a/audio/filter/af_format.c
+++ b/audio/filter/af_format.c
@@ -80,13 +80,12 @@ static int control(struct af_instance *af, int cmd, void *arg)
force_out_params(af, out);
if (in->nch != out->nch || in->bps != out->bps) {
- mp_msg(MSGT_AFILTER, MSGL_ERR,
- "[af_format] Forced input/output formats are incompatible.\n");
+ MP_ERR(af, "[af_format] Forced input/output formats are incompatible.\n");
return AF_ERROR;
}
if (priv->fail) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[af_format] Failing on purpose.\n");
+ MP_ERR(af, "[af_format] Failing on purpose.\n");
return AF_ERROR;
}
diff --git a/audio/filter/af_hrtf.c b/audio/filter/af_hrtf.c
index 83495f4fcb..e3fecb8ad7 100644
--- a/audio/filter/af_hrtf.c
+++ b/audio/filter/af_hrtf.c
@@ -296,8 +296,7 @@ static int control(struct af_instance *af, int cmd, void* arg)
if(af->data->rate != 48000) {
// automatic samplerate adjustment in the filter chain
// is not yet supported.
- mp_msg(MSGT_AFILTER, MSGL_ERR,
- "[hrtf] ERROR: Sampling rate is not 48000 Hz (%d)!\n",
+ MP_ERR(af, "[hrtf] ERROR: Sampling rate is not 48000 Hz (%d)!\n",
af->data->rate);
return AF_ERROR;
}
@@ -368,30 +367,25 @@ static int filter(struct af_instance *af, struct mp_audio *data, int flags)
s->print_flag = 0;
switch (s->decode_mode) {
case HRTF_MIX_51:
- mp_msg(MSGT_AFILTER, MSGL_INFO,
- "[hrtf] Using HRTF to mix %s discrete surround into "
+ MP_INFO(af, "[hrtf] Using HRTF to mix %s discrete surround into "
"L, R channels\n", s->matrix_mode ? "5+1" : "5");
break;
case HRTF_MIX_STEREO:
- mp_msg(MSGT_AFILTER, MSGL_INFO,
- "[hrtf] Using HRTF to mix stereo into "
+ MP_INFO(af, "[hrtf] Using HRTF to mix stereo into "
"L, R channels\n");
break;
case HRTF_MIX_MATRIX2CH:
- mp_msg(MSGT_AFILTER, MSGL_INFO,
- "[hrtf] Using active matrix to decode 2 channel "
+ MP_INFO(af, "[hrtf] Using active matrix to decode 2 channel "
"input, HRTF to mix %s matrix surround into "
"L, R channels\n", "3/2");
break;
default:
- mp_msg(MSGT_AFILTER, MSGL_WARN,
- "[hrtf] bogus decode_mode: %d\n", s->decode_mode);
+ MP_WARN(af, "[hrtf] bogus decode_mode: %d\n", s->decode_mode);
break;
}
if(s->matrix_mode)
- mp_msg(MSGT_AFILTER, MSGL_INFO,
- "[hrtf] Using active matrix to decode rear center "
+ MP_INFO(af, "[hrtf] Using active matrix to decode rear center "
"channel\n");
}
@@ -601,7 +595,7 @@ static int af_open(struct af_instance* af)
s->print_flag = 1;
if (allocate(s) != 0) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[hrtf] Memory allocation error.\n");
+ MP_ERR(af, "[hrtf] Memory allocation error.\n");
return AF_ERROR;
}
@@ -620,13 +614,13 @@ static int af_open(struct af_instance* af)
s->cr_ir = cr_filt + (s->cr_o = pulse_detect(cr_filt));
if((s->ba_ir = malloc(s->basslen * sizeof(float))) == NULL) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[hrtf] Memory allocation error.\n");
+ MP_ERR(af, "[hrtf] Memory allocation error.\n");
return AF_ERROR;
}
fc = 2.0 * BASSFILTFREQ / (float)af->data->rate;
if(af_filter_design_fir(s->basslen, s->ba_ir, &fc, LP | KAISER, 4 * M_PI) ==
-1) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "[hrtf] Unable to design low-pass "
+ MP_ERR(af, "[hrtf] Unable to design low-pass "
"filter.\n");
return AF_ERROR;
}
diff --git a/audio/filter/af_ladspa.c b/audio/filter/af_ladspa.c
index 881490a513..7beaded3d3 100644
--- a/audio/filter/af_ladspa.c
+++ b/audio/filter/af_ladspa.c
@@ -137,7 +137,8 @@ struct af_info af_info_ladspa = {
* configuration. Else, it returns AF_ERROR.
*/
-static int af_ladspa_parse_plugin(af_ladspa_t *setup) {
+static int af_ladspa_parse_plugin(struct af_instance *af) {
+ af_ladspa_t *setup = af->priv;
int p, i;
const LADSPA_Descriptor *pdes = setup->plugin_descriptor;
LADSPA_PortDescriptor d;
@@ -217,30 +218,30 @@ static int af_ladspa_parse_plugin(af_ladspa_t *setup) {
}
if (setup->ninputs == 0) {
- mp_msg(MSGT_AFILTER, MSGL_WARN, "%s: %s\n", setup->myname,
+ MP_WARN(af, "%s: %s\n", setup->myname,
_("WARNING! This LADSPA plugin has no audio inputs.\n The incoming audio signal will be lost."));
} else if (setup->ninputs == 1) {
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: this is a mono effect\n", setup->myname);
+ MP_VERBOSE(af, "%s: this is a mono effect\n", setup->myname);
} else if (setup->ninputs == 2) {
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: this is a stereo effect\n", setup->myname);
+ MP_VERBOSE(af, "%s: this is a stereo effect\n", setup->myname);
} else {
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: this is a %i-channel effect, "
+ MP_VERBOSE(af, "%s: this is a %i-channel effect, "
"support is experimental\n", setup->myname, setup->ninputs);
}
if (setup->noutputs == 0) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("This LADSPA plugin has no audio outputs."));
return AF_ERROR;
}
if (setup->noutputs != setup->ninputs ) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("The number of audio inputs and audio outputs of the LADSPA plugin differ."));
return AF_ERROR;
}
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: this plugin has %d input control(s)\n",
+ MP_VERBOSE(af, "%s: this plugin has %d input control(s)\n",
setup->myname, setup->ninputcontrols);
/* Print list of controls and its range of values it accepts */
@@ -248,18 +249,18 @@ static int af_ladspa_parse_plugin(af_ladspa_t *setup) {
for (i=0; i<setup->ninputcontrols; i++) {
p = setup->inputcontrolsmap[i];
hint = pdes->PortRangeHints[p];
- mp_msg(MSGT_AFILTER, MSGL_V, " --- %d %s [", i, pdes->PortNames[p]);
+ MP_VERBOSE(af, " --- %d %s [", i, pdes->PortNames[p]);
if (LADSPA_IS_HINT_BOUNDED_BELOW(hint.HintDescriptor)) {
- mp_msg(MSGT_AFILTER, MSGL_V, "%0.2f , ", hint.LowerBound);
+ MP_VERBOSE(af, "%0.2f , ", hint.LowerBound);
} else {
- mp_msg(MSGT_AFILTER, MSGL_V, "... , ");
+ MP_VERBOSE(af, "... , ");
}
if (LADSPA_IS_HINT_BOUNDED_ABOVE(hint.HintDescriptor)) {
- mp_msg(MSGT_AFILTER, MSGL_V, "%0.2f]\n", hint.UpperBound);
+ MP_VERBOSE(af, "%0.2f]\n", hint.UpperBound);
} else {
- mp_msg(MSGT_AFILTER, MSGL_V, "...]\n");
+ MP_VERBOSE(af, "...]\n");
}
}
@@ -305,9 +306,9 @@ static void* mydlopen(const char *filename, int flag) {
/* For Windows there's only absolute path support.
* If you have a Windows machine, feel free to fix this.
* (path separator, shared objects extension, et cetera). */
- mp_msg(MSGT_AFILTER, MSGL_V, "\ton windows, only absolute pathnames "
+ MP_VERBOSE(af, "\ton windows, only absolute pathnames "
"are supported\n");
- mp_msg(MSGT_AFILTER, MSGL_V, "\ttrying %s\n", filename);
+ MP_VERBOSE(af, "\ttrying %s\n", filename);
return dlopen(filename, flag);
#endif
@@ -348,7 +349,6 @@ static void* mydlopen(const char *filename, int flag) {
}
strcpy(buf+needslash+(end-start), filename);
- mp_msg(MSGT_AFILTER, MSGL_V, "\ttrying %s\n", buf);
result=dlopen(buf, flag);
free(buf);
@@ -362,7 +362,6 @@ static void* mydlopen(const char *filename, int flag) {
} /* end if there's a ladspapath */
/* last resort, just open it again, so the dlerror() message is correct */
- mp_msg(MSGT_AFILTER, MSGL_V, "\ttrying %s\n", filename);
return dlopen(filename,flag);
}
@@ -383,24 +382,25 @@ static void* mydlopen(const char *filename, int flag) {
* \return Either AF_ERROR or AF_OK, depending on the success of the operation.
*/
-static int af_ladspa_load_plugin(af_ladspa_t *setup) {
+static int af_ladspa_load_plugin(struct af_instance *af) {
+ af_ladspa_t *setup = af->priv;
const LADSPA_Descriptor *ladspa_descriptor;
LADSPA_Descriptor_Function descriptor_function;
int i;
/* load library */
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: loading ladspa plugin library %s\n",
+ MP_VERBOSE(af, "%s: loading ladspa plugin library %s\n",
setup->myname, setup->file);
setup->libhandle = mydlopen(setup->file, RTLD_NOW);
if (!setup->libhandle) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s %s\n\t%s\n", setup->myname,
+ MP_ERR(af, "%s: %s %s\n\t%s\n", setup->myname,
_("failed to load"), setup->file, dlerror() );
return AF_ERROR;
}
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: library found.\n", setup->myname);
+ MP_VERBOSE(af, "%s: library found.\n", setup->myname);
/* find descriptor function */
dlerror();
@@ -408,7 +408,7 @@ static int af_ladspa_load_plugin(af_ladspa_t *setup) {
"ladspa_descriptor");
if (!descriptor_function) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n\t%s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n\t%s\n", setup->myname,
_("Couldn't find ladspa_descriptor() function in the specified library file."), dlerror());
return AF_ERROR;
}
@@ -416,33 +416,33 @@ static int af_ladspa_load_plugin(af_ladspa_t *setup) {
/* if label == help, list all labels in library and exit */
if (strcmp(setup->label, "help") == 0) {
- mp_msg(MSGT_AFILTER, MSGL_INFO, "%s: %s %s:\n", setup->myname,
+ MP_INFO(af, "%s: %s %s:\n", setup->myname,
_("available labels in"), setup->file);
for (i=0; ; i++) {
ladspa_descriptor = descriptor_function(i);
if (ladspa_descriptor == NULL) {
return AF_ERROR;
}
- mp_msg(MSGT_AFILTER, MSGL_INFO, " %-16s - %s (%lu)\n",
+ MP_INFO(af, " %-16s - %s (%lu)\n",
ladspa_descriptor->Label,
ladspa_descriptor->Name,
ladspa_descriptor->UniqueID);
}
}
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: looking for label\n", setup->myname);
+ MP_VERBOSE(af, "%s: looking for label\n", setup->myname);
/* find label in library */
for (i=0; ; i++) {
ladspa_descriptor = descriptor_function(i);
if (ladspa_descriptor == NULL) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("Couldn't find label in plugin library."));
return AF_ERROR;
}
if (strcmp(ladspa_descriptor->Label, setup->label) == 0) {
setup->plugin_descriptor = ladspa_descriptor;
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: %s found\n", setup->myname,
+ MP_VERBOSE(af, "%s: %s found\n", setup->myname,
setup->label);
return AF_OK;
}
@@ -463,7 +463,6 @@ static int af_ladspa_load_plugin(af_ladspa_t *setup) {
*/
static int af_ladspa_malloc_failed(char *myname) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s", myname, "Memory allocation failed.\n");
return AF_ERROR;
}
@@ -489,7 +488,7 @@ static int control(struct af_instance *af, int cmd, void *arg) {
switch(cmd) {
case AF_CONTROL_REINIT:
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: (re)init\n", setup->myname);
+ MP_VERBOSE(af, "%s: (re)init\n", setup->myname);
if (!arg) return AF_ERROR;
@@ -520,7 +519,7 @@ static void uninit(struct af_instance *af) {
const LADSPA_Descriptor *pdes = setup->plugin_descriptor;
if (setup->myname) {
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: cleaning up\n", setup->myname);
+ MP_VERBOSE(af, "%s: cleaning up\n", setup->myname);
free(setup->myname);
}
@@ -589,7 +588,7 @@ static int filter(struct af_instance *af, struct mp_audio *data, int flags) {
*/
if (setup->nch != 0) {
- mp_msg(MSGT_AFILTER, MSGL_DBG3, "%s: bufsize change; free old buffer\n",
+ MP_TRACE(af, "%s: bufsize change; free old buffer\n",
setup->myname);
if(setup->inbufs) {
@@ -610,7 +609,7 @@ static int filter(struct af_instance *af, struct mp_audio *data, int flags) {
setup->inbufs = calloc(nch, sizeof(float*));
setup->outbufs = calloc(nch, sizeof(float*));
- mp_msg(MSGT_AFILTER, MSGL_DBG3, "%s: bufsize = %d\n",
+ MP_TRACE(af, "%s: bufsize = %d\n",
setup->myname, setup->bufsize);
for(i=0; i<nch; i++) {
@@ -752,13 +751,13 @@ static int af_open(struct af_instance *af) {
return af_ladspa_malloc_failed((char*)af_info_ladspa.name);
if (!setup->file || !setup->file[0]) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("No library file specified."));
uninit(af);
return AF_ERROR;
}
if (!setup->label || !setup->label[0]) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("No filter label specified."));
uninit(af);
return AF_ERROR;
@@ -773,11 +772,11 @@ static int af_open(struct af_instance *af) {
/* load plugin :) */
- if ( af_ladspa_load_plugin(setup) != AF_OK )
+ if ( af_ladspa_load_plugin(af) != AF_OK )
return AF_ERROR;
/* see what inputs, outputs and controls this plugin has */
- if ( af_ladspa_parse_plugin(setup) != AF_OK )
+ if ( af_ladspa_parse_plugin(af) != AF_OK )
return AF_ERROR;
/* ninputcontrols is set by now, read control values from arg */
@@ -786,14 +785,14 @@ static int af_open(struct af_instance *af) {
char *line = setup->controls;
for (int i = 0; i < setup->ninputcontrols; i++) {
if (!line || (i != 0 && *line != ',')) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("Not enough controls specified on the command line."));
return AF_ERROR;
}
if (i != 0)
line++;
if (sscanf(line, "%f", &val) != 1) {
- mp_msg(MSGT_AFILTER, MSGL_ERR, "%s: %s\n", setup->myname,
+ MP_ERR(af, "%s: %s\n", setup->myname,
_("Not enough controls specified on the command line."));
return AF_ERROR;
}
@@ -801,16 +800,16 @@ static int af_open(struct af_instance *af) {
line = strchr(line, ',');
}
- mp_msg(MSGT_AFILTER, MSGL_V, "%s: input controls: ", setup->myname);
+ MP_VERBOSE(af, "%s: input controls: ", setup->myname);
for (int i = 0; i < setup->ninputcontrols; i++) {
- mp_msg(MSGT_AFILTER, MSGL_V, "%0.4f ",
+ MP_VERBOSE(af, "%0.4f ",
setup->inputcontrols[setup->inputcontrols