Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
PcmSinkBufferDequeueResult.hpp
1#ifndef ZAO_ENDPOINT_AUDIO_PCM_SINK_BUFFER_DEQUEUE_RESULT_HPP_
2#define ZAO_ENDPOINT_AUDIO_PCM_SINK_BUFFER_DEQUEUE_RESULT_HPP_
3
4#include <memory>
5
6#include "PcmSinkBufferInterface.hpp"
7
8namespace zao {
9namespace endpoint {
10namespace audio {
11
18 public:
23 enum class ErrorType {
28 kNone,
29
35
40 kBusy,
41
47 };
48
49 public:
59 std::unique_ptr<PcmSinkBufferInterface> buffer) noexcept
60 : buffer_(std::move(buffer)) {}
61
71 PcmSinkBufferDequeueResult(ErrorType error) noexcept : error_(error) {}
72
78
84 delete;
85
94 default;
95
104 PcmSinkBufferDequeueResult&& other) noexcept = default;
105
110 std::unique_ptr<PcmSinkBufferInterface> TakeBuffer() noexcept {
111 return std::move(buffer_);
112 }
113
118 bool HasError() const noexcept { return error_ != ErrorType::kNone; }
119
124 bool HasAbortedError() const noexcept {
125 return error_ == ErrorType::kAborted;
126 }
127
133 bool HasBusyError() const noexcept { return error_ == ErrorType::kBusy; }
134
139 bool HasNotConfiguredError() const noexcept {
140 return error_ == ErrorType::kNotConfigured;
141 }
142
147 const char* What() const noexcept {
148 switch (error_) {
149 case ErrorType::kNone:
150 return "No error.";
152 return "Aborted by FlushQueue.";
153 case ErrorType::kBusy:
154 return "Buffer is already dequeued.";
156 return "Queue is not configured.";
157 default:
158 return "Unknown error.";
159 }
160 }
161
162 private:
163 std::unique_ptr<PcmSinkBufferInterface> buffer_;
165};
166
167} // namespace audio
168} // namespace endpoint
169} // namespace zao
170
171#endif // ZAO_ENDPOINT_AUDIO_PCM_SINK_BUFFER_DEQUEUE_RESULT_HPP_
PCM受信用バッファの取り出し結果を示す型。
Definition PcmSinkBufferDequeueResult.hpp:17
std::unique_ptr< PcmSinkBufferInterface > TakeBuffer() noexcept
所有権付きでバッファを得る。
Definition PcmSinkBufferDequeueResult.hpp:110
PcmSinkBufferDequeueResult(PcmSinkBufferDequeueResult &&other) noexcept=default
ムーブ構築する。
PcmSinkBufferDequeueResult(const PcmSinkBufferDequeueResult &)=delete
コピー構築禁止。
PcmSinkBufferDequeueResult & operator=(const PcmSinkBufferDequeueResult &)=delete
コピー代入禁止。
PcmSinkBufferDequeueResult & operator=(PcmSinkBufferDequeueResult &&other) noexcept=default
ムーブ代入する。
bool HasBusyError() const noexcept
エラーが発生したか否か(バッファがすでに取り出されている)。
Definition PcmSinkBufferDequeueResult.hpp:133
bool HasError() const noexcept
エラーが発生したか否か。
Definition PcmSinkBufferDequeueResult.hpp:118
const char * What() const noexcept
エラー内容を説明する文字列を取得する。
Definition PcmSinkBufferDequeueResult.hpp:147
bool HasNotConfiguredError() const noexcept
エラーが発生したか否か(キューが設定されていない)。
Definition PcmSinkBufferDequeueResult.hpp:139
PcmSinkBufferDequeueResult(ErrorType error) noexcept
エラー状態を指定して PcmSinkBufferDequeueResult オブジェクトを構築する。
Definition PcmSinkBufferDequeueResult.hpp:71
PcmSinkBufferDequeueResult(std::unique_ptr< PcmSinkBufferInterface > buffer) noexcept
バッファを指定して PcmSinkBufferDequeueResult オブジェクトを構築する。
Definition PcmSinkBufferDequeueResult.hpp:58
bool HasAbortedError() const noexcept
エラーが発生したか否か(FlushQueue により中断された)。
Definition PcmSinkBufferDequeueResult.hpp:124
ErrorType
エラーの種類を示す列挙型。
Definition PcmSinkBufferDequeueResult.hpp:23
@ kNotConfigured
キューが設定されていない。
@ kBusy
バッファがすでに取り出されている。
@ kAborted
FlushQueue により中断された。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11