Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
NvSourceBufferDequeueResult.hpp
1#ifndef ZAO_ENDPOINT_VIDEO_NV_SOURCE_BUFFER_DEQUEUE_RESULT_HPP_
2#define ZAO_ENDPOINT_VIDEO_NV_SOURCE_BUFFER_DEQUEUE_RESULT_HPP_
3
4#include <memory>
5
6#include "NvBufferInterface.hpp"
7
8namespace zao {
9namespace endpoint {
10namespace video {
11
18 public:
23 enum class ErrorType {
28 kNone,
29
35
41
47
53
59 };
60
61 public:
71 std::unique_ptr<NvBufferInterface> buffer) noexcept
72 : buffer_(std::move(buffer)) {}
73
83 NvSourceBufferDequeueResult(ErrorType error) noexcept : error_(error) {}
84
90
96 delete;
97
106 default;
107
116 NvSourceBufferDequeueResult&& other) noexcept = default;
117
122 std::unique_ptr<NvBufferInterface> TakeBuffer() noexcept {
123 return std::move(buffer_);
124 }
125
130 bool HasError() const noexcept { return error_ != ErrorType::kNone; }
131
136 bool HasAbortedError() const noexcept {
137 return error_ == ErrorType::kAborted;
138 }
139
144 bool HasNotConfiguredError() const noexcept {
145 return error_ == ErrorType::kNotConfigured;
146 }
147
153 bool HasInvalidFormatError() const noexcept {
154 return error_ == ErrorType::kInvalidFormat;
155 }
156
161 bool HasNoEncoderError() const noexcept {
162 return error_ == ErrorType::kNoEncoder;
163 }
164
170 bool HasEncoderInternalError() const noexcept {
171 return error_ == ErrorType::kEncoderInternal;
172 }
173
178 const char* What() const noexcept {
179 switch (error_) {
180 case ErrorType::kNone:
181 return "No error.";
183 return "Aborted by FlushQueue.";
185 return "Queue is not configured.";
187 return "Invalid or unsupported format.";
189 return "Encoder is absent.";
191 return "Internal error of encoder.";
192 default:
193 return "Unknown error.";
194 }
195 }
196
197 private:
198 std::unique_ptr<NvBufferInterface> buffer_;
200};
201
202} // namespace video
203} // namespace endpoint
204} // namespace zao
205
206#endif // ZAO_ENDPOINT_VIDEO_NV_SOURCE_BUFFER_DEQUEUE_RESULT_HPP_
NvBuffer送信用バッファの取り出し結果を示す型。
Definition NvSourceBufferDequeueResult.hpp:17
bool HasError() const noexcept
エラーが発生したか否か。
Definition NvSourceBufferDequeueResult.hpp:130
NvSourceBufferDequeueResult(ErrorType error) noexcept
エラー状態を指定して NvSourceBufferDequeueResult オブジェクトを構築する。
Definition NvSourceBufferDequeueResult.hpp:83
bool HasNoEncoderError() const noexcept
エラーが発生したか否か(エンコーダが存在しない)。
Definition NvSourceBufferDequeueResult.hpp:161
std::unique_ptr< NvBufferInterface > TakeBuffer() noexcept
所有権付きでバッファを得る。
Definition NvSourceBufferDequeueResult.hpp:122
NvSourceBufferDequeueResult(const NvSourceBufferDequeueResult &)=delete
コピー構築禁止。
bool HasEncoderInternalError() const noexcept
エラーが発生したか否か(エンコーダの内部エラー)。
Definition NvSourceBufferDequeueResult.hpp:170
NvSourceBufferDequeueResult & operator=(const NvSourceBufferDequeueResult &)=delete
コピー代入禁止。
NvSourceBufferDequeueResult(std::unique_ptr< NvBufferInterface > buffer) noexcept
バッファを指定して NvSourceBufferDequeueResult オブジェクトを構築する。
Definition NvSourceBufferDequeueResult.hpp:70
bool HasNotConfiguredError() const noexcept
エラーが発生したか否か(キューが設定されていない)。
Definition NvSourceBufferDequeueResult.hpp:144
NvSourceBufferDequeueResult & operator=(NvSourceBufferDequeueResult &&other) noexcept=default
ムーブ代入する。
const char * What() const noexcept
エラー内容を説明する文字列を取得する。
Definition NvSourceBufferDequeueResult.hpp:178
bool HasAbortedError() const noexcept
エラーが発生したか否か(FlushQueue により中断された)。
Definition NvSourceBufferDequeueResult.hpp:136
NvSourceBufferDequeueResult(NvSourceBufferDequeueResult &&other) noexcept=default
ムーブ構築する。
bool HasInvalidFormatError() const noexcept
エラーが発生したか否か(不正または未対応のフォーマット)。
Definition NvSourceBufferDequeueResult.hpp:153
ErrorType
エラーの種類を示す列挙型。
Definition NvSourceBufferDequeueResult.hpp:23
@ kInvalidFormat
不正または未対応のフォーマット。
@ kNotConfigured
キューが設定されていない。
@ kAborted
FlushQueue により中断された。
@ kEncoderInternal
エンコーダの内部エラー。
@ kNoEncoder
エンコーダが存在しない。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11