Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
PcmSourceInterface.hpp
1#ifndef ZAO_ENDPOINT_AUDIO_PCM_SOURCE_INTERFACE_HPP_
2#define ZAO_ENDPOINT_AUDIO_PCM_SOURCE_INTERFACE_HPP_
3
4#include <future>
5#include <memory>
6#include <string>
7#include <vector>
8
9#include "../EventSourceInterface.hpp"
10#include "../SourceStreamInterface.hpp"
11#include "../StreamInterface.hpp"
12#include "PcmBufferWriter.hpp"
13#include "PcmFormat.hpp"
14#include "PcmSourceBufferDequeueResult.hpp"
15#include "PcmSourceBufferEnqueueResult.hpp"
16
17namespace zao {
18namespace endpoint {
19
20class TimestampInterface;
21
22namespace audio {
23
24class PcmSourceCallbackInterface;
25
31 : public StreamInterface,
33 public EventSourceInterface<PcmSourceCallbackInterface> {
34 public:
41 [[deprecated("Please use SetSourceFormats function")]]
42 void SetAcceptableFormats(const std::vector<PcmFormat>& formats) {
43 return SetSourceFormats(formats);
44 }
45
59 virtual void SetSourceFormats(const std::vector<PcmFormat>& formats) = 0;
60
67 [[deprecated("Please use GetDeterminedFormat function")]]
68 bool GetDecidedFormat(PcmFormat& format) const {
69 return GetDeterminedFormat(format);
70 }
71
85 virtual bool GetDeterminedFormat(PcmFormat& format) const = 0;
86
93 [[deprecated("Please use GetDeterminedFormatAsync function")]]
94 std::shared_future<PcmFormat> GetFormatDecisionStatus() const {
96 }
97
112 virtual std::shared_future<PcmFormat> GetDeterminedFormatAsync() const = 0;
113
122#ifndef LIBZAO_ENDPOINT_INTERNAL
123 [[deprecated("Please use {Dequeue,Enqueue}SourceBuffer APIs")]]
124#endif
125 virtual std::weak_ptr<PcmBufferPoolWriterInterface> GetPcmBufferPool() = 0;
126
133
143 std::unique_ptr<PcmSourceBufferInterface> buffer) = 0;
144
152 virtual void FlushQueue() = 0;
153
158 virtual ~PcmSourceInterface() noexcept = default;
159};
160
167 public:
172 enum class EventType {
177 kUnknown = 0,
178
183 kDisconnected,
184
189 kUnlinked,
190
195 kEncodeError,
196
201 kFailedFormatNegotiation,
202 };
203
219 virtual bool OnRequestSourceFormat(const PcmFormat& format) = 0;
220
240 virtual void OnDecideSourceFormat(const PcmFormat* format) = 0;
241
251 virtual void OnNotifySourceEvent(EventType type, const std::string& message) {
252 }
253
258 virtual ~PcmSourceCallbackInterface() noexcept = default;
259};
260
261} // namespace audio
262} // namespace endpoint
263} // namespace zao
264
265#endif // ZAO_ENDPOINT_AUDIO_PCM_SOURCE_INTERFACE_HPP_
イベントを生成するクラスの共通インターフェース
Definition EventSourceInterface.hpp:31
ソース側ストリーム機能の共通コールバックインターフェース
Definition SourceStreamInterface.hpp:35
ソース側ストリーム機能インターフェース
Definition SourceStreamInterface.hpp:11
ストリーム機能の共通コールバックインターフェース
Definition StreamInterface.hpp:37
エンドポイント側のストリーム機能インターフェース
Definition StreamInterface.hpp:15
PCM音声のフォーマット
Definition PcmFormat.hpp:15
PCM送信用バッファの取り出し結果を示す型。
Definition PcmSourceBufferDequeueResult.hpp:17
PCM送信用バッファの格納結果を示す型。
Definition PcmSourceBufferEnqueueResult.hpp:13
PCMによる音声ソース機能のコールバックインターフェース
Definition PcmSourceInterface.hpp:166
virtual bool OnRequestSourceFormat(const PcmFormat &format)=0
フォーマット決定要求時に呼び出されるコールバック。
virtual void OnNotifySourceEvent(EventType type, const std::string &message)
エラーなどのイベントが発生した時に呼び出されるコールバック
Definition PcmSourceInterface.hpp:251
virtual ~PcmSourceCallbackInterface() noexcept=default
PcmSourceCallbackInterface オブジェクトを破棄する。
EventType
イベントの種類
Definition PcmSourceInterface.hpp:172
virtual void OnDecideSourceFormat(const PcmFormat *format)=0
フォーマットが決定された時に呼び出されるコールバック
PCMによる音声ソース機能インターフェース
Definition PcmSourceInterface.hpp:33
virtual bool GetDeterminedFormat(PcmFormat &format) const =0
決定したフォーマットを取得する。
virtual std::weak_ptr< PcmBufferPoolWriterInterface > GetPcmBufferPool()=0
PCMバッファプールの書き込み側インターフェースを取得する。
virtual PcmSourceBufferEnqueueResult EnqueueSourceBuffer(std::unique_ptr< PcmSourceBufferInterface > buffer)=0
PCMを供給するためのバッファをキューに入れる。
virtual void FlushQueue()=0
キューの内容を破棄する。
virtual std::shared_future< PcmFormat > GetDeterminedFormatAsync() const =0
フォーマット決定状態を取得するshared_futureを取得する
bool GetDecidedFormat(PcmFormat &format) const
決定したフォーマットを取得する。
Definition PcmSourceInterface.hpp:68
virtual PcmSourceBufferDequeueResult DequeueSourceBuffer()=0
PCMを供給するためのバッファをキューから出す。
void SetAcceptableFormats(const std::vector< PcmFormat > &formats)
送信可能なフォーマット一覧を提示する
Definition PcmSourceInterface.hpp:42
std::shared_future< PcmFormat > GetFormatDecisionStatus() const
フォーマット決定状態を取得するshared_futureを取得する
Definition PcmSourceInterface.hpp:94
virtual ~PcmSourceInterface() noexcept=default
PcmSourceInterface オブジェクトを破棄する。
virtual void SetSourceFormats(const std::vector< PcmFormat > &formats)=0
送信可能なフォーマット一覧を提示する
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11