AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
DecoderInterface.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 #ifndef ALEXA_CLIENT_SDK_MEDIAPLAYER_ANDROIDSLESMEDIAPLAYER_INCLUDE_ANDROIDSLESMEDIAPLAYER_DECODERINTERFACE_H_
16 #define ALEXA_CLIENT_SDK_MEDIAPLAYER_ANDROIDSLESMEDIAPLAYER_INCLUDE_ANDROIDSLESMEDIAPLAYER_DECODERINTERFACE_H_
17 
18 #include <utility>
19 
20 namespace alexaClientSDK {
21 namespace mediaPlayer {
22 namespace android {
23 
36 public:
38  using Byte = uint8_t;
39 
41  enum class Status {
43  OK,
45  DONE,
47  ERROR
48  };
49 
58  virtual std::pair<Status, size_t> read(Byte* buffer, size_t size) = 0;
59 
66  virtual void abort() = 0;
67 
71  virtual ~DecoderInterface() = default;
72 };
73 
74 } // namespace android
75 } // namespace mediaPlayer
76 } // namespace alexaClientSDK
77 
78 #endif // ALEXA_CLIENT_SDK_MEDIAPLAYER_ANDROIDSLESMEDIAPLAYER_INCLUDE_ANDROIDSLESMEDIAPLAYER_DECODERINTERFACE_H_
uint8_t Byte
Represents one byte of data.
Definition: DecoderInterface.h:38
Status
Represent the decoder read status.
Definition: DecoderInterface.h:41
virtual std::pair< Status, size_t > read(Byte *buffer, size_t size)=0
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
The decoder has decoded the entire input and there is no more data left to be read.
The read request was successful and there is still more data to be read.

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