-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaudioBoard.h
47 lines (43 loc) · 1.44 KB
/
audioBoard.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef teensy_aes67_audio_h_
#define teensy_aes67_audio_h_
#include <Audio.h>
#include <QNEthernet.h>
#include <queue>
#include "ptp.h"
class AudioBoard {
public:
void start();
void readPackets();
void readAudio();
void sendRTPData();
AudioBoard(AudioPlayQueue &audioReceiverQueue, AudioRecordQueue &audioTransmitterQueue, qindesign::network::EthernetUDP &Udp, PTP &ptp);
private:
AudioPlayQueue *_audioReceiverQueue;
AudioRecordQueue *_audioTransmitterQueue;
qindesign::network::EthernetUDP *_udp;
PTP *_ptp;
unsigned long _packetTimestamp = 0;
unsigned long _startupTimestamp = 0;
uint8_t _incomingAudioBuffer[256];
uint16_t _incomingAudioBufferIndex = 0;
static const unsigned short _rtpPacketSize = 100;
uint8_t _packetStreamBuffer[_rtpPacketSize];
std::queue <int> _OutputQueue;
uint16_t _outputBuffer[48][50];
IPAddress _multicastIP{239, 4, 212, 163}; // Core
//IPAddress multicastIP{239, 34, 13, 86}; // RPI
//IPAddress multicastIP{239, 219, 130, 34}; // PC
int _multicastPort = 5004;
int _numOutputBuffers = 48;
int _numSamples = 44;
int _outputBufferReaderIndex = 0;
int _outputBufferWriterIndex = 0;
int _bufferIndex = 0;
Time _outputTimestamp = Time{0, 0};
unsigned long _outputLastTimestamp = 0;
unsigned long _ssrc = 1649937450;
unsigned short _rtpPayloadType = 32864;
unsigned short _sequenceNo = 0;
void timestamp();
};
#endif