diff options
author | Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru> | 2017-02-02 08:50:54 +0300 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-03-01 15:11:44 +0100 |
commit | 3d4d16f4dc101e16f643acc44dfffdbaf2a8f01c (patch) | |
tree | d30418f9f9aef197aae8e79f4e29948edb1b98b3 /audio/mixeng.c | |
parent | e7c83a885f865128ae3cf1946f8cb538b63cbfba (diff) |
replay: add record/replay for audio passthrough
This patch adds recording and replaying audio data. Is saves synchronization
information for audio out and inputs from the microphone.
v2: removed unneeded whitespace change
Signed-off-by: Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>
Message-id: 20170202055054.4848.94901.stgit@PASHA-ISP.lan02.inno
[ kraxel: add qemu/error-report.h include to fix osx build failure ]
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'audio/mixeng.c')
-rw-r--r-- | audio/mixeng.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/audio/mixeng.c b/audio/mixeng.c index 66c0328d42..0bf9b5360f 100644 --- a/audio/mixeng.c +++ b/audio/mixeng.c @@ -25,6 +25,7 @@ #include "qemu/osdep.h" #include "qemu-common.h" #include "qemu/bswap.h" +#include "qemu/error-report.h" #include "audio.h" #define AUDIO_CAP "mixeng" @@ -267,6 +268,37 @@ f_sample *mixeng_clip[2][2][2][3] = { } }; + +void audio_sample_to_uint64(void *samples, int pos, + uint64_t *left, uint64_t *right) +{ + struct st_sample *sample = samples; + sample += pos; +#ifdef FLOAT_MIXENG + error_report( + "Coreaudio and floating point samples are not supported by replay yet"); + abort(); +#else + *left = sample->l; + *right = sample->r; +#endif +} + +void audio_sample_from_uint64(void *samples, int pos, + uint64_t left, uint64_t right) +{ + struct st_sample *sample = samples; + sample += pos; +#ifdef FLOAT_MIXENG + error_report( + "Coreaudio and floating point samples are not supported by replay yet"); + abort(); +#else + sample->l = left; + sample->r = right; +#endif +} + /* * August 21, 1998 * Copyright 1998 Fabrice Bellard. |