Backup out of last change

merge-requests/9/merge
Phil Taylor 2022-05-07 10:43:28 +01:00
rodzic 0d529b4a1b
commit 1e51e36c9d
2 zmienionych plików z 14 dodań i 15 usunięć

Wyświetl plik

@ -189,10 +189,11 @@ void audioHandler::start()
qInfo(logAudio()) << (setup.isinput ? "Input" : "Output") << "start() running";
if (setup.isinput) {
this->open(QIODevice::WriteOnly | QIODevice::Unbuffered);
audioInput->start(this);
//this->open(QIODevice::WriteOnly);
//audioInput->start(this);
audioDevice = audioInput->start();
connect(audioInput, SIGNAL(destroyed()), audioDevice, SLOT(deleteLater()), Qt::UniqueConnection);
//connect(audioDevice, SIGNAL(readyRead()), this, SLOT(getNextAudioChunk()), Qt::UniqueConnection);
connect(audioDevice, SIGNAL(readyRead()), this, SLOT(getNextAudioChunk()), Qt::UniqueConnection);
}
else {
// Buffer size must be set before audio is started.
@ -228,6 +229,7 @@ void audioHandler::stop()
audioDevice = Q_NULLPTR;
}
/*
qint64 audioHandler::readData(char* data, qint64 nBytes) {
return nBytes;
}
@ -251,7 +253,7 @@ qint64 audioHandler::writeData(const char* data, qint64 nBytes) {
return nBytes;
}
*/
void audioHandler::setVolume(unsigned char volume)
{
@ -262,7 +264,7 @@ void audioHandler::setVolume(unsigned char volume)
void audioHandler::incomingAudio(audioPacket packet)
{
QTime startProcessing = QTime::currentTime();
//QTime startProcessing = QTime::currentTime();
packet.volume = volume;
@ -274,22 +276,19 @@ void audioHandler::incomingAudio(audioPacket packet)
void audioHandler::convertedOutput(audioPacket packet) {
currentLatency = packet.time.msecsTo(QTime::currentTime()) + (format.durationForBytes(audioOutput->bufferSize() - audioOutput->bytesFree()) / 1000);
if (audioDevice != Q_NULLPTR && audioOutput != Q_NULLPTR) {
if (audioDevice != Q_NULLPTR) {
audioDevice->write(packet.data);
if (lastReceived.msecsTo(QTime::currentTime()) > 100) {
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Time since last audio packet" << lastReceived.msecsTo(QTime::currentTime()) << "Expected around" << setup.blockSize;
}
lastReceived = QTime::currentTime();
}
/*
if ((packet.seq > lastSentSeq + 1) && (setup.codec == 0x40 || setup.codec == 0x80)) {
/*if ((packet.seq > lastSentSeq + 1) && (setup.codec == 0x40 || setup.codec == 0x80)) {
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Attempting FEC on packet" << packet.seq << "as last is" << lastSentSeq;
lastSentSeq = packet.seq;
incomingAudio(packet); // Call myself again to run the packet a second time (FEC)
}
*/
lastSentSeq = packet.seq;
emit haveLevels(getAmplitude(), setup.latency, currentLatency, isUnderrun);
@ -307,7 +306,7 @@ void audioHandler::getNextAudioChunk()
packet.sent = 0;
packet.volume = volume;
memcpy(&packet.guid, setup.guid, GUIDLEN);
QTime startProcessing = QTime::currentTime();
//QTime startProcessing = QTime::currentTime();
packet.data.clear();
packet.data = tempBuf.data.mid(0, format.bytesForDuration(setup.blockSize * 1000));
tempBuf.data.remove(0, format.bytesForDuration(setup.blockSize * 1000));
@ -326,7 +325,6 @@ void audioHandler::convertedInput(audioPacket audio)
qDebug(logAudio()) << (setup.isinput ? "Input" : "Output") << "Time since last audio packet" << lastReceived.msecsTo(QTime::currentTime()) << "Expected around" << setup.blockSize ;
}
lastReceived = QTime::currentTime();
//ret = livePacket.data;
amplitude = audio.amplitude;
emit haveLevels(getAmplitude(), setup.latency, currentLatency, isUnderrun);
}

Wyświetl plik

@ -72,7 +72,8 @@ struct audioSetup {
};
// For QtMultimedia, use a native QIODevice
class audioHandler : public QIODevice
//class audioHandler : public QIODevice
class audioHandler : public QObject
{
Q_OBJECT
@ -111,8 +112,8 @@ signals:
private:
qint64 readData(char* data, qint64 nBytes);
qint64 writeData(const char* data, qint64 nBytes);
//qint64 readData(char* data, qint64 nBytes);
//qint64 writeData(const char* data, qint64 nBytes);
bool isUnderrun = false;