1#ifndef ZAO_ENDPOINT_AUDIO_PCM_SINK_INTERFACE_HPP_
2#define ZAO_ENDPOINT_AUDIO_PCM_SINK_INTERFACE_HPP_
9#include "../EventSourceInterface.hpp"
10#include "../SinkStreamInterface.hpp"
11#include "../StreamInterface.hpp"
12#include "PcmBufferWriter.hpp"
13#include "PcmFormat.hpp"
14#include "PcmSinkBufferDequeueResult.hpp"
15#include "PcmSinkBufferEnqueueResult.hpp"
16#include "PcmSinkBufferInterface.hpp"
22class PcmSinkCallbackInterface;
38 [[deprecated(
"Please use SetSinkFormats function")]]
64 [[deprecated(
"Please use GetDeterminedFormat function")]]
90 [[deprecated(
"Please use GetDeterminedFormatAsync function")]]
127 std::size_t num_of_buffers) = 0;
145 std::unique_ptr<PcmSinkBufferInterface> buffer) = 0;
203 kFailedFormatNegotiation,
240#ifndef LIBZAO_ENDPOINT_INTERNAL
241 [[deprecated(
"Never called when new pull-type API is selected.")]]
イベントを生成するクラスの共通インターフェース
Definition EventSourceInterface.hpp:31
シンク側ストリーム機能の共通コールバックインターフェース
Definition SinkStreamInterface.hpp:24
シンク側ストリーム機能インターフェース
Definition SinkStreamInterface.hpp:11
ストリーム機能の共通コールバックインターフェース
Definition StreamInterface.hpp:37
エンドポイント側のストリーム機能インターフェース
Definition StreamInterface.hpp:15
PCM受信用バッファの取り出し結果を示す型。
Definition PcmSinkBufferDequeueResult.hpp:17
PCM受信用バッファの格納結果を示す型。
Definition PcmSinkBufferEnqueueResult.hpp:13
PCMによる音声シンク機能のコールバックインターフェース
Definition PcmSinkInterface.hpp:168
virtual std::weak_ptr< PcmBufferPoolWriterInterface > OnRequestPcmBufferPool()
PCMバッファプールの書き込み側を要求するコールバック。
Definition PcmSinkInterface.hpp:243
EventType
イベントの種類
Definition PcmSinkInterface.hpp:174
virtual void OnNotifySinkEvent(EventType type, const std::string &message)
エラーなどのイベントが発生した時に呼び出されるコールバック。
Definition PcmSinkInterface.hpp:232
virtual ~PcmSinkCallbackInterface() noexcept=default
PcmSinkCallbackInterface オブジェクトを破棄する。
virtual bool OnRequestSinkFormat(const PcmFormat &format)=0
フォーマット決定要求時に呼び出されるコールバック。
PCMによる音声シンク機能インターフェース
Definition PcmSinkInterface.hpp:30
bool GetDecidedFormat(PcmFormat &format) const
決定したフォーマットを取得する。
Definition PcmSinkInterface.hpp:65
virtual PcmSinkBufferDequeueResult DequeueSinkBuffer()=0
PCMを受信するためのバッファをキューから出す。
virtual void FlushQueue()=0
キューの内容を破棄する。
virtual void ConfigureQueue(std::size_t samples_per_buffer, std::size_t num_of_buffers)=0
キューの設定を行う。
void SetAcceptableFormats(const std::vector< PcmFormat > &formats)
受信可能なフォーマット一覧を提示する。
Definition PcmSinkInterface.hpp:39
virtual ~PcmSinkInterface() noexcept=default
PcmSinkInterface オブジェクトを破棄する。
virtual bool GetDeterminedFormat(PcmFormat &format) const =0
決定したフォーマットを取得する。
virtual PcmSinkBufferEnqueueResult EnqueueSinkBuffer(std::unique_ptr< PcmSinkBufferInterface > buffer)=0
PCMを受信した後のバッファをキューに返却する。
virtual std::shared_future< PcmFormat > GetDeterminedFormatAsync() const =0
フォーマット決定状態を取得するshared_futureを取得する。
std::shared_future< PcmFormat > GetFormatDecisionStatus() const
フォーマット決定状態を取得するshared_futureを取得する。
Definition PcmSinkInterface.hpp:91
virtual void SetSinkFormats(const std::vector< PcmFormat > &formats)=0
受信可能なフォーマット一覧を提示する。
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11