aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/sender.h
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2016-04-25 20:20:54 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2016-05-08 15:48:13 +0200
commit7434e21dc21fe448fba3c119d9c211b790eb0153 (patch)
treeecff6ebbe91f38e1ab68d50780d770424a74364d /src/common/sender.h
parentde0ce7ba983e98976763612410da7b31e3b46dd5 (diff)
Multi transceiver support
This can be multiple transceivers on multiple sound cards. Two transceivers can be bundled on one sound device as well, using both channels.
Diffstat (limited to 'src/common/sender.h')
-rw-r--r--src/common/sender.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/common/sender.h b/src/common/sender.h
index 7e0eb74..db0936e 100644
--- a/src/common/sender.h
+++ b/src/common/sender.h
@@ -5,9 +5,13 @@
#include "loss.h"
#include "emphasis.h"
+#define MAX_SENDER 16
+
/* common structure of each transmitter */
typedef struct sender {
struct sender *next;
+ struct sender *slave; /* points to audio device slave member */
+ struct sender *master; /* points to audio device master source */
/* call reference */
int callref;
@@ -17,7 +21,9 @@ typedef struct sender {
/* sound */
void *sound;
+ char sounddev[64]; /* sound device name */
int samplerate;
+ int cross_channels; /* swap right and left on IO */
samplerate_t srstate; /* sample rate conversion state */
int pre_emphasis; /* use pre_emhasis, done by sender */
int de_emphasis; /* use de_emhasis, done by sender */
@@ -52,7 +58,7 @@ typedef struct sender {
extern sender_t *sender_head;
extern int cant_recover;
-int sender_create(sender_t *sender, const char *sounddev, int samplerate, int pre_emphasis, int de_emphasis, const char *write_wave, const char *read_wave, int kanal, int loopback, double loss_volume, int use_pilot_signal);
+int sender_create(sender_t *sender, int kanal, const char *sounddev, int samplerate, int cross_channels, int pre_emphasis, int de_emphasis, const char *write_wave, const char *read_wave, int loopback, double loss_volume, int use_pilot_signal);
void sender_destroy(sender_t *sender);
void sender_send(sender_t *sender, int16_t *samples, int count);
void sender_receive(sender_t *sender, int16_t *samples, int count);