]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem-value: retrieve fixed-sized array by getter method for byte values
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 29 Jun 2022 02:49:00 +0000 (11:49 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Wed, 29 Jun 2022 02:49:00 +0000 (11:49 +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 2d044db515f50103296ab202184b0ee3c4e27d83..c95f9494a7dde0082a9c6a6f1f12f04053e05e24 100644 (file)
@@ -269,13 +269,12 @@ void alsactl_elem_value_set_bytes(ALSACtlElemValue *self, const guint8 *values,
 /**
  * alsactl_elem_value_get_bytes:
  * @self: A [class@ElemValue].
- * @values: (array length=value_count) (out) (transfer none): The array for 8 bit unsigned integer
+ * @values: (array fixed-size=512) (out) (transfer none): The array for 8 bit unsigned integer
  *          values.
- * @value_count: (out): The number of values up to 512.
  *
  * Refer to the array specific to [enum@ElemType].BYTES element in internal storage.
  */
-void alsactl_elem_value_get_bytes(ALSACtlElemValue *self, const guint8 **values, gsize *value_count)
+void alsactl_elem_value_get_bytes(ALSACtlElemValue *self, const guint8 **values)
 {
     ALSACtlElemValuePrivate *priv;
     struct snd_ctl_elem_value *value;
@@ -284,11 +283,9 @@ void alsactl_elem_value_get_bytes(ALSACtlElemValue *self, const guint8 **values,
     priv = alsactl_elem_value_get_instance_private(self);
 
     g_return_if_fail(values != NULL);
-    g_return_if_fail(value_count != NULL);
 
     value = &priv->value;
     *values = value->value.bytes.data;
-    *value_count = G_N_ELEMENTS(value->value.bytes.data);
 }
 
 /**
index 75333f54e3aadca4ec627bd0c97fc159584f3774..60854229aa12bebbc35b42df9d260c6cdd96a328 100644 (file)
@@ -30,8 +30,7 @@ void alsactl_elem_value_get_enum(ALSACtlElemValue *self, const guint32 **values)
 
 void alsactl_elem_value_set_bytes(ALSACtlElemValue *self,
                                   const guint8 *values, gsize value_count);
-void alsactl_elem_value_get_bytes(ALSACtlElemValue *self,
-                                  const guint8 **values, gsize *value_count);
+void alsactl_elem_value_get_bytes(ALSACtlElemValue *self, const guint8 **values);
 
 void alsactl_elem_value_set_iec60958_channel_status(ALSACtlElemValue *self,
                                         const guint8 *status, gsize length);