AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
EncoderContext.h
Go to the documentation of this file.
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 
16 #ifndef ALEXA_CLIENT_SDK_SPEECHENCODER_INCLUDE_SPEECHENCODER_ENCODERCONTEXT_H_
17 #define ALEXA_CLIENT_SDK_SPEECHENCODER_INCLUDE_SPEECHENCODER_ENCODERCONTEXT_H_
18 
19 #include <memory>
20 
22 
23 namespace alexaClientSDK {
24 namespace speechencoder {
25 
31 public:
41  virtual bool init(alexaClientSDK::avsCommon::utils::AudioFormat inputFormat) = 0;
42 
50  virtual size_t getInputFrameSize() = 0;
51 
57  virtual size_t getOutputFrameSize() = 0;
58 
73  virtual bool requiresFullyRead() = 0;
74 
81 
88  virtual std::string getAVSFormatName() = 0;
89 
96  virtual bool start() = 0;
97 
109  virtual ssize_t processSamples(void* samples, size_t numberOfWords, uint8_t* buffer) = 0;
110 
115  virtual void close() = 0;
116 
120  virtual ~EncoderContext() = default;
121 };
122 
123 } // namespace speechencoder
124 } // namespace alexaClientSDK
125 
126 #endif // ALEXA_CLIENT_SDK_SPEECHENCODER_INCLUDE_SPEECHENCODER_ENCODERCONTEXT_H_
alexaClientSDK::speechencoder::EncoderContext::getInputFrameSize
virtual size_t getInputFrameSize()=0
alexaClientSDK::speechencoder::EncoderContext::processSamples
virtual ssize_t processSamples(void *samples, size_t numberOfWords, uint8_t *buffer)=0
alexaClientSDK::speechencoder::EncoderContext::close
virtual void close()=0
alexaClientSDK::avsCommon::utils::AudioFormat
Definition: AudioFormat.h:31
AudioFormat.h
alexaClientSDK
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
alexaClientSDK::speechencoder::EncoderContext
Definition: EncoderContext.h:30
alexaClientSDK::speechencoder::EncoderContext::getOutputFrameSize
virtual size_t getOutputFrameSize()=0
alexaClientSDK::speechencoder::EncoderContext::~EncoderContext
virtual ~EncoderContext()=default
alexaClientSDK::speechencoder::EncoderContext::getAudioFormat
virtual alexaClientSDK::avsCommon::utils::AudioFormat getAudioFormat()=0
alexaClientSDK::speechencoder::EncoderContext::requiresFullyRead
virtual bool requiresFullyRead()=0
alexaClientSDK::speechencoder::EncoderContext::init
virtual bool init(alexaClientSDK::avsCommon::utils::AudioFormat inputFormat)=0
alexaClientSDK::speechencoder::EncoderContext::start
virtual bool start()=0
alexaClientSDK::speechencoder::EncoderContext::getAVSFormatName
virtual std::string getAVSFormatName()=0

AlexaClientSDK 1.26.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0