mirror of https://github.com/saitohirga/WSJT-X.git
Changes for 48000 Hz Audio in samplerate
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3577 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
d88ea99582
commit
da4c16ceda
15
Detector.cpp
15
Detector.cpp
|
@ -6,6 +6,10 @@
|
||||||
|
|
||||||
#include "commons.h"
|
#include "commons.h"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
void fil4_(qint16*, qint32*, qint16*, qint32*);
|
||||||
|
}
|
||||||
|
|
||||||
Detector::Detector (unsigned frameRate, unsigned periodLengthInSeconds, unsigned framesPerSignal, QObject * parent)
|
Detector::Detector (unsigned frameRate, unsigned periodLengthInSeconds, unsigned framesPerSignal, QObject * parent)
|
||||||
: AudioDevice (parent)
|
: AudioDevice (parent)
|
||||||
, m_frameRate (frameRate)
|
, m_frameRate (frameRate)
|
||||||
|
@ -31,8 +35,8 @@ void Detector::clear ()
|
||||||
// jt9com_.kin = qMin ((msInPeriod * m_frameRate) / 1000, static_cast<unsigned> (sizeof (jt9com_.d2) / sizeof (jt9com_.d2[0])));
|
// jt9com_.kin = qMin ((msInPeriod * m_frameRate) / 1000, static_cast<unsigned> (sizeof (jt9com_.d2) / sizeof (jt9com_.d2[0])));
|
||||||
jt9com_.kin = 0;
|
jt9com_.kin = 0;
|
||||||
|
|
||||||
// fill buffer with zeros (G4WJS commented out because it might cause decoder hangs)
|
// fill buffer with zeros
|
||||||
// qFill (jt9com_.d2, jt9com_.d2 + sizeof (jt9com_.d2) / sizeof (jt9com_.d2[0]), 0);
|
qFill (jt9com_.d2, jt9com_.d2 + sizeof (jt9com_.d2) / sizeof (jt9com_.d2[0]), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
qint64 Detector::writeData (char const * data, qint64 maxSize)
|
qint64 Detector::writeData (char const * data, qint64 maxSize)
|
||||||
|
@ -49,10 +53,13 @@ qint64 Detector::writeData (char const * data, qint64 maxSize)
|
||||||
qDebug () << "dropped " << maxSize / sizeof (jt9com_.d2[0]) - framesAccepted << " frames of data on the floor!";
|
qDebug () << "dropped " << maxSize / sizeof (jt9com_.d2[0]) - framesAccepted << " frames of data on the floor!";
|
||||||
}
|
}
|
||||||
|
|
||||||
store (data, framesAccepted, &jt9com_.d2[jt9com_.kin]);
|
qint32 m_n1,m_n2;
|
||||||
|
m_n1 = framesAccepted;
|
||||||
|
fil4_((qint16 *)data, &m_n1, m_translate, &m_n2);
|
||||||
|
store ((char const *) m_translate, m_n2, &jt9com_.d2[jt9com_.kin]);
|
||||||
|
|
||||||
unsigned lastSignalIndex (jt9com_.kin / m_framesPerSignal);
|
unsigned lastSignalIndex (jt9com_.kin / m_framesPerSignal);
|
||||||
jt9com_.kin += framesAccepted;
|
jt9com_.kin += m_n2;
|
||||||
unsigned currentSignalIndex (jt9com_.kin / m_framesPerSignal);
|
unsigned currentSignalIndex (jt9com_.kin / m_framesPerSignal);
|
||||||
|
|
||||||
if (currentSignalIndex != lastSignalIndex && m_monitoring)
|
if (currentSignalIndex != lastSignalIndex && m_monitoring)
|
||||||
|
|
|
@ -49,6 +49,7 @@ private:
|
||||||
unsigned m_framesPerSignal;
|
unsigned m_framesPerSignal;
|
||||||
bool volatile m_monitoring;
|
bool volatile m_monitoring;
|
||||||
bool m_starting;
|
bool m_starting;
|
||||||
|
qint16 m_translate[20000];
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -48,7 +48,7 @@ void SoundInput::start(QAudioDeviceInfo const& device, unsigned channels, int fr
|
||||||
QAudioFormat format (device.preferredFormat());
|
QAudioFormat format (device.preferredFormat());
|
||||||
format.setChannelCount (channels);
|
format.setChannelCount (channels);
|
||||||
format.setCodec ("audio/pcm");
|
format.setCodec ("audio/pcm");
|
||||||
format.setSampleRate (12000);
|
format.setSampleRate (48000);
|
||||||
format.setSampleType (QAudioFormat::SignedInt);
|
format.setSampleType (QAudioFormat::SignedInt);
|
||||||
format.setSampleSize (16);
|
format.setSampleSize (16);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue