alsa/0040-PCM-Fix-conflict-of-_snd_pcm_hw_params-definitions.patch
Takashi Iwai 5c9e5fb6c0 Accepting request 144050 from home:tiwai:branches:multimedia:libs
- 0040-PCM-Fix-conflict-of-_snd_pcm_hw_params-definitions.patch:
  fix the segfault due to the symbol conflict of _snd_pcm_hw_params

OBS-URL: https://build.opensuse.org/request/show/144050
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=119
2012-12-04 11:38:45 +00:00

140 lines
5.1 KiB
Diff

From 03c26d0edeeefb7550ba8cca91167343677022ab Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Tue, 4 Dec 2012 12:17:00 +0100
Subject: [PATCH] PCM: Fix conflict of _snd_pcm_hw_params definitions
Fix the call of _snd_pcm_hw_params() to _snd_pcm_hw_params_internal().
The build passed wrongly because of _snd_pcm_hw_params define.
Having the same function name as the struct name is is simply
confusing...
Also, to be sure, _snd_pcm_hw_params is undef'ed in pcm_local.h, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/pcm/pcm.c | 2 +-
src/pcm/pcm_file.c | 2 +-
src/pcm/pcm_generic.c | 2 +-
src/pcm/pcm_local.h | 1 +
src/pcm/pcm_meter.c | 2 +-
src/pcm/pcm_mmap_emul.c | 4 ++--
src/pcm/pcm_plug.c | 2 +-
src/pcm/pcm_share.c | 2 +-
8 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
index d616705..5053a7b 100644
--- a/src/pcm/pcm.c
+++ b/src/pcm/pcm.c
@@ -828,7 +828,7 @@ int snd_pcm_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
{
int err;
assert(pcm && params);
- err = _snd_pcm_hw_params(pcm, params);
+ err = _snd_pcm_hw_params_internal(pcm, params);
if (err < 0)
return err;
err = snd_pcm_prepare(pcm);
diff --git a/src/pcm/pcm_file.c b/src/pcm/pcm_file.c
index c8214b4..5950401 100644
--- a/src/pcm/pcm_file.c
+++ b/src/pcm/pcm_file.c
@@ -602,7 +602,7 @@ static int snd_pcm_file_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
snd_pcm_file_t *file = pcm->private_data;
unsigned int channel;
snd_pcm_t *slave = file->gen.slave;
- int err = _snd_pcm_hw_params(slave, params);
+ int err = _snd_pcm_hw_params_internal(slave, params);
if (err < 0)
return err;
file->buffer_bytes = snd_pcm_frames_to_bytes(slave, slave->buffer_size);
diff --git a/src/pcm/pcm_generic.c b/src/pcm/pcm_generic.c
index 5fc4888..f068ee2 100644
--- a/src/pcm/pcm_generic.c
+++ b/src/pcm/pcm_generic.c
@@ -101,7 +101,7 @@ int snd_pcm_generic_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
int snd_pcm_generic_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
{
snd_pcm_generic_t *generic = pcm->private_data;
- return _snd_pcm_hw_params(generic->slave, params);
+ return _snd_pcm_hw_params_internal(generic->slave, params);
}
int snd_pcm_generic_prepare(snd_pcm_t *pcm)
diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h
index c616e56..63b9036 100644
--- a/src/pcm/pcm_local.h
+++ b/src/pcm/pcm_local.h
@@ -579,6 +579,7 @@ static inline int muldiv_near(int a, int b, int c)
int snd_pcm_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
int _snd_pcm_hw_params_internal(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
+#undef _snd_pcm_hw_params
int snd_pcm_hw_refine_soft(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
int snd_pcm_hw_refine_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
int (*cprepare)(snd_pcm_t *pcm,
diff --git a/src/pcm/pcm_meter.c b/src/pcm/pcm_meter.c
index e60b92d..573b6fe 100644
--- a/src/pcm/pcm_meter.c
+++ b/src/pcm/pcm_meter.c
@@ -419,7 +419,7 @@ static int snd_pcm_meter_hw_refine_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *pa
static int snd_pcm_meter_hw_params_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
{
snd_pcm_meter_t *meter = pcm->private_data;
- return _snd_pcm_hw_params(meter->gen.slave, params);
+ return _snd_pcm_hw_params_internal(meter->gen.slave, params);
}
static int snd_pcm_meter_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
diff --git a/src/pcm/pcm_mmap_emul.c b/src/pcm/pcm_mmap_emul.c
index 67d2e05..63789bc 100644
--- a/src/pcm/pcm_mmap_emul.c
+++ b/src/pcm/pcm_mmap_emul.c
@@ -160,7 +160,7 @@ static int snd_pcm_mmap_emul_hw_params(snd_pcm_t *pcm,
snd_pcm_access_mask_t *pmask;
int err;
- err = _snd_pcm_hw_params(map->gen.slave, params);
+ err = _snd_pcm_hw_params_internal(map->gen.slave, params);
if (err >= 0) {
map->mmap_emul = 0;
return err;
@@ -186,7 +186,7 @@ static int snd_pcm_mmap_emul_hw_params(snd_pcm_t *pcm,
default:
goto _err;
}
- err = _snd_pcm_hw_params(map->gen.slave, params);
+ err = _snd_pcm_hw_params_internal(map->gen.slave, params);
if (err < 0)
goto _err;
diff --git a/src/pcm/pcm_plug.c b/src/pcm/pcm_plug.c
index 0bd8850..fa84eaa 100644
--- a/src/pcm/pcm_plug.c
+++ b/src/pcm/pcm_plug.c
@@ -1040,7 +1040,7 @@ static int snd_pcm_plug_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
return err;
}
slave = plug->gen.slave;
- err = _snd_pcm_hw_params(slave, params);
+ err = _snd_pcm_hw_params_internal(slave, params);
if (err < 0) {
snd_pcm_plug_clear(pcm);
return err;
diff --git a/src/pcm/pcm_share.c b/src/pcm/pcm_share.c
index 936e2f9..118ab26 100644
--- a/src/pcm/pcm_share.c
+++ b/src/pcm/pcm_share.c
@@ -595,7 +595,7 @@ static int snd_pcm_share_hw_refine_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *pa
static int snd_pcm_share_hw_params_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
{
snd_pcm_share_t *share = pcm->private_data;
- return _snd_pcm_hw_params(share->slave->pcm, params);
+ return _snd_pcm_hw_params_internal(share->slave->pcm, params);
}
static int snd_pcm_share_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
--
1.8.0.1