SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
datvudpstream.cpp
Go to the documentation of this file.
1 // Copyright (C) 2019 F4EXB //
3 // written by Edouard Griffiths //
4 // //
5 // This program is free software; you can redistribute it and/or modify //
6 // it under the terms of the GNU General Public License as published by //
7 // the Free Software Foundation as version 3 of the License, or //
8 // (at your option) any later version. //
9 // //
10 // This program is distributed in the hope that it will be useful, //
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13 // GNU General Public License V3 for more details. //
14 // //
15 // You should have received a copy of the GNU General Public License //
16 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
18 
19 #include <algorithm>
20 #include "datvudpstream.h"
21 
22 const int DATVUDPStream::m_tsBlocksPerFrame = 7; // The usual value
23 
24 DATVUDPStream::DATVUDPStream(int tsBlockSize) :
25  m_active(false),
26  m_address(QHostAddress::LocalHost),
27  m_port(8882),
28  m_tsBlockSize(tsBlockSize),
29  m_tsBlockIndex(0)
30 {
32 }
33 
35 {
36  delete[] m_tsBuffer;
37 }
38 
39 void DATVUDPStream::pushData(const char *chrData, int nbTSBlocks)
40 {
41  if (!m_active) {
42  return;
43  }
44 
45  for (int i = 0; i < nbTSBlocks; i++)
46  {
48  {
49  std::copy(chrData + i*m_tsBlockSize, chrData + (i+1)*m_tsBlockSize, m_tsBuffer + m_tsBlockIndex*m_tsBlockSize);
51  }
52  else
53  {
55  m_tsBlockIndex = 0;
56  }
57  }
58 }
static const int m_tsBlocksPerFrame
Definition: datvudpstream.h:39
QHostAddress m_address
Definition: datvudpstream.h:44
int32_t i
Definition: decimators.h:244
DATVUDPStream(int tsBlockSize)
QUdpSocket m_udpSocket
Definition: datvudpstream.h:43
void pushData(const char *chrData, int nbTSBlocks)
char * m_tsBuffer
Definition: datvudpstream.h:48
quint16 m_port
Definition: datvudpstream.h:45