audio-converter: code cleanup

Rename samples to num_samples, since we also have samples in chain, but that is
the data pointer. Always use gzize for num_samples. Make the log output a bit
more homogenous.
This commit is contained in:
Stefan Sauer 2015-12-27 19:25:20 +01:00
parent 69d3b098a2
commit 0bd3f818bb

View file

@ -135,12 +135,12 @@ struct _GstAudioConverter
gboolean passthrough; gboolean passthrough;
}; };
typedef gboolean (*AudioChainFunc) (AudioChain * chain, gsize samples, typedef gboolean (*AudioChainFunc) (AudioChain * chain, gsize num_samples,
gpointer user_data); gpointer user_data);
typedef gpointer *(*AudioChainAllocFunc) (AudioChain * chain, gsize samples, typedef gpointer *(*AudioChainAllocFunc) (AudioChain * chain, gsize num_samples,
gpointer user_data); gpointer user_data);
static gpointer *get_output_samples (AudioChain * chain, gsize samples, static gpointer *get_output_samples (AudioChain * chain, gsize num_samples,
gpointer user_data); gpointer user_data);
struct _AudioChain struct _AudioChain
@ -209,18 +209,18 @@ audio_chain_free (AudioChain * chain)
} }
static gpointer * static gpointer *
audio_chain_alloc_samples (AudioChain * chain, guint samples) audio_chain_alloc_samples (AudioChain * chain, gsize num_samples)
{ {
return chain->alloc_func (chain, samples, chain->alloc_data); return chain->alloc_func (chain, num_samples, chain->alloc_data);
} }
static gpointer * static gpointer *
audio_chain_get_samples (AudioChain * chain, guint samples) audio_chain_get_samples (AudioChain * chain, gsize num_samples)
{ {
gpointer *res; gpointer *res;
while (!chain->samples) while (!chain->samples)
chain->make_func (chain, samples, chain->make_func_data); chain->make_func (chain, num_samples, chain->make_func_data);
res = chain->samples; res = chain->samples;
chain->samples = NULL; chain->samples = NULL;
@ -319,7 +319,7 @@ gst_audio_converter_get_config (GstAudioConverter * convert)
} }
static gboolean static gboolean
do_unpack (AudioChain * chain, gsize samples, gpointer user_data) do_unpack (AudioChain * chain, gsize num_samples, gpointer user_data)
{ {
GstAudioConverter *convert = user_data; GstAudioConverter *convert = user_data;
gpointer *tmp; gpointer *tmp;
@ -333,13 +333,14 @@ do_unpack (AudioChain * chain, gsize samples, gpointer user_data)
if (src_writable && chain->allow_ip) if (src_writable && chain->allow_ip)
tmp = convert->in_data; tmp = convert->in_data;
else else
tmp = audio_chain_alloc_samples (chain, samples); tmp = audio_chain_alloc_samples (chain, num_samples);
GST_LOG ("unpack %p %p, %" G_GSIZE_FORMAT, tmp, convert->in_data, samples); GST_LOG ("unpack %p, %p, %" G_GSIZE_FORMAT, tmp, convert->in_data,
num_samples);
for (i = 0; i < chain->blocks; i++) { for (i = 0; i < chain->blocks; i++) {
convert->in.finfo->unpack_func (convert->in.finfo, convert->in.finfo->unpack_func (convert->in.finfo,
GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE, tmp[i], convert->in_data[i], GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE, tmp[i], convert->in_data[i],
samples * chain->inc); num_samples * chain->inc);
} }
} else { } else {
tmp = convert->in_data; tmp = convert->in_data;
@ -351,18 +352,18 @@ do_unpack (AudioChain * chain, gsize samples, gpointer user_data)
} }
static gboolean static gboolean
do_convert_in (AudioChain * chain, gsize samples, gpointer user_data) do_convert_in (AudioChain * chain, gsize num_samples, gpointer user_data)
{ {
GstAudioConverter *convert = user_data; GstAudioConverter *convert = user_data;
gpointer *in, *out; gpointer *in, *out;
gint i; gint i;
in = audio_chain_get_samples (chain->prev, samples); in = audio_chain_get_samples (chain->prev, num_samples);
out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, samples)); out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, num_samples));
GST_LOG ("convert in %p, %p %" G_GSIZE_FORMAT, in, out, samples); GST_LOG ("convert in %p, %p, %" G_GSIZE_FORMAT, in, out, num_samples);
for (i = 0; i < chain->blocks; i++) for (i = 0; i < chain->blocks; i++)
convert->convert_in (out[i], in[i], samples * chain->inc); convert->convert_in (out[i], in[i], num_samples * chain->inc);
chain->samples = out; chain->samples = out;
@ -370,16 +371,16 @@ do_convert_in (AudioChain * chain, gsize samples, gpointer user_data)
} }
static gboolean static gboolean
do_mix (AudioChain * chain, gsize samples, gpointer user_data) do_mix (AudioChain * chain, gsize num_samples, gpointer user_data)
{ {
GstAudioConverter *convert = user_data; GstAudioConverter *convert = user_data;
gpointer *in, *out; gpointer *in, *out;
in = audio_chain_get_samples (chain->prev, samples); in = audio_chain_get_samples (chain->prev, num_samples);
out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, samples)); out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, num_samples));
GST_LOG ("mix %p %p,%" G_GSIZE_FORMAT, in, out, samples); GST_LOG ("mix %p, %p, %" G_GSIZE_FORMAT, in, out, num_samples);
gst_audio_channel_mix_samples (convert->mix, in, out, samples); gst_audio_channel_mix_samples (convert->mix, in, out, num_samples);
chain->samples = out; chain->samples = out;
@ -387,18 +388,18 @@ do_mix (AudioChain * chain, gsize samples, gpointer user_data)
} }
static gboolean static gboolean
do_convert_out (AudioChain * chain, gsize samples, gpointer user_data) do_convert_out (AudioChain * chain, gsize num_samples, gpointer user_data)
{ {
GstAudioConverter *convert = user_data; GstAudioConverter *convert = user_data;
gpointer *in, *out; gpointer *in, *out;
gint i; gint i;
in = audio_chain_get_samples (chain->prev, samples); in = audio_chain_get_samples (chain->prev, num_samples);
out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, samples)); out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, num_samples));
GST_LOG ("convert out %p, %p %" G_GSIZE_FORMAT, in, out, samples); GST_LOG ("convert out %p, %p, %" G_GSIZE_FORMAT, in, out, num_samples);
for (i = 0; i < chain->blocks; i++) for (i = 0; i < chain->blocks; i++)
convert->convert_out (out[i], in[i], samples * chain->inc); convert->convert_out (out[i], in[i], num_samples * chain->inc);
chain->samples = out; chain->samples = out;
@ -406,16 +407,16 @@ do_convert_out (AudioChain * chain, gsize samples, gpointer user_data)
} }
static gboolean static gboolean
do_quantize (AudioChain * chain, gsize samples, gpointer user_data) do_quantize (AudioChain * chain, gsize num_samples, gpointer user_data)
{ {
GstAudioConverter *convert = user_data; GstAudioConverter *convert = user_data;
gpointer *in, *out; gpointer *in, *out;
in = audio_chain_get_samples (chain->prev, samples); in = audio_chain_get_samples (chain->prev, num_samples);
out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, samples)); out = (chain->allow_ip ? in : audio_chain_alloc_samples (chain, num_samples));
GST_LOG ("quantize %p, %p %" G_GSIZE_FORMAT, in, out, samples); GST_LOG ("quantize %p, %p, %" G_GSIZE_FORMAT, in, out, num_samples);
gst_audio_quantize_samples (convert->quant, in, out, samples); gst_audio_quantize_samples (convert->quant, in, out, num_samples);
chain->samples = out; chain->samples = out;
@ -608,12 +609,12 @@ get_output_samples (AudioChain * chain, gsize samples, gpointer user_data)
} }
static gpointer * static gpointer *
get_temp_samples (AudioChain * chain, gsize samples, gpointer user_data) get_temp_samples (AudioChain * chain, gsize num_samples, gpointer user_data)
{ {
gsize needed; gsize needed;
/* first part contains the pointers, second part the data */ /* first part contains the pointers, second part the data */
needed = (samples * chain->stride + sizeof (gpointer)) * chain->blocks; needed = (num_samples * chain->stride + sizeof (gpointer)) * chain->blocks;
if (needed > chain->tmpsize) { if (needed > chain->tmpsize) {
gint i; gint i;
@ -628,7 +629,7 @@ get_temp_samples (AudioChain * chain, gsize samples, gpointer user_data)
/* set up the pointers */ /* set up the pointers */
for (i = 0; i < chain->blocks; i++) for (i = 0; i < chain->blocks; i++)
chain->tmp[i] = s + (i * samples * chain->stride); chain->tmp[i] = s + (i * num_samples * chain->stride);
} }
return chain->tmp; return chain->tmp;
} }
@ -729,7 +730,6 @@ gst_audio_converter_new (GstAudioInfo * in_info, GstAudioInfo * out_info,
setup_allocators (convert); setup_allocators (convert);
return convert; return convert;
/* ERRORS */ /* ERRORS */
@ -884,6 +884,8 @@ gst_audio_converter_samples (GstAudioConverter * convert,
return TRUE; return TRUE;
} }
GST_LOG ("converting %" G_GSIZE_FORMAT, in_samples);
convert->flags = flags; convert->flags = flags;
convert->in_data = in; convert->in_data = in;
convert->out_data = out; convert->out_data = out;