mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-04-07 10:02:24 +02:00
Instrument HifiAC code with performance timers
Signed-off-by: Marcus Llewellyn <marcus.llewellyn@gmail.com>
This commit is contained in:
parent
6a294404c2
commit
830f3ab337
2 changed files with 8 additions and 1 deletions
|
@ -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()
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue