//----------------------------------------------------------------------------- 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(); }
void SocksUDP::sd_activated() { while (d->sd->hasPendingDatagrams()) { QByteArray datagram; datagram.resize(d->sd->pendingDatagramSize()); d->sd->readDatagram(datagram.data(), datagram.size()); packetReady(datagram); } }
//Отпрвка пустого пакета, вместо потерянного void JitterBuffer::sendGarbage(quint16 sequenceNumber //Порядковый номер пакета ) { lastSequenceNumber_ = sequenceNumber; nPacketLost_++; emit packetReady(getGarbagePacket()); }
//Выемка из буфера и отправка в файл void JitterBuffer::removeSlot(int num //Номер элемента ) { lastSequenceNumber_ = buffList_.at(num).sequenceNumber; QByteArray sndMedia = buffList_.at(num).media; buffList_.removeAt(num); emit packetReady(sndMedia); betweenRcp->start(); }