mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-07-23 20:51:58 +00:00
initial reworking for mod_portaudio multiple enpoint support
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user