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
598598 audioThread->setObjectName("Audio Thread");
599599
600600 auto audioIO = DependencyManager::get<AudioClient>();
601− audioIO->setPositionGetter([this]{ return getMyAvatar()->getPositionForAudio(); });
602− audioIO->setOrientationGetter([this]{ return getMyAvatar()->getOrientationForAudio(); });
601+ audioIO->setPositionGetter([]{
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+ });
603613
604614 audioIO->moveToThread(audioThread);
605615 recording::Frame::registerFrameHandler(AudioConstants::getAudioFrameName(), [=](recording::Frame::ConstPointer frame) {