initial reworking for mod_portaudio multiple enpoint support

This commit is contained in:
Moises Silva
2011-03-17 21:46:52 -04:00
parent 8cb2bad004
commit df43e51ca5
3 changed files with 70 additions and 15 deletions
@@ -106,6 +106,34 @@ struct audio_stream {
};
typedef struct audio_stream audio_stream_t;
typedef struct _pa_shared_device {
/*! Sampling rate */
int sample_rate;
/*! */
int codec_ms;
/*! Device number */
int devno;
/*! Running stream (if a stream is already running for devno) */
audio_stream_t *stream;
/*! The actual portaudio device number */
/*! It's a shared device after all */
switch_mutex_t *mutex;
} pa_shared_device_t;
typedef struct _pa_endpoint {
/*! Input device for this endpoint */
pa_shared_device_t *indev;
/*! Output device for this endpoint */
pa_shared_device_t *outdev;
/*! Channel index within the input device stream */
int inchan;
/*! Channel index within the input device stream */
int outchan;
} pa_endpoint_t;
static struct {
int debug;
int port;
+13 -11
View File
@@ -56,17 +56,19 @@ extern "C" {
#include <string.h>
typedef struct {
PaUtilRingBuffer inFIFO;
PaUtilRingBuffer outFIFO;
PaStream *istream;
PaStream *ostream;
PaStream *iostream;
int bytesPerFrame;
int do_dual;
int has_in;
int has_out;
} PABLIO_Stream;
#define MAX_IO_CHANNELS 2
typedef struct {
PaStream *istream;
PaStream *ostream;
PaStream *iostream;
int bytesPerFrame;
int do_dual;
int has_in;
int has_out;
PaUtilRingBuffer inFIFOs[2]
PaUtilRingBuffer outFIFOs[2]
int channelCount;
} PABLIO_Stream;
/* Values for flags for OpenAudioStream(). */
#define PABLIO_READ (1<<0)