Instrument HifiAC code with performance timers

Signed-off-by: Marcus Llewellyn <marcus.llewellyn@gmail.com>
This commit is contained in:
Dale Glass 2020-01-14 23:20:24 +01:00 committed by Marcus Llewellyn
parent 6a294404c2
commit 830f3ab337
2 changed files with 8 additions and 1 deletions

View file

@ -8,7 +8,7 @@
set(TARGET_NAME hifiCodec)
setup_hifi_client_server_plugin()
link_hifi_libraries(audio plugins)
link_hifi_libraries(shared audio plugins)
target_hifiAudioCodec()
if (BUILD_SERVER)
install_beside_console()

View file

@ -13,6 +13,7 @@
#include <AudioCodec.h>
#include <AudioConstants.h>
#include <PerfStat.h>
const char* HiFiCodec::NAME { "hifiAC" };
@ -44,6 +45,8 @@ public:
}
virtual void encode(const QByteArray& decodedBuffer, QByteArray& encodedBuffer) override {
PerformanceTimer perfTimer("HiFiEncoder::encode");
encodedBuffer.resize(_encodedSize);
AudioEncoder::process((const int16_t*)decodedBuffer.constData(), (int16_t*)encodedBuffer.data(), AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL);
}
@ -58,11 +61,15 @@ public:
}
virtual void decode(const QByteArray& encodedBuffer, QByteArray& decodedBuffer) override {
PerformanceTimer perfTimer("HiFiEncoder::decode");
decodedBuffer.resize(_decodedSize);
AudioDecoder::process((const int16_t*)encodedBuffer.constData(), (int16_t*)decodedBuffer.data(), AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL, true);
}
virtual void lostFrame(QByteArray& decodedBuffer) override {
PerformanceTimer perfTimer("HiFiEncoder::lostFrame");
decodedBuffer.resize(_decodedSize);
// this performs packet loss interpolation
AudioDecoder::process(nullptr, (int16_t*)decodedBuffer.data(), AudioConstants::NETWORK_FRAME_SAMPLES_PER_CHANNEL, false);