History

Merge pull request #7495 from Atlante45/fix/audio-client

Fix crash in Audio Client

Brad Hefta-Gaub committed 10 years ago

Commit c64b2bb2 parents 32308c7 23813102 files · +18 −3Browse files

Showing the changes to interface/src/Application.cpp (1 of 2 files). Show all

Unified · Split

interface/src/Application.cpp+12−2
@@ -598,8 +598,18 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : · 597 unmodified lines
598 audioThread->setObjectName("Audio Thread");598 audioThread->setObjectName("Audio Thread");
599 599
600 auto audioIO = DependencyManager::get<AudioClient>();600 auto audioIO = DependencyManager::get<AudioClient>();
601 audioIO->setPositionGetter([this]{ return getMyAvatar()->getPositionForAudio(); });601 audioIO->setPositionGetter([]{
602 audioIO->setOrientationGetter([this]{ return getMyAvatar()->getOrientationForAudio(); });602 auto avatarManager = DependencyManager::get<AvatarManager>();
603 auto myAvatar = avatarManager ? avatarManager->getMyAvatar() : nullptr;
604
605 return myAvatar ? myAvatar->getPositionForAudio() : Vectors::ZERO;
606 });
607 audioIO->setOrientationGetter([]{
608 auto avatarManager = DependencyManager::get<AvatarManager>();
609 auto myAvatar = avatarManager ? avatarManager->getMyAvatar() : nullptr;
610
611 return myAvatar ? myAvatar->getOrientationForAudio() : Quaternions::IDENTITY;
612 });
603 613
604 audioIO->moveToThread(audioThread);614 audioIO->moveToThread(audioThread);
605 recording::Frame::registerFrameHandler(AudioConstants::getAudioFrameName(), [=](recording::Frame::ConstPointer frame) {615 recording::Frame::registerFrameHandler(AudioConstants::getAudioFrameName(), [=](recording::Frame::ConstPointer frame) {