]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem-value: retrieve fixed-sized array by getter method for integer values
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 29 Jun 2022 02:49:00 +0000 (11:49 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Wed, 29 Jun 2022 12:22:01 +0000 (21:22 +0900)
In UAPI of Linux sound subsystem, 'struct snd_ctl_elem_values' has
fixed-sized array. It's natural to retrieve the array as is.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
src/ctl/elem-value.c
src/ctl/elem-value.h

index 10271fa6f9f131c5479f60a05127f95c59d7a0cf..5541f1cc82d36595b17268e864a71a00079d8b4d 100644 (file)
@@ -169,13 +169,12 @@ void alsactl_elem_value_set_int(ALSACtlElemValue *self, const gint32 *values, gs
 /**
  * alsactl_elem_value_get_int:
  * @self: A [class@ElemValue].
- * @values: (array length=value_count) (out) (transfer none): The array for 32 bit signed integer
+ * @values: (array fixed-size=128) (out) (transfer none): The array for 32 bit signed integer
  *          values.
- * @value_count: The number of values up to 128.
  *
  * Refer to the array for [enum@ElemType].INTEGER element in internal storage.
  */
-void alsactl_elem_value_get_int(ALSACtlElemValue *self, const gint32 **values, gsize *value_count)
+void alsactl_elem_value_get_int(ALSACtlElemValue *self, const gint32 **values)
 {
     ALSACtlElemValuePrivate *priv;
     struct snd_ctl_elem_value *value;
@@ -185,14 +184,12 @@ void alsactl_elem_value_get_int(ALSACtlElemValue *self, const gint32 **values, g
     priv = alsactl_elem_value_get_instance_private(self);
 
     g_return_if_fail(values != NULL);
-    g_return_if_fail(value_count != NULL);
 
     value = &priv->value;
     for (i = 0; i < G_N_ELEMENTS(value->value.integer.value); ++i)
             priv->integer[i] = (gint32)value->value.integer.value[i];
 
     *values = priv->integer;
-    *value_count = G_N_ELEMENTS(value->value.integer.value);
 }
 
 /**
index 6607562d1ea296f61639af3cac18a18ee70cd112..3207bcbdbdcefa6943c4c5869b46b6a07c09ab38 100644 (file)
@@ -22,8 +22,7 @@ void alsactl_elem_value_get_bool(ALSACtlElemValue *self, const gboolean **values
 
 void alsactl_elem_value_set_int(ALSACtlElemValue *self, const gint32 *values,
                                 gsize value_count);
-void alsactl_elem_value_get_int(ALSACtlElemValue *self, const gint32 **values,
-                                gsize *value_count);
+void alsactl_elem_value_get_int(ALSACtlElemValue *self, const gint32 **values);
 
 void alsactl_elem_value_set_enum(ALSACtlElemValue *self,
                                  const guint32 *values, gsize value_count);