]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: elem-value: retrieve fixed-sized array by getter method for IEC 60958 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 c95f9494a7dde0082a9c6a6f1f12f04053e05e24..a2fa121fb92b9a977922db527cd938aa07038f91 100644 (file)
@@ -318,14 +318,12 @@ void alsactl_elem_value_set_iec60958_channel_status(ALSACtlElemValue *self, cons
 /**
  * alsactl_elem_value_get_iec60958_channel_status:
  * @self: A [class@ElemValue].
- * @status: (array length=length) (out) (transfer none): The array of byte data for channel status
+ * @status: (array fixed-size=24) (out) (transfer none): The array of byte data for channel status
  *          bits of IEC 60958.
- * @length: The number of bytes in status argument up to 24.
  *
  * Refer to the array specific to [enum@ElemType].IEC60958 element in internal storage.
  */
-void alsactl_elem_value_get_iec60958_channel_status(ALSACtlElemValue *self, const guint8 **status,
-                                                    gsize *length)
+void alsactl_elem_value_get_iec60958_channel_status(ALSACtlElemValue *self, const guint8 **status)
 {
     ALSACtlElemValuePrivate *priv;
     struct snd_ctl_elem_value *value;
@@ -334,11 +332,9 @@ void alsactl_elem_value_get_iec60958_channel_status(ALSACtlElemValue *self, cons
     priv = alsactl_elem_value_get_instance_private(self);
 
     g_return_if_fail(status != NULL);
-    g_return_if_fail(length != NULL);
 
     value = &priv->value;
     *status = value->value.iec958.status;
-    *length = G_N_ELEMENTS(value->value.iec958.status);
 }
 
 /**
@@ -371,14 +367,12 @@ void alsactl_elem_value_set_iec60958_user_data(ALSACtlElemValue *self, const gui
 /**
  * alsactl_elem_value_get_iec60958_user_data:
  * @self: A [class@ElemValue].
- * @data: (array length=length) (out) (transfer none): The array of byte data for user data bits of
+ * @data: (array fixed-size=147) (out) (transfer none): The array of byte data for user data bits of
  *        IEC 60958.
- * @length: The number of bytes in user_data argument up to 147.
  *
  * Refer to the array specific to [enum@ElemType].IEC60958 element in internal storage.
  */
-void alsactl_elem_value_get_iec60958_user_data(ALSACtlElemValue *self, const guint8 **data,
-                                               gsize *length)
+void alsactl_elem_value_get_iec60958_user_data(ALSACtlElemValue *self, const guint8 **data)
 {
     ALSACtlElemValuePrivate *priv;
     struct snd_ctl_elem_value *value;
@@ -387,11 +381,9 @@ void alsactl_elem_value_get_iec60958_user_data(ALSACtlElemValue *self, const gui
     priv = alsactl_elem_value_get_instance_private(self);
 
     g_return_if_fail(data != NULL);
-    g_return_if_fail(length != NULL);
 
     value = &priv->value;
     *data = value->value.iec958.subcode;
-    *length = G_N_ELEMENTS(value->value.iec958.subcode);
 }
 
 /**
index 60854229aa12bebbc35b42df9d260c6cdd96a328..cb9f1de28149ab85c2fd9b4ac68136f4b0fe3c69 100644 (file)
@@ -34,13 +34,11 @@ 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);
-void alsactl_elem_value_get_iec60958_channel_status(ALSACtlElemValue *self,
-                                        const guint8 **status, gsize *length);
+void alsactl_elem_value_get_iec60958_channel_status(ALSACtlElemValue *self, const guint8 **status);
 
 void alsactl_elem_value_set_iec60958_user_data(ALSACtlElemValue *self,
                                         const guint8 *data, gsize length);
-void alsactl_elem_value_get_iec60958_user_data(ALSACtlElemValue *self,
-                                        const guint8 **data, gsize *length);
+void alsactl_elem_value_get_iec60958_user_data(ALSACtlElemValue *self, const guint8 **data);
 
 void alsactl_elem_value_set_int64(ALSACtlElemValue *self, const gint64 *values,
                                   gsize value_count);