mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
remove volume and freq args. update to reflect api changes
Original commit message from CVS: remove volume and freq args. update to reflect api changes
This commit is contained in:
parent
e4cbf57c8d
commit
3c51f9cfa7
2 changed files with 32 additions and 68 deletions
|
@ -46,10 +46,8 @@ enum {
|
|||
|
||||
enum {
|
||||
ARG_0,
|
||||
ARG_VOLUME,
|
||||
ARG_FORMAT,
|
||||
ARG_SAMPLERATE,
|
||||
ARG_FREQ,
|
||||
ARG_TABLESIZE,
|
||||
ARG_BUFFER_SIZE,
|
||||
};
|
||||
|
@ -130,9 +128,6 @@ gst_sinesrc_class_init (GstSineSrcClass *klass)
|
|||
|
||||
parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
|
||||
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VOLUME,
|
||||
g_param_spec_double("volume","volume","volume",
|
||||
0.0, 1.0, 0.0,G_PARAM_READWRITE)); // CHECKME
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FORMAT,
|
||||
g_param_spec_int("format","format","format",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
||||
|
@ -142,9 +137,6 @@ gst_sinesrc_class_init (GstSineSrcClass *klass)
|
|||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_TABLESIZE,
|
||||
g_param_spec_int("tablesize","tablesize","tablesize",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FREQ,
|
||||
g_param_spec_double("freq","freq","freq",
|
||||
0.0,G_MAXDOUBLE, 440.0,G_PARAM_READWRITE)); // CHECKME
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_SIZE,
|
||||
g_param_spec_int("buffersize","buffersize","buffersize",
|
||||
0, G_MAXINT, 1024, G_PARAM_READWRITE));
|
||||
|
@ -180,9 +172,11 @@ gst_sinesrc_init (GstSineSrc *src)
|
|||
src->seq = 0;
|
||||
|
||||
dpman = gst_dpman_new ("sinesrc_dpman", GST_ELEMENT(src));
|
||||
gst_dpman_add_required_dparam (dpman, "volume", G_TYPE_FLOAT, gst_sinesrc_update_volume, src);
|
||||
gst_dpman_add_required_dparam (dpman, "freq", G_TYPE_FLOAT, gst_sinesrc_update_freq, src);
|
||||
|
||||
gst_dpman_add_required_dparam_callback (dpman, "volume", G_TYPE_FLOAT, gst_sinesrc_update_volume, src);
|
||||
gst_dpman_add_required_dparam_callback (dpman, "freq", G_TYPE_FLOAT, gst_sinesrc_update_freq, src);
|
||||
|
||||
src->volume = 1.0;
|
||||
|
||||
gst_dpman_set_rate_change_pad(dpman, src->srcpad);
|
||||
|
||||
GST_ELEMENT_DPARAM_MANAGER(element) = dpman;
|
||||
|
@ -230,13 +224,15 @@ gst_sinesrc_get(GstPad *pad)
|
|||
GST_BUFFER_SIZE(buf) = 2 * src->buffer_size;
|
||||
|
||||
dpman = GST_ELEMENT_DPARAM_MANAGER(GST_ELEMENT(src));
|
||||
frame_countdown = GST_DPMAN_FIRST_COUNTDOWN(dpman, src->buffer_size, 0LL);
|
||||
frame_countdown = GST_DPMAN_PREPROCESS(dpman, src->buffer_size, 0LL);
|
||||
// GST_DEBUG(GST_CAT_PARAMS, "vol_scale = %f\n", src->vol_scale);
|
||||
|
||||
while(GST_DPMAN_PROCESS_COUNTDOWN(dpman, frame_countdown, i)) {
|
||||
|
||||
while(GST_DPMAN_COUNTDOWN(dpman, frame_countdown, i)) {
|
||||
src->table_lookup = (gint)(src->table_pos);
|
||||
src->table_lookup_next = src->table_lookup + 1;
|
||||
src->table_interp = src->table_pos - src->table_lookup;
|
||||
|
||||
|
||||
// wrap the array lookups if we're out of bounds
|
||||
if (src->table_lookup_next >= src->table_size){
|
||||
src->table_lookup_next -= src->table_size;
|
||||
|
@ -251,7 +247,7 @@ gst_sinesrc_get(GstPad *pad)
|
|||
//no interpolation
|
||||
//samples[i] = src->table_data[src->table_lookup]
|
||||
// * src->vol_scale;
|
||||
|
||||
|
||||
//linear interpolation
|
||||
samples[i++] = ((src->table_interp
|
||||
*(src->table_data[src->table_lookup_next]
|
||||
|
@ -264,7 +260,6 @@ gst_sinesrc_get(GstPad *pad)
|
|||
if (src->newcaps) {
|
||||
gst_sinesrc_force_caps(src);
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
@ -278,10 +273,6 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
|||
src = GST_SINESRC(object);
|
||||
|
||||
switch (prop_id) {
|
||||
case ARG_VOLUME:
|
||||
src->volume = (gfloat)g_value_get_double (value);
|
||||
gst_sinesrc_update_vol_scale(src);
|
||||
break;
|
||||
case ARG_FORMAT:
|
||||
src->format = g_value_get_int (value);
|
||||
src->newcaps=TRUE;
|
||||
|
@ -291,12 +282,6 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
|||
src->newcaps=TRUE;
|
||||
gst_sinesrc_update_table_inc(src);
|
||||
break;
|
||||
case ARG_FREQ: {
|
||||
if (g_value_get_double (value) <= 0.0 || g_value_get_double (value) > src->samplerate/2)
|
||||
break;
|
||||
src->freq = (gfloat)g_value_get_double (value);
|
||||
gst_sinesrc_update_table_inc(src);
|
||||
break;
|
||||
case ARG_TABLESIZE:
|
||||
src->table_size = g_value_get_int (value);
|
||||
gst_sinesrc_populate_sinetable(src);
|
||||
|
@ -305,7 +290,6 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
|||
case ARG_BUFFER_SIZE:
|
||||
src->buffer_size = g_value_get_int (value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -321,18 +305,12 @@ gst_sinesrc_get_property (GObject *object, guint prop_id, GValue *value, GParamS
|
|||
src = GST_SINESRC(object);
|
||||
|
||||
switch (prop_id) {
|
||||
case ARG_VOLUME:
|
||||
g_value_set_double (value, (gdouble)(src->volume));
|
||||
break;
|
||||
case ARG_FORMAT:
|
||||
g_value_set_int (value, src->format);
|
||||
break;
|
||||
case ARG_SAMPLERATE:
|
||||
g_value_set_int (value, src->samplerate);
|
||||
break;
|
||||
case ARG_FREQ:
|
||||
g_value_set_double (value, (gdouble)(src->freq));
|
||||
break;
|
||||
case ARG_TABLESIZE:
|
||||
g_value_set_int (value, src->table_size);
|
||||
break;
|
||||
|
@ -391,6 +369,8 @@ gst_sinesrc_update_volume(GValue *value, gpointer data)
|
|||
|
||||
src->volume = g_value_get_float(value);
|
||||
src->vol_scale = 32767.0 * src->volume;
|
||||
GST_DEBUG(GST_CAT_PARAMS, "volume %f\n", src->volume);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -398,9 +378,11 @@ gst_sinesrc_update_freq(GValue *value, gpointer data)
|
|||
{
|
||||
GstSineSrc *src = (GstSineSrc*)data;
|
||||
g_return_if_fail(GST_IS_SINESRC(src));
|
||||
|
||||
|
||||
src->freq = g_value_get_float(value);
|
||||
src->table_inc = src->table_size * src->freq / src->samplerate;
|
||||
|
||||
GST_DEBUG(GST_CAT_PARAMS, "freq %f\n", src->freq);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
|
|
@ -46,10 +46,8 @@ enum {
|
|||
|
||||
enum {
|
||||
ARG_0,
|
||||
ARG_VOLUME,
|
||||
ARG_FORMAT,
|
||||
ARG_SAMPLERATE,
|
||||
ARG_FREQ,
|
||||
ARG_TABLESIZE,
|
||||
ARG_BUFFER_SIZE,
|
||||
};
|
||||
|
@ -130,9 +128,6 @@ gst_sinesrc_class_init (GstSineSrcClass *klass)
|
|||
|
||||
parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
|
||||
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VOLUME,
|
||||
g_param_spec_double("volume","volume","volume",
|
||||
0.0, 1.0, 0.0,G_PARAM_READWRITE)); // CHECKME
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FORMAT,
|
||||
g_param_spec_int("format","format","format",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
||||
|
@ -142,9 +137,6 @@ gst_sinesrc_class_init (GstSineSrcClass *klass)
|
|||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_TABLESIZE,
|
||||
g_param_spec_int("tablesize","tablesize","tablesize",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); // CHECKME
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FREQ,
|
||||
g_param_spec_double("freq","freq","freq",
|
||||
0.0,G_MAXDOUBLE, 440.0,G_PARAM_READWRITE)); // CHECKME
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_BUFFER_SIZE,
|
||||
g_param_spec_int("buffersize","buffersize","buffersize",
|
||||
0, G_MAXINT, 1024, G_PARAM_READWRITE));
|
||||
|
@ -180,9 +172,11 @@ gst_sinesrc_init (GstSineSrc *src)
|
|||
src->seq = 0;
|
||||
|
||||
dpman = gst_dpman_new ("sinesrc_dpman", GST_ELEMENT(src));
|
||||
gst_dpman_add_required_dparam (dpman, "volume", G_TYPE_FLOAT, gst_sinesrc_update_volume, src);
|
||||
gst_dpman_add_required_dparam (dpman, "freq", G_TYPE_FLOAT, gst_sinesrc_update_freq, src);
|
||||
|
||||
gst_dpman_add_required_dparam_callback (dpman, "volume", G_TYPE_FLOAT, gst_sinesrc_update_volume, src);
|
||||
gst_dpman_add_required_dparam_callback (dpman, "freq", G_TYPE_FLOAT, gst_sinesrc_update_freq, src);
|
||||
|
||||
src->volume = 1.0;
|
||||
|
||||
gst_dpman_set_rate_change_pad(dpman, src->srcpad);
|
||||
|
||||
GST_ELEMENT_DPARAM_MANAGER(element) = dpman;
|
||||
|
@ -230,13 +224,15 @@ gst_sinesrc_get(GstPad *pad)
|
|||
GST_BUFFER_SIZE(buf) = 2 * src->buffer_size;
|
||||
|
||||
dpman = GST_ELEMENT_DPARAM_MANAGER(GST_ELEMENT(src));
|
||||
frame_countdown = GST_DPMAN_FIRST_COUNTDOWN(dpman, src->buffer_size, 0LL);
|
||||
frame_countdown = GST_DPMAN_PREPROCESS(dpman, src->buffer_size, 0LL);
|
||||
// GST_DEBUG(GST_CAT_PARAMS, "vol_scale = %f\n", src->vol_scale);
|
||||
|
||||
while(GST_DPMAN_PROCESS_COUNTDOWN(dpman, frame_countdown, i)) {
|
||||
|
||||
while(GST_DPMAN_COUNTDOWN(dpman, frame_countdown, i)) {
|
||||
src->table_lookup = (gint)(src->table_pos);
|
||||
src->table_lookup_next = src->table_lookup + 1;
|
||||
src->table_interp = src->table_pos - src->table_lookup;
|
||||
|
||||
|
||||
// wrap the array lookups if we're out of bounds
|
||||
if (src->table_lookup_next >= src->table_size){
|
||||
src->table_lookup_next -= src->table_size;
|
||||
|
@ -251,7 +247,7 @@ gst_sinesrc_get(GstPad *pad)
|
|||
//no interpolation
|
||||
//samples[i] = src->table_data[src->table_lookup]
|
||||
// * src->vol_scale;
|
||||
|
||||
|
||||
//linear interpolation
|
||||
samples[i++] = ((src->table_interp
|
||||
*(src->table_data[src->table_lookup_next]
|
||||
|
@ -264,7 +260,6 @@ gst_sinesrc_get(GstPad *pad)
|
|||
if (src->newcaps) {
|
||||
gst_sinesrc_force_caps(src);
|
||||
}
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
|
@ -278,10 +273,6 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
|||
src = GST_SINESRC(object);
|
||||
|
||||
switch (prop_id) {
|
||||
case ARG_VOLUME:
|
||||
src->volume = (gfloat)g_value_get_double (value);
|
||||
gst_sinesrc_update_vol_scale(src);
|
||||
break;
|
||||
case ARG_FORMAT:
|
||||
src->format = g_value_get_int (value);
|
||||
src->newcaps=TRUE;
|
||||
|
@ -291,12 +282,6 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
|||
src->newcaps=TRUE;
|
||||
gst_sinesrc_update_table_inc(src);
|
||||
break;
|
||||
case ARG_FREQ: {
|
||||
if (g_value_get_double (value) <= 0.0 || g_value_get_double (value) > src->samplerate/2)
|
||||
break;
|
||||
src->freq = (gfloat)g_value_get_double (value);
|
||||
gst_sinesrc_update_table_inc(src);
|
||||
break;
|
||||
case ARG_TABLESIZE:
|
||||
src->table_size = g_value_get_int (value);
|
||||
gst_sinesrc_populate_sinetable(src);
|
||||
|
@ -305,7 +290,6 @@ gst_sinesrc_set_property (GObject *object, guint prop_id, const GValue *value, G
|
|||
case ARG_BUFFER_SIZE:
|
||||
src->buffer_size = g_value_get_int (value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -321,18 +305,12 @@ gst_sinesrc_get_property (GObject *object, guint prop_id, GValue *value, GParamS
|
|||
src = GST_SINESRC(object);
|
||||
|
||||
switch (prop_id) {
|
||||
case ARG_VOLUME:
|
||||
g_value_set_double (value, (gdouble)(src->volume));
|
||||
break;
|
||||
case ARG_FORMAT:
|
||||
g_value_set_int (value, src->format);
|
||||
break;
|
||||
case ARG_SAMPLERATE:
|
||||
g_value_set_int (value, src->samplerate);
|
||||
break;
|
||||
case ARG_FREQ:
|
||||
g_value_set_double (value, (gdouble)(src->freq));
|
||||
break;
|
||||
case ARG_TABLESIZE:
|
||||
g_value_set_int (value, src->table_size);
|
||||
break;
|
||||
|
@ -391,6 +369,8 @@ gst_sinesrc_update_volume(GValue *value, gpointer data)
|
|||
|
||||
src->volume = g_value_get_float(value);
|
||||
src->vol_scale = 32767.0 * src->volume;
|
||||
GST_DEBUG(GST_CAT_PARAMS, "volume %f\n", src->volume);
|
||||
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -398,9 +378,11 @@ gst_sinesrc_update_freq(GValue *value, gpointer data)
|
|||
{
|
||||
GstSineSrc *src = (GstSineSrc*)data;
|
||||
g_return_if_fail(GST_IS_SINESRC(src));
|
||||
|
||||
|
||||
src->freq = g_value_get_float(value);
|
||||
src->table_inc = src->table_size * src->freq / src->samplerate;
|
||||
|
||||
GST_DEBUG(GST_CAT_PARAMS, "freq %f\n", src->freq);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
|
Loading…
Reference in a new issue