Zao SDK for Jetson / libzao-endpoint API リファレンス 1.5.0.0 (2024-09-25)
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
PcmSinkInterface.hpp
1#ifndef ZAO_ENDPOINT_AUDIO_PCM_SINK_INTERFACE_HPP_
2#define ZAO_ENDPOINT_AUDIO_PCM_SINK_INTERFACE_HPP_
3
4#include <future>
5#include <memory>
6#include <string>
7#include <vector>
8
9#include "../EventSourceInterface.hpp"
10#include "../SinkStreamInterface.hpp"
11#include "../StreamInterface.hpp"
12#include "PcmBufferWriter.hpp"
13#include "PcmFormat.hpp"
14
15namespace zao {
16namespace endpoint {
17namespace audio {
18
19class PcmSinkCallbackInterface;
20
27 public EventSourceInterface<PcmSinkCallbackInterface> {
28 public:
41 virtual void SetAcceptableFormats(const std::vector<PcmFormat>& formats) = 0;
42
55 virtual bool GetDecidedFormat(PcmFormat& format) const noexcept = 0;
56
70 virtual std::shared_future<PcmFormat> GetFormatDecisionStatus()
71 const noexcept = 0;
72
73 virtual ~PcmSinkInterface() noexcept = default;
74};
75
82 public:
87 enum class EventType {
92 kUnknown = 0,
93
98 kDisconnected,
99
104 kUnlinked,
105
110 kDecodeError,
111
116 kFailedFormatNegotiation,
117 };
118
134 virtual bool OnRequestSinkFormat(const PcmFormat& format) = 0;
135
145 virtual void OnNotifySinkEvent(EventType type, const std::string& message) {}
146
153 virtual std::weak_ptr<PcmBufferPoolWriterInterface>
155
156 virtual ~PcmSinkCallbackInterface() noexcept = default;
157};
158
159} // namespace audio
160} // namespace endpoint
161} // namespace zao
162
163#endif // ZAO_ENDPOINT_AUDIO_PCM_SINK_INTERFACE_HPP_
イベントを生成するクラスの共通インターフェース
Definition EventSourceInterface.hpp:27
シンク側ストリーム機能の共通コールバックインターフェース
Definition SinkStreamInterface.hpp:20
シンク側ストリーム機能インターフェース
Definition SinkStreamInterface.hpp:11
ストリーム機能の共通コールバックインターフェース
Definition StreamInterface.hpp:34
エンドポイント側のストリーム機能インターフェース
Definition StreamInterface.hpp:15
PCM音声のフォーマット
Definition PcmFormat.hpp:15
PCMによる音声シンク機能のコールバックインターフェース
Definition PcmSinkInterface.hpp:81
virtual std::weak_ptr< PcmBufferPoolWriterInterface > OnRequestPcmBufferPool()=0
PCMバッファプールの書き込み側を要求するコールバック。
EventType
イベントの種類
Definition PcmSinkInterface.hpp:87
virtual void OnNotifySinkEvent(EventType type, const std::string &message)
エラーなどのイベントが発生した時に呼び出されるコールバック。
Definition PcmSinkInterface.hpp:145
virtual bool OnRequestSinkFormat(const PcmFormat &format)=0
フォーマット決定要求時に呼び出されるコールバック。
PCMによる音声シンク機能インターフェース
Definition PcmSinkInterface.hpp:27
virtual std::shared_future< PcmFormat > GetFormatDecisionStatus() const noexcept=0
フォーマット決定状態を取得するshared_futureを取得する。
virtual bool GetDecidedFormat(PcmFormat &format) const noexcept=0
決定したフォーマットを取得する。
virtual void SetAcceptableFormats(const std::vector< PcmFormat > &formats)=0
受信可能なフォーマット一覧を提示する。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11