diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2016-04-25 20:20:54 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2016-05-08 15:48:13 +0200 |
commit | 7434e21dc21fe448fba3c119d9c211b790eb0153 (patch) | |
tree | ecff6ebbe91f38e1ab68d50780d770424a74364d /src/common/sender.h | |
parent | de0ce7ba983e98976763612410da7b31e3b46dd5 (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.h | 8 |
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); |