aboutsummaryrefslogtreecommitdiff
path: root/audio/audio_int.h
diff options
context:
space:
mode:
Diffstat (limited to 'audio/audio_int.h')
-rw-r--r--audio/audio_int.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/audio/audio_int.h b/audio/audio_int.h
index f5dcb2c705..1a15d4ced8 100644
--- a/audio/audio_int.h
+++ b/audio/audio_int.h
@@ -64,10 +64,11 @@ struct audio_pcm_info {
int swap_endianness;
};
+typedef struct SWVoiceCap SWVoiceCap;
+
typedef struct HWVoiceOut {
int enabled;
int pending_disable;
- int valid;
struct audio_pcm_info info;
f_sample *clip;
@@ -79,7 +80,7 @@ typedef struct HWVoiceOut {
int samples;
LIST_HEAD (sw_out_listhead, SWVoiceOut) sw_head;
- LIST_HEAD (sw_cap_listhead, SWVoiceOut) sw_cap_head;
+ LIST_HEAD (sw_cap_listhead, SWVoiceCap) cap_head;
struct audio_pcm_ops *pcm_ops;
LIST_ENTRY (HWVoiceOut) entries;
} HWVoiceOut;
@@ -116,7 +117,6 @@ struct SWVoiceOut {
volume_t vol;
struct audio_callback callback;
LIST_ENTRY (SWVoiceOut) entries;
- LIST_ENTRY (SWVoiceOut) cap_entries;
};
struct SWVoiceIn {
@@ -168,12 +168,18 @@ struct capture_callback {
LIST_ENTRY (capture_callback) entries;
};
-typedef struct CaptureVoiceOut {
+struct CaptureVoiceOut {
HWVoiceOut hw;
void *buf;
LIST_HEAD (cb_listhead, capture_callback) cb_head;
LIST_ENTRY (CaptureVoiceOut) entries;
-} CaptureVoiceOut;
+};
+
+struct SWVoiceCap {
+ SWVoiceOut sw;
+ CaptureVoiceOut *cap;
+ LIST_ENTRY (SWVoiceCap) entries;
+};
struct AudioState {
struct audio_driver *drv;