Accepting request 126118 from multimedia:libs

- Fix the backward compatibility of ext_ctl plugin (bnc#768742)

OBS-URL: https://build.opensuse.org/request/show/126118
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/alsa?expand=0&rev=122
This commit is contained in:
Stephan Kulow 2012-06-26 15:44:40 +00:00 committed by Git OBS Bridge
commit 6e54579218
3 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,55 @@
From 52160de21ee6a710a746b0881d9581994d039123 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Mon, 25 Jun 2012 23:16:14 +0200
Subject: [PATCH] Fix the binary compatibility of ext-ctl plugin with protocol
1.0.0
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
include/control_external.h | 9 +++++----
src/control/control_ext.c | 3 ++-
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/include/control_external.h b/include/control_external.h
index 5392ea6..e98f4d6 100644
--- a/include/control_external.h
+++ b/include/control_external.h
@@ -125,16 +125,17 @@ struct snd_ctl_ext {
* control handle filled by #snd_ctl_ext_create()
*/
snd_ctl_t *handle;
+
+ int nonblock; /**< non-block mode; read-only */
+ int subscribed; /**< events subscribed; read-only */
+
/**
- * optional TLV data for the control.
+ * optional TLV data for the control (since protocol 1.0.1)
*/
union {
snd_ctl_ext_tlv_rw_t *c;
const unsigned int *p;
} tlv;
-
- int nonblock; /**< non-block mode; read-only */
- int subscribed; /**< events subscribed; read-only */
};
/** Callback table of ext */
diff --git a/src/control/control_ext.c b/src/control/control_ext.c
index cc30766..56552fa 100644
--- a/src/control/control_ext.c
+++ b/src/control/control_ext.c
@@ -706,7 +706,8 @@ int snd_ctl_ext_create(snd_ctl_ext_t *ext, const char *name, int mode)
snd_ctl_t *ctl;
int err;
- if (ext->version != SND_CTL_EXT_VERSION) {
+ if (ext->version < SNDRV_PROTOCOL_VERSION(1, 0, 0) ||
+ ext->version > SND_CTL_EXT_VERSION) {
SNDERR("ctl_ext: Plugin version mismatch\n");
return -ENXIO;
}
--
1.7.10.4

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Jun 25 23:18:07 CEST 2012 - tiwai@suse.de
- Fix the backward compatibility of ext_ctl plugin (bnc#768742)
-------------------------------------------------------------------
Mon Jun 11 18:07:15 CEST 2012 - tiwai@suse.de

View File

@ -65,6 +65,7 @@ Patch11: 0011-pcm-add-missing-break-in-switch.patch
Patch12: 0012-pcm_dsnoop-comment-fall-through-in-next-case.patch
Patch13: 0013-tlv-improve-robustness-of-raw-value-ranges.patch
Patch14: 0014-conf-Add-more-USB-devices-to-S-PDIF-blacklist.patch
Patch15: 0015-Fix-the-binary-compatibility-of-ext-ctl-plugin-with-.patch
Patch99: alsa-lib-doxygen-avoid-crash-for-11.3.diff
Url: http://www.alsa-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -129,6 +130,7 @@ Architecture.
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%if %suse_version == 1130
%patch99 -p1
%endif