diff --git a/samples/voiceclient/main.cpp b/samples/voiceclient/main.cpp index ba117d576..bb6915da1 100644 --- a/samples/voiceclient/main.cpp +++ b/samples/voiceclient/main.cpp @@ -4,24 +4,36 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "blackcore/voice_vatlib.h" +#include "blackmisc/blackmiscfreefunctions.h" #include "client.h" #include "reader.h" #include #include +#include using namespace BlackMisc::Audio; int main(int argc, char *argv[]) { QCoreApplication app (argc, argv); - Client client(&app); + BlackMisc::registerMetadata(); + BlackCore::IVoice *m_voice = new BlackCore::CVoiceVatlib(); + QThread m_voiceThread; + m_voice->moveToThread(&m_voiceThread); + m_voiceThread.start(); LineReader reader; QObject::connect(&reader, SIGNAL(command(const QString &)), &client, SLOT(command(const QString &))); - QObject::connect(&client, SIGNAL(quit()), &reader, SLOT(terminate())); - QObject::connect(&client, SIGNAL(quit()), &app, SLOT(quit())); + QObject::connect(&client, &Client::quit, [&] () + { + qDebug() << "Shutting down..."; + reader.terminate(); + m_voiceThread.quit(); + m_voiceThread.wait(5000); + qApp->quit(); + }); reader.start(); app.exec();