Changes in this update:
- Added the CapabilityAgent base class that is used to build capability agent
implementations.
- Added the ContextManager class that allows multiple Capability Agents to
store and access state. These events include context, which is used to
communicate the state of each capability agent to AVS:
- Recognize
- PlayCommandIssued
- PauseCommandIssued
- NextCommandIssued
- PreviousCommandIssued
- SynchronizeState
- ExceptionEncountered
- Implemented the SharedDataStream (SDS) to asynchronously communicate data
between a local reader and writer.
- Added AudioInputProcessor (AIP), an implementation of a SpeechRecognizer
capability agent.
- Added the WakeWord Detector (WWD), which recognizes keywords in audio streams.
v0.3 implements a wrapper for KITT.ai.
- Added a new implementation of AttachmentManager and associated classes for use
with SDS.
- Updated the ACL to support asynchronously sending audio to AVS.
AVSUtils/src/Logger/ThreadIdAsString.cpp, has a static thread_local variable and includes <thread>, and since this file is used indirectly from the ExampleLogger, this issue is showing up as an issue in ExampleLogger.
Currently, ACL and AuthDelegate both find the Threads package and link against in their src/CMakeLists.txt file, so we don't see such issues when creating those libraries. However, AVSUtils does not do this. The fix for this particular issue (https://github.com/alexa/alexa-client-sdk/issues/3) is to find the Threads package and link against it in the AVSUtils library as well, which this commit does. This commit also pulls in the Threads package and links against it in other areas that include <thread> so that we don’t run into this issue down the road by mistake.