//-----------------------------------------------------------------------------
void ComPortThread::run()
{
	unsigned char pPacketBuffer[PACKET_LENGTH];

    while (!stopped)
    {
        int nLength;

		if (GetUartData(&nLength, pPacketBuffer))
		{
			if (nLength > 0)
			{
                QByteArray *packet = new QByteArray((char *)pPacketBuffer, nLength);
                //Save the packet on the Queue
                mutex.lock();
                packets.enqueue(packet);
                mutex.unlock();

                emit packetReady();
			}
		}
    }

    // Reset the stopped variable
    stopped = false;
    // Close the COM port
    Close();
}
Ejemplo n.º 2
0
void SocksUDP::sd_activated()
{
    while (d->sd->hasPendingDatagrams()) {
        QByteArray datagram;
        datagram.resize(d->sd->pendingDatagramSize());
        d->sd->readDatagram(datagram.data(), datagram.size());
        packetReady(datagram);
    }
}
Ejemplo n.º 3
0
//Отпрвка пустого пакета, вместо потерянного
void JitterBuffer::sendGarbage(quint16 sequenceNumber //Порядковый номер пакета
                               )
{
    lastSequenceNumber_ = sequenceNumber;

    nPacketLost_++;

    emit packetReady(getGarbagePacket());
}
Ejemplo n.º 4
0
//Выемка из буфера и отправка в файл
void JitterBuffer::removeSlot(int num //Номер элемента
                              )
{
    lastSequenceNumber_ = buffList_.at(num).sequenceNumber;

    QByteArray sndMedia = buffList_.at(num).media;
    buffList_.removeAt(num);

    emit packetReady(sndMedia);

    betweenRcp->start();
}