JackTrip
src
PacketHeader.h
Go to the documentation of this file.
1
//*****************************************************************
2
/*
3
JackTrip: A System for High-Quality Audio Network Performance
4
over the Internet
5
6
Copyright (c) 2008 Juan-Pablo Caceres, Chris Chafe.
7
SoundWIRE group at CCRMA, Stanford University.
8
9
Permission is hereby granted, free of charge, to any person
10
obtaining a copy of this software and associated documentation
11
files (the "Software"), to deal in the Software without
12
restriction, including without limitation the rights to use,
13
copy, modify, merge, publish, distribute, sublicense, and/or sell
14
copies of the Software, and to permit persons to whom the
15
Software is furnished to do so, subject to the following
16
conditions:
17
18
The above copyright notice and this permission notice shall be
19
included in all copies or substantial portions of the Software.
20
21
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
23
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
25
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
26
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
28
OTHER DEALINGS IN THE SOFTWARE.
29
*/
30
//*****************************************************************
31
38
#ifndef __PACKETHEADER_H__
39
#define __PACKETHEADER_H__
40
41
#include <iostream>
42
//#include <tr1/memory> // for shared_ptr
43
#include <cstring>
44
45
#include <QObject>
46
#include <QString>
47
48
#include "
jacktrip_types.h
"
49
#include "
jacktrip_globals.h
"
50
class
JackTrip
;
// Forward Declaration
51
52
54
struct
HeaderStruct
{};
55
57
struct
DefaultHeaderStruct
:
public
HeaderStruct
58
{
59
public
:
60
// watch out for alignment...
61
uint64_t
TimeStamp
;
62
uint16_t
SeqNumber
;
63
uint16_t
BufferSize
;
64
uint8_t
SamplingRate
;
65
uint8_t
BitResolution
;
66
//uint8_t NumInChannels; ///< Number of Input Channels
67
//uint8_t NumOutChannels; ///< Number of Output Channels
68
uint8_t
NumChannels
;
69
uint8_t
ConnectionMode
;
70
};
71
72
//---------------------------------------------------------
73
//JamLink UDP Header:
74
/************************************************************************/
75
/* values for the UDP stream type */
76
/* streamType is a 16-bit value at the head of each UDP stream */
77
/* Its bit map is as follows: (b15-msb) */
78
/* B15:reserved, B14:extended header, B13 Stereo, B12 not 16-bit */
79
/* B11-B9: 0-48 Khz, 1-44 Khz, 2-32 Khz, 3-24 Khz, */
80
/* 4-22 Khz, 5-16 Khz, 6-11 Khz, 7-8 Khz */
81
/* B8-0: Samples in packet */
82
/************************************************************************/
83
const
unsigned
short
ETX_RSVD
= (0<<15);
84
const
unsigned
short
ETX_XTND
= (1<<14);
85
const
unsigned
short
ETX_STEREO
= (1<<13);
86
const
unsigned
short
ETX_MONO
= (0<<13);
87
const
unsigned
short
ETX_16BIT
= (0<<12);
88
//inline unsigned short ETX_RATE_MASK(const unsigned short a) { a&(0x7<<9); }
89
const
unsigned
short
ETX_48KHZ
= (0<<9);
90
const
unsigned
short
ETX_44KHZ
= (1<<9);
91
const
unsigned
short
ETX_32KHZ
= (2<<9);
92
const
unsigned
short
ETX_24KHZ
= (3<<9);
93
const
unsigned
short
ETX_22KHZ
= (4<<9);
94
const
unsigned
short
ETX_16KHZ
= (5<<9);
95
const
unsigned
short
ETX_11KHZ
= (6<<9);
96
const
unsigned
short
ETX_8KHZ
= (7<<9);
97
// able to express up to 512 SPP
98
//inline unsigned short ETX_SPP(const unsigned short a) { (a&0x01FF); }
99
101
struct
JamLinkHeaderStuct
:
public
HeaderStruct
102
{
103
// watch out for alignment -- need to be on 4 byte chunks
104
uint16_t
Common
;
105
uint16_t
SeqNumber
;
106
uint32_t
TimeStamp
;
107
};
108
109
110
111
//#######################################################################
112
//####################### PacketHeader ##################################
113
//#######################################################################
117
class
PacketHeader
:
public
QObject
118
{
119
Q_OBJECT;
120
121
public
:
123
PacketHeader
(
JackTrip
* jacktrip);
125
virtual
~PacketHeader
() {}
126
129
static
uint64_t
usecTime
();
132
virtual
void
fillHeaderCommonFromAudio
() = 0;
135
virtual
void
parseHeader
() = 0;
136
virtual
void
checkPeerSettings
(
int8_t
* full_packet) = 0;
137
138
virtual
uint64_t
getPeerTimeStamp
(
int8_t
* full_packet)
const
= 0;
139
virtual
uint16_t
getPeerSequenceNumber
(
int8_t
* full_packet)
const
= 0;
140
virtual
uint16_t
getPeerBufferSize
(
int8_t
* full_packet)
const
= 0;
141
virtual
uint8_t
getPeerSamplingRate
(
int8_t
* full_packet)
const
= 0;
142
virtual
uint8_t
getPeerBitResolution
(
int8_t
* full_packet)
const
= 0;
143
virtual
uint8_t
getPeerNumChannels
(
int8_t
* full_packet)
const
= 0;
144
virtual
uint8_t
getPeerConnectionMode
(
int8_t
* full_packet)
const
= 0;
145
147
virtual
void
increaseSequenceNumber
()
148
{ mSeqNumber++; }
151
virtual
uint16_t
getSequenceNumber
()
const
152
{
return
mSeqNumber; }
154
virtual
int
getHeaderSizeInBytes
()
const
= 0;
155
virtual
void
putHeaderInPacketBaseClass
(
int8_t
* full_packet,
156
const
HeaderStruct
& header_struct)
157
{
158
std::memcpy(full_packet,
reinterpret_cast<
const
void
*
>
(&header_struct),
159
getHeaderSizeInBytes
() );
160
}
164
virtual
void
putHeaderInPacket
(
int8_t
* full_packet) = 0;
165
166
167
signals:
168
void
signalError
(
const
char
* error_message);
169
170
171
private
:
172
uint16_t
mSeqNumber;
173
JackTrip
* mJackTrip;
174
};
175
176
177
178
179
//#######################################################################
180
//####################### DefaultHeader #################################
181
//#######################################################################
184
class
DefaultHeader
:
public
PacketHeader
185
{
186
public
:
187
188
DefaultHeader
(
JackTrip
* jacktrip);
189
virtual
~DefaultHeader
() {}
190
191
virtual
void
fillHeaderCommonFromAudio
();
192
virtual
void
parseHeader
() {}
193
virtual
void
checkPeerSettings
(
int8_t
* full_packet);
194
virtual
void
increaseSequenceNumber
()
195
{ mHeader.
SeqNumber
++; }
196
virtual
uint16_t
getSequenceNumber
()
const
197
{
return
mHeader.
SeqNumber
; }
198
virtual
int
getHeaderSizeInBytes
()
const
{
return
sizeof
(mHeader); }
199
virtual
void
putHeaderInPacket
(
int8_t
* full_packet)
200
{
putHeaderInPacketBaseClass
(full_packet, mHeader); }
201
void
printHeader
()
const
;
202
uint8_t
getConnectionMode
()
const
203
{
return
mHeader.
ConnectionMode
; }
204
uint8_t
getNumChannels
()
const
205
{
return
mHeader.
NumChannels
; }
206
207
208
virtual
uint64_t
getPeerTimeStamp
(
int8_t
* full_packet)
const
;
209
virtual
uint16_t
getPeerSequenceNumber
(
int8_t
* full_packet)
const
;
210
virtual
uint16_t
getPeerBufferSize
(
int8_t
* full_packet)
const
;
211
virtual
uint8_t
getPeerSamplingRate
(
int8_t
* full_packet)
const
;
212
virtual
uint8_t
getPeerBitResolution
(
int8_t
* full_packet)
const
;
213
virtual
uint8_t
getPeerNumChannels
(
int8_t
* full_packet)
const
;
214
virtual
uint8_t
getPeerConnectionMode
(
int8_t
* full_packet)
const
;
215
216
217
private
:
218
DefaultHeaderStruct
mHeader;
219
JackTrip
* mJackTrip;
220
};
221
222
223
224
225
//#######################################################################
226
//####################### JamLinkHeader #################################
227
//#######################################################################
228
231
class
JamLinkHeader
:
public
PacketHeader
232
{
233
public
:
234
235
JamLinkHeader
(
JackTrip
* jacktrip);
236
virtual
~JamLinkHeader
() {}
237
238
virtual
void
fillHeaderCommonFromAudio
();
239
virtual
void
parseHeader
() {}
240
virtual
void
checkPeerSettings
(
int8_t
*
/*full_packet*/
) {}
241
242
virtual
uint64_t
getPeerTimeStamp
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
243
virtual
uint16_t
getPeerSequenceNumber
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
244
virtual
uint16_t
getPeerBufferSize
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
245
virtual
uint8_t
getPeerSamplingRate
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
246
virtual
uint8_t
getPeerBitResolution
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
247
virtual
uint8_t
getPeerNumChannels
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
248
virtual
uint8_t
getPeerConnectionMode
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
249
250
virtual
void
increaseSequenceNumber
() {}
251
virtual
int
getHeaderSizeInBytes
()
const
{
return
sizeof
(mHeader); }
252
virtual
void
putHeaderInPacket
(
int8_t
* full_packet)
253
{
putHeaderInPacketBaseClass
(full_packet, mHeader); }
254
255
private
:
256
JamLinkHeaderStuct
mHeader;
257
JackTrip
* mJackTrip;
258
};
259
260
261
262
//#######################################################################
263
//####################### EmptyHeader #################################
264
//#######################################################################
265
268
class
EmptyHeader
:
public
PacketHeader
269
{
270
public
:
271
272
EmptyHeader
(
JackTrip
* jacktrip);
273
virtual
~EmptyHeader
() {}
274
275
virtual
void
fillHeaderCommonFromAudio
() {}
276
virtual
void
parseHeader
() {}
277
virtual
void
checkPeerSettings
(
int8_t
*
/*full_packet*/
) {}
278
virtual
void
increaseSequenceNumber
() {}
279
virtual
int
getHeaderSizeInBytes
()
const
{
return
0; }
280
281
virtual
uint64_t
getPeerTimeStamp
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
282
virtual
uint16_t
getPeerSequenceNumber
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
283
virtual
uint16_t
getPeerBufferSize
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
284
virtual
uint8_t
getPeerSamplingRate
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
285
virtual
uint8_t
getPeerBitResolution
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
286
virtual
uint8_t
getPeerNumChannels
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
287
virtual
uint8_t
getPeerConnectionMode
(
int8_t
*
/*full_packet*/
)
const
{
return
0; }
288
289
virtual
void
putHeaderInPacket
(
int8_t
*
/*full_packet*/
) {}
290
291
private
:
292
JackTrip
* mJackTrip;
293
};
294
295
296
#endif //__PACKETHEADER_H__
DefaultHeader::increaseSequenceNumber
virtual void increaseSequenceNumber()
Increase sequence number for counter, a 16bit number.
Definition:
PacketHeader.h:194
EmptyHeader::parseHeader
virtual void parseHeader()
Parse the packet header and take appropriate measures (like change settings, or quit the program if p...
Definition:
PacketHeader.h:276
JamLinkHeaderStuct
JamLink Header Struct.
Definition:
PacketHeader.h:101
DefaultHeader::fillHeaderCommonFromAudio
virtual void fillHeaderCommonFromAudio()
Definition:
PacketHeader.cpp:113
DefaultHeader::printHeader
void printHeader() const
Definition:
PacketHeader.cpp:182
PacketHeader::PacketHeader
PacketHeader(JackTrip *jacktrip)
The class Constructor.
Definition:
PacketHeader.cpp:76
uint8_t
quint8 uint8_t
Typedef for unsigned char. This type is guaranteed to be 8-bit.
Definition:
jacktrip_types.h:69
DefaultHeaderStruct::SeqNumber
uint16_t SeqNumber
Sequence Number.
Definition:
PacketHeader.h:62
DefaultHeader::getPeerBitResolution
virtual uint8_t getPeerBitResolution(int8_t *full_packet) const
Definition:
PacketHeader.cpp:241
uint16_t
quint16 uint16_t
Typedef for unsigned short. This type is guaranteed to be 16-bit.
Definition:
jacktrip_types.h:71
PacketHeader::getSequenceNumber
virtual uint16_t getSequenceNumber() const
Returns the current sequence number.
Definition:
PacketHeader.h:151
PacketHeader::~PacketHeader
virtual ~PacketHeader()
The class Destructor.
Definition:
PacketHeader.h:125
EmptyHeader::EmptyHeader
EmptyHeader(JackTrip *jacktrip)
Definition:
PacketHeader.cpp:348
JackTrip
Main class to creates a SERVER (to listen) or a CLIENT (to connect to a listening server) to send aud...
Definition:
JackTrip.h:67
int8_t
qint8 int8_t
Typedef for unsigned long long int. This type is guaranteed to be 64-bit.
Definition:
jacktrip_types.h:78
JamLinkHeaderStuct::SeqNumber
uint16_t SeqNumber
Sequence Number.
Definition:
PacketHeader.h:105
ETX_MONO
const unsigned short ETX_MONO
Definition:
PacketHeader.h:86
DefaultHeader::getPeerBufferSize
virtual uint16_t getPeerBufferSize(int8_t *full_packet) const
Definition:
PacketHeader.cpp:223
JamLinkHeader::increaseSequenceNumber
virtual void increaseSequenceNumber()
Increase sequence number for counter, a 16bit number.
Definition:
PacketHeader.h:250
ETX_XTND
const unsigned short ETX_XTND
Definition:
PacketHeader.h:84
DefaultHeader::getHeaderSizeInBytes
virtual int getHeaderSizeInBytes() const
Get the header size in bytes.
Definition:
PacketHeader.h:198
DefaultHeader::parseHeader
virtual void parseHeader()
Parse the packet header and take appropriate measures (like change settings, or quit the program if p...
Definition:
PacketHeader.h:192
EmptyHeader::increaseSequenceNumber
virtual void increaseSequenceNumber()
Increase sequence number for counter, a 16bit number.
Definition:
PacketHeader.h:278
JamLinkHeader::parseHeader
virtual void parseHeader()
Parse the packet header and take appropriate measures (like change settings, or quit the program if p...
Definition:
PacketHeader.h:239
ETX_22KHZ
const unsigned short ETX_22KHZ
Definition:
PacketHeader.h:93
EmptyHeader
Empty Header to use with systems that don't include a header.
Definition:
PacketHeader.h:268
DefaultHeaderStruct::ConnectionMode
uint8_t ConnectionMode
Definition:
PacketHeader.h:69
EmptyHeader::getPeerBitResolution
virtual uint8_t getPeerBitResolution(int8_t *) const
Definition:
PacketHeader.h:285
JamLinkHeader::getPeerBufferSize
virtual uint16_t getPeerBufferSize(int8_t *) const
Definition:
PacketHeader.h:244
DefaultHeaderStruct::BufferSize
uint16_t BufferSize
Buffer Size in Samples.
Definition:
PacketHeader.h:63
PacketHeader::usecTime
static uint64_t usecTime()
Return a time stamp in microseconds.
Definition:
PacketHeader.cpp:82
EmptyHeader::checkPeerSettings
virtual void checkPeerSettings(int8_t *)
Definition:
PacketHeader.h:277
DefaultHeaderStruct
Default Header Struct.
Definition:
PacketHeader.h:57
EmptyHeader::getPeerNumChannels
virtual uint8_t getPeerNumChannels(int8_t *) const
Definition:
PacketHeader.h:286
ETX_8KHZ
const unsigned short ETX_8KHZ
Definition:
PacketHeader.h:96
EmptyHeader::~EmptyHeader
virtual ~EmptyHeader()
Definition:
PacketHeader.h:273
JamLinkHeader::putHeaderInPacket
virtual void putHeaderInPacket(int8_t *full_packet)
Put the header in buffer pointed by full_packet.
Definition:
PacketHeader.h:252
ETX_48KHZ
const unsigned short ETX_48KHZ
Definition:
PacketHeader.h:89
EmptyHeader::getPeerTimeStamp
virtual uint64_t getPeerTimeStamp(int8_t *) const
Definition:
PacketHeader.h:281
DefaultHeader::getPeerNumChannels
virtual uint8_t getPeerNumChannels(int8_t *full_packet) const
Definition:
PacketHeader.cpp:250
DefaultHeader::getPeerSequenceNumber
virtual uint16_t getPeerSequenceNumber(int8_t *full_packet) const
Definition:
PacketHeader.cpp:214
EmptyHeader::getPeerBufferSize
virtual uint16_t getPeerBufferSize(int8_t *) const
Definition:
PacketHeader.h:283
ETX_44KHZ
const unsigned short ETX_44KHZ
Definition:
PacketHeader.h:90
DefaultHeader::putHeaderInPacket
virtual void putHeaderInPacket(int8_t *full_packet)
Put the header in buffer pointed by full_packet.
Definition:
PacketHeader.h:199
ETX_11KHZ
const unsigned short ETX_11KHZ
Definition:
PacketHeader.h:95
JamLinkHeader::~JamLinkHeader
virtual ~JamLinkHeader()
Definition:
PacketHeader.h:236
JamLinkHeader
JamLink Header.
Definition:
PacketHeader.h:231
JamLinkHeader::JamLinkHeader
JamLinkHeader(JackTrip *jacktrip)
Definition:
PacketHeader.cpp:275
PacketHeader::putHeaderInPacketBaseClass
virtual void putHeaderInPacketBaseClass(int8_t *full_packet, const HeaderStruct &header_struct)
Definition:
PacketHeader.h:155
PacketHeader::signalError
void signalError(const char *error_message)
Definition:
moc_PacketHeader.cpp:130
EmptyHeader::getHeaderSizeInBytes
virtual int getHeaderSizeInBytes() const
Get the header size in bytes.
Definition:
PacketHeader.h:279
EmptyHeader::getPeerSamplingRate
virtual uint8_t getPeerSamplingRate(int8_t *) const
Definition:
PacketHeader.h:284
DefaultHeader::getPeerSamplingRate
virtual uint8_t getPeerSamplingRate(int8_t *full_packet) const
Definition:
PacketHeader.cpp:232
PacketHeader::getHeaderSizeInBytes
virtual int getHeaderSizeInBytes() const =0
Get the header size in bytes.
uint32_t
quint32 uint32_t
Typedef for unsigned int. This type is guaranteed to be 32-bit.
Definition:
jacktrip_types.h:73
JamLinkHeader::getPeerSamplingRate
virtual uint8_t getPeerSamplingRate(int8_t *) const
Definition:
PacketHeader.h:245
EmptyHeader::getPeerConnectionMode
virtual uint8_t getPeerConnectionMode(int8_t *) const
Definition:
PacketHeader.h:287
DefaultHeader::~DefaultHeader
virtual ~DefaultHeader()
Definition:
PacketHeader.h:189
ETX_STEREO
const unsigned short ETX_STEREO
Definition:
PacketHeader.h:85
PacketHeader::fillHeaderCommonFromAudio
virtual void fillHeaderCommonFromAudio()=0
DefaultHeader
Default Header.
Definition:
PacketHeader.h:184
DefaultHeaderStruct::BitResolution
uint8_t BitResolution
Audio Bit Resolution.
Definition:
PacketHeader.h:65
jacktrip_globals.h
PacketHeader::getPeerBufferSize
virtual uint16_t getPeerBufferSize(int8_t *full_packet) const =0
PacketHeader::getPeerTimeStamp
virtual uint64_t getPeerTimeStamp(int8_t *full_packet) const =0
EmptyHeader::putHeaderInPacket
virtual void putHeaderInPacket(int8_t *)
Put the header in buffer pointed by full_packet.
Definition:
PacketHeader.h:289
DefaultHeader::getConnectionMode
uint8_t getConnectionMode() const
Definition:
PacketHeader.h:202
DefaultHeaderStruct::SamplingRate
uint8_t SamplingRate
Sampling Rate in JackAudioInterface::samplingRateT.
Definition:
PacketHeader.h:64
EmptyHeader::getPeerSequenceNumber
virtual uint16_t getPeerSequenceNumber(int8_t *) const
Definition:
PacketHeader.h:282
PacketHeader::getPeerNumChannels
virtual uint8_t getPeerNumChannels(int8_t *full_packet) const =0
PacketHeader::getPeerConnectionMode
virtual uint8_t getPeerConnectionMode(int8_t *full_packet) const =0
PacketHeader::getPeerBitResolution
virtual uint8_t getPeerBitResolution(int8_t *full_packet) const =0
JamLinkHeader::getPeerNumChannels
virtual uint8_t getPeerNumChannels(int8_t *) const
Definition:
PacketHeader.h:247
JamLinkHeader::getPeerBitResolution
virtual uint8_t getPeerBitResolution(int8_t *) const
Definition:
PacketHeader.h:246
JamLinkHeader::getPeerSequenceNumber
virtual uint16_t getPeerSequenceNumber(int8_t *) const
Definition:
PacketHeader.h:243
DefaultHeader::getPeerConnectionMode
virtual uint8_t getPeerConnectionMode(int8_t *full_packet) const
Definition:
PacketHeader.cpp:259
DefaultHeader::getNumChannels
uint8_t getNumChannels() const
Definition:
PacketHeader.h:204
ETX_32KHZ
const unsigned short ETX_32KHZ
Definition:
PacketHeader.h:91
JamLinkHeaderStuct::Common
uint16_t Common
Common part of the header, 16 bit.
Definition:
PacketHeader.h:104
ETX_24KHZ
const unsigned short ETX_24KHZ
Definition:
PacketHeader.h:92
JamLinkHeader::checkPeerSettings
virtual void checkPeerSettings(int8_t *)
Definition:
PacketHeader.h:240
JamLinkHeader::getPeerTimeStamp
virtual uint64_t getPeerTimeStamp(int8_t *) const
Definition:
PacketHeader.h:242
PacketHeader
Base class for header type. Subclass this struct to create a new header.
Definition:
PacketHeader.h:117
JamLinkHeader::getHeaderSizeInBytes
virtual int getHeaderSizeInBytes() const
Get the header size in bytes.
Definition:
PacketHeader.h:251
JamLinkHeader::fillHeaderCommonFromAudio
virtual void fillHeaderCommonFromAudio()
Definition:
PacketHeader.cpp:285
DefaultHeader::checkPeerSettings
virtual void checkPeerSettings(int8_t *full_packet)
Definition:
PacketHeader.cpp:126
HeaderStruct
Abstract Header Struct, Header Stucts should subclass it.
Definition:
PacketHeader.h:54
DefaultHeader::DefaultHeader
DefaultHeader(JackTrip *jacktrip)
Definition:
PacketHeader.cpp:97
jacktrip_types.h
PacketHeader::increaseSequenceNumber
virtual void increaseSequenceNumber()
Increase sequence number for counter, a 16bit number.
Definition:
PacketHeader.h:147
JamLinkHeader::getPeerConnectionMode
virtual uint8_t getPeerConnectionMode(int8_t *) const
Definition:
PacketHeader.h:248
PacketHeader::parseHeader
virtual void parseHeader()=0
Parse the packet header and take appropriate measures (like change settings, or quit the program if p...
PacketHeader::getPeerSamplingRate
virtual uint8_t getPeerSamplingRate(int8_t *full_packet) const =0
ETX_16KHZ
const unsigned short ETX_16KHZ
Definition:
PacketHeader.h:94
DefaultHeaderStruct::NumChannels
uint8_t NumChannels
Number of Channels, we assume input and outputs are the same.
Definition:
PacketHeader.h:68
ETX_16BIT
const unsigned short ETX_16BIT
Definition:
PacketHeader.h:87
ETX_RSVD
const unsigned short ETX_RSVD
Definition:
PacketHeader.h:83
JamLinkHeaderStuct::TimeStamp
uint32_t TimeStamp
Time Stamp.
Definition:
PacketHeader.h:106
DefaultHeaderStruct::TimeStamp
uint64_t TimeStamp
Time Stamp.
Definition:
PacketHeader.h:61
PacketHeader::getPeerSequenceNumber
virtual uint16_t getPeerSequenceNumber(int8_t *full_packet) const =0
DefaultHeader::getPeerTimeStamp
virtual uint64_t getPeerTimeStamp(int8_t *full_packet) const
Definition:
PacketHeader.cpp:205
PacketHeader::checkPeerSettings
virtual void checkPeerSettings(int8_t *full_packet)=0
EmptyHeader::fillHeaderCommonFromAudio
virtual void fillHeaderCommonFromAudio()
Definition:
PacketHeader.h:275
DefaultHeader::getSequenceNumber
virtual uint16_t getSequenceNumber() const
Returns the current sequence number.
Definition:
PacketHeader.h:196
PacketHeader::putHeaderInPacket
virtual void putHeaderInPacket(int8_t *full_packet)=0
Put the header in buffer pointed by full_packet.