[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 19/49] sdlaudio: port to -audiodev config
From: |
Kővágó, Zoltán |
Subject: |
[Qemu-devel] [PATCH v2 19/49] sdlaudio: port to -audiodev config |
Date: |
Fri, 21 Aug 2015 17:37:15 +0200 |
Signed-off-by: Kővágó, Zoltán <address@hidden>
---
audio/audio_legacy.c | 7 +++++++
audio/sdlaudio.c | 22 ++++------------------
2 files changed, 11 insertions(+), 18 deletions(-)
diff --git a/audio/audio_legacy.c b/audio/audio_legacy.c
index 3eab2b9..4d8e2b9 100644
--- a/audio/audio_legacy.c
+++ b/audio/audio_legacy.c
@@ -100,6 +100,11 @@ SimpleEnvMap pa_map[] = {
{ /* End of list */ }
};
+SimpleEnvMap sdl_map[] = {
+ { "QEMU_SDL_SAMPLES", "buffer-len", ENV_TRANSFORM_SAMPLES_TO_USECS_OUT },
+ { /* End of list */ }
+};
+
static unsigned long long toull(const char *str)
{
unsigned long long ret;
@@ -278,6 +283,8 @@ static void legacy_opt(const char *drv)
handle_env_opts(opts, oss_map);
} else if (strcmp(drv, "pa") == 0) {
handle_env_opts(opts, pa_map);
+ } else if (strcmp(drv, "sdl") == 0) {
+ handle_env_opts(opts, sdl_map);
}
}
diff --git a/audio/sdlaudio.c b/audio/sdlaudio.c
index 580c613..796238a 100644
--- a/audio/sdlaudio.c
+++ b/audio/sdlaudio.c
@@ -44,18 +44,13 @@ typedef struct SDLVoiceOut {
int decr;
} SDLVoiceOut;
-static struct {
- int nb_samples;
-} conf = {
- .nb_samples = 1024
-};
-
static struct SDLAudioState {
int exit;
SDL_mutex *mutex;
SDL_sem *sem;
int initialized;
bool driver_created;
+ Audiodev *dev;
} glob_sdl;
typedef struct SDLAudioState SDLAudioState;
@@ -347,7 +342,7 @@ static int sdl_init_out(HWVoiceOut *hw, struct audsettings
*as,
req.freq = as->freq;
req.format = aud_to_sdlfmt (as->fmt);
req.channels = as->nchannels;
- req.samples = conf.nb_samples;
+ req.samples = audio_buffer_samples(s->dev->out, as, 11610);
req.callback = sdl_callback;
req.userdata = sdl;
@@ -420,6 +415,7 @@ static void *sdl_audio_init(Audiodev *dev)
}
s->driver_created = true;
+ s->dev = dev;
return s;
}
@@ -431,18 +427,9 @@ static void sdl_audio_fini (void *opaque)
SDL_DestroyMutex (s->mutex);
SDL_QuitSubSystem (SDL_INIT_AUDIO);
s->driver_created = false;
+ s->dev = NULL;
}
-static struct audio_option sdl_options[] = {
- {
- .name = "SAMPLES",
- .tag = AUD_OPT_INT,
- .valp = &conf.nb_samples,
- .descr = "Size of SDL buffer in samples"
- },
- { /* End of list */ }
-};
-
static struct audio_pcm_ops sdl_pcm_ops = {
.init_out = sdl_init_out,
.fini_out = sdl_fini_out,
@@ -454,7 +441,6 @@ static struct audio_pcm_ops sdl_pcm_ops = {
struct audio_driver sdl_audio_driver = {
.name = "sdl",
.descr = "SDL http://www.libsdl.org",
- .options = sdl_options,
.init = sdl_audio_init,
.fini = sdl_audio_fini,
.pcm_ops = &sdl_pcm_ops,
--
2.5.0
- [Qemu-devel] [PATCH v2 09/49] qapi: support nested structs in OptsVisitor, (continued)
- [Qemu-devel] [PATCH v2 09/49] qapi: support nested structs in OptsVisitor, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 11/49] audio: -audiodev command line option: documentation, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 14/49] coreaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 06/49] qapi: change Netdev into a flat union, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 16/49] noaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 15/49] dsoundaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 13/49] alsaaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 10/49] audio: use qapi AudioFormat instead of audfmt_e, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 20/49] spiceaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 17/49] ossaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 19/49] sdlaudio: port to -audiodev config,
Kővágó, Zoltán <=
- [Qemu-devel] [PATCH v2 12/49] audio: -audiodev command line option basic implementation, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 21/49] wavaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 22/49] audio: -audiodev command line option: cleanup, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 23/49] audio: reduce glob_audio_state usage, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 18/49] paaudio: port to -audiodev config, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 25/49] audio: add audiodev properties to frontends, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 24/49] audio: basic support for multi backend audio, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 29/49] paaudio: properly disconnect streams in fini_*, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 27/49] paaudio: do not create multiple connections to the same server, Kővágó, Zoltán, 2015/08/21
- [Qemu-devel] [PATCH v2 28/49] paaudio: do not move stream when sink/source name is specified, Kővágó, Zoltán, 2015/08/21