]> git.alsa-project.org Git - alsa-gobject.git/commitdiff
ctl: card: change prototype of function relevant to TLV
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Mon, 16 Nov 2020 23:52:54 +0000 (08:52 +0900)
committer坂本 貴史 <o-takashi@sakamocchi.jp>
Tue, 17 Nov 2020 13:24:21 +0000 (22:24 +0900)
In ALSA control interface, the data of TLV (Type-Length-Value) style is
defined as array with unsigned int type of element. However, current
implementation of ALSACtl.Card handles them as signed int type.

This commit fixes the bug. The commit loses backward compatibility to
v0.1.0 release in a point of type of function argument. The exported
symbols relevant to TLV are updated with new version.

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

index dd66651141028223a7bf70f4b4719928ca275df4..7a62bbd26b802f7ed132ca45b7b276ac5fbc8dd9 100644 (file)
@@ -19,9 +19,6 @@ ALSA_GOBJECT_0_0_0 {
     "alsactl_card_get_elem_id_list";
     "alsactl_card_lock_elem";
     "alsactl_card_get_elem_info";
-    "alsactl_card_write_elem_tlv";
-    "alsactl_card_read_elem_tlv";
-    "alsactl_card_command_elem_tlv";
     "alsactl_card_add_elems";
     "alsactl_card_replace_elems";
     "alsactl_card_remove_elems";
@@ -94,4 +91,7 @@ ALSA_GOBJECT_0_0_0 {
 ALSA_GOBJECT_0_2_0 {
     "alsactl_card_error_get_type";
     "alsactl_card_error_quark";
+    "alsactl_card_write_elem_tlv";
+    "alsactl_card_read_elem_tlv";
+    "alsactl_card_command_elem_tlv";
 } ALSA_GOBJECT_0_0_0;
index f147a45abc589d3f2957669f931d0f9f8834fb83..cbd6e2bd9b95635149c415a8fea031ccde0ea35d 100644 (file)
@@ -576,7 +576,7 @@ void alsactl_card_get_elem_info(ALSACtlCard *self, const ALSACtlElemId *elem_id,
  */
 void alsactl_card_write_elem_tlv(ALSACtlCard *self,
                             const ALSACtlElemId *elem_id,
-                            const gint32 *container, gsize container_count,
+                            const guint32 *container, gsize container_count,
                             GError **error)
 {
     ALSACtlCardPrivate *priv;
@@ -630,7 +630,7 @@ void alsactl_card_write_elem_tlv(ALSACtlCard *self,
  * SNDRV_CTL_IOCTL_TLV_READ command for ALSA control character device.
  */
 void alsactl_card_read_elem_tlv(ALSACtlCard *self, const ALSACtlElemId *elem_id,
-                            gint32 *const *container, gsize *container_count,
+                            guint32 *const *container, gsize *container_count,
                             GError **error)
 {
     ALSACtlCardPrivate *priv;
@@ -685,7 +685,7 @@ void alsactl_card_read_elem_tlv(ALSACtlCard *self, const ALSACtlElemId *elem_id,
  */
 void alsactl_card_command_elem_tlv(ALSACtlCard *self,
                             const ALSACtlElemId *elem_id,
-                            gint32 *const *container, gsize *container_count,
+                            guint32 *const *container, gsize *container_count,
                             GError **error)
 {
     ALSACtlCardPrivate *priv;
index 53bd716937bed04004a57e7ce8f36ec14865dbb7..93fb01011e4928c35db8d21bf89fdee4f99c1878 100644 (file)
@@ -101,14 +101,14 @@ void alsactl_card_get_elem_info(ALSACtlCard *self, const ALSACtlElemId *elem_id,
 
 void alsactl_card_write_elem_tlv(ALSACtlCard *self,
                             const ALSACtlElemId *elem_id,
-                            const gint32 *container, gsize container_count,
+                            const guint32 *container, gsize container_count,
                             GError **error);
 void alsactl_card_read_elem_tlv(ALSACtlCard *self, const ALSACtlElemId *elem_id,
-                            gint32 *const *container, gsize *container_count,
+                            guint32 *const *container, gsize *container_count,
                             GError **error);
 void alsactl_card_command_elem_tlv(ALSACtlCard *self,
                             const ALSACtlElemId *elem_id,
-                            gint32 *const *container, gsize *container_count,
+                            guint32 *const *container, gsize *container_count,
                             GError **error);
 
 void alsactl_card_add_elems(ALSACtlCard *self, const ALSACtlElemId *elem_id,