10#ifndef ZEP_AUDIO_PCM_SOURCE_INTERFACE_HPP_
11#define ZEP_AUDIO_PCM_SOURCE_INTERFACE_HPP_
17#include <zep/audio/PcmBufferWriter.hpp>
19#include "../SourceStreamInterface.hpp"
20#include "../StreamInterface.hpp"
21#include "PcmFormat.hpp"
25class TimestampInterface;
29class PcmSourceCallbackInterface;
34class PcmSourceInterface :
public StreamInterface,
35 public SourceStreamInterface {
89 virtual
void RegisterCallback(
91 bool use_weak_ptr = false) = 0;
101 virtual
void RegisterCallback(
130 kFailedFormatNegotiation,
Common callback interface for source-side stream functions.
Definition SourceStreamInterface.hpp:34
Common callback interface for stream functions.
Definition StreamInterface.hpp:38
PCM buffer pool writer interface.
Definition PcmBufferPoolWriterInterface.hpp:21
Callback interface for voice source functionality with PCM.
Definition PcmSourceInterface.hpp:110
EventType
Event Type.
Definition PcmSourceInterface.hpp:115
virtual bool OnRequestSourceFormat(const PcmFormat &format)=0
フォーマット決定要求時に呼び出されるコールバック。
virtual void OnNotifySourceEvent(EventType type, const std::string &message)
エラーなどのイベントが発生した時に呼び出されるコールバック。
Definition PcmSourceInterface.hpp:163
virtual void OnDecideSourceFormat(const PcmFormat *format)=0
フォーマットが決定された時に呼び出されるコールバック。
Audio source function interface with PCM.
Definition PcmSourceInterface.hpp:35
virtual std::shared_future< PcmFormat > GetFormatDecisionStatus() const noexcept=0
フォーマット決定状態を取得するshared_futureを取得する。
virtual void SetAcceptableFormats(const std::vector< PcmFormat > &formats)=0
送信可能なフォーマット一覧を提示する。
virtual void SendStatistics()=0
Sending statistics.
virtual bool GetDecidedFormat(PcmFormat &format) const noexcept=0
決定したフォーマットを取得する。
virtual std::weak_ptr< PcmBufferPoolWriterInterface > GetPcmBufferPool()=0
Get the write side interface of the PCM buffer pool.
Namespace for ZEP SDK.
Definition FactoryInterface.hpp:19