]> Git Repo - qemu.git/blobdiff - audio/audio.h
audio endianness API changes (malc)
[qemu.git] / audio / audio.h
index 682d0e000837ce78caf3f45d306a0977486bb23e..14fa3bce9692228bccc67c29fcec363f4c3383e7 100644 (file)
@@ -24,6 +24,7 @@
 #ifndef QEMU_AUDIO_H
 #define QEMU_AUDIO_H
 
+#include "config.h"
 #include "sys-queue.h"
 
 typedef void (*audio_callback_fn_t) (void *opaque, int avail);
@@ -35,12 +36,24 @@ typedef enum {
     AUD_FMT_S16
 } audfmt_e;
 
+#ifdef WORDS_BIGENDIAN
+#define AUDIO_HOST_ENDIANNESS 1
+#else
+#define AUDIO_HOST_ENDIANNESS 0
+#endif
+
 typedef struct {
     int freq;
     int nchannels;
     audfmt_e fmt;
+    int endianness;
 } audsettings_t;
 
+struct audio_capture_ops {
+    void (*state) (void *opaque, int enabled);
+    void (*capture) (void *opaque, void *buf, int size);
+};
+
 typedef struct AudioState AudioState;
 typedef struct SWVoiceOut SWVoiceOut;
 typedef struct SWVoiceIn SWVoiceIn;
@@ -66,6 +79,12 @@ AudioState *AUD_init (void);
 void AUD_help (void);
 void AUD_register_card (AudioState *s, const char *name, QEMUSoundCard *card);
 void AUD_remove_card (QEMUSoundCard *card);
+int AUD_add_capture (
+    AudioState *s,
+    audsettings_t *as,
+    struct audio_capture_ops *ops,
+    void *opaque
+    );
 
 SWVoiceOut *AUD_open_out (
     QEMUSoundCard *card,
@@ -109,7 +128,7 @@ static inline void *advance (void *p, int incr)
 }
 
 uint32_t popcount (uint32_t u);
-inline uint32_t lsbindex (uint32_t u);
+uint32_t lsbindex (uint32_t u);
 
 #ifdef __GNUC__
 #define audio_MIN(a, b) ( __extension__ ({      \
This page took 0.019533 seconds and 4 git commands to generate.