Zao SDK for Jetson / libzao-endpoint API リファレンス 1.2.0.0 (2023-10-30)
Loading...
Searching...
No Matches
PcmBufferPoolInterface.hpp
1#ifndef ZAO_ENDPOINT_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
2#define ZAO_ENDPOINT_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
3
4#include <memory>
5
6#include "../TimestampInterface.hpp"
7#include "PcmBufferPoolReaderInterface.hpp"
8#include "PcmBufferPoolWriterInterface.hpp"
9
10namespace zao {
11namespace endpoint {
12namespace audio {
13
19 public:
23 virtual std::size_t GetSamplesPerBuffer() const noexcept = 0;
24
28 virtual std::size_t GetNumOfBuffers() const noexcept = 0;
29
38 virtual void FinalizeWriter(
39 PcmBufferWriter& writer, std::size_t written_samples,
40 TimestampInterface::Rep head_timestamp) noexcept = 0;
41
48 virtual void FinalizeReader(PcmBufferReader& reader) noexcept = 0;
49
50 virtual ~PcmBufferPoolInterface() noexcept = default;
51};
52
53} // namespace audio
54} // namespace endpoint
55} // namespace zao
56
57#include "PcmBufferReader.hpp"
58#include "PcmBufferWriter.hpp"
59
60#endif // ZAO_ENDPOINT_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
タイムスタンプ管理機能のインターフェース
Definition TimestampInterface.hpp:12
PCMバッファプールのインターフェース
Definition PcmBufferPoolInterface.hpp:18
virtual void FinalizeWriter(PcmBufferWriter &writer, std::size_t written_samples, TimestampInterface::Rep head_timestamp) noexcept=0
Writerのファイナライズ処理を行う。
virtual std::size_t GetSamplesPerBuffer() const noexcept=0
バッファあたりのサンプル数を取得する。
virtual void FinalizeReader(PcmBufferReader &reader) noexcept=0
Readerのファイナライズ処理を行う。
virtual std::size_t GetNumOfBuffers() const noexcept=0
バッファの個数を取得する。
PCMバッファプールの読み込み側インターフェース
Definition PcmBufferPoolReaderInterface.hpp:13
PCMバッファプールの書き込み側インターフェース
Definition PcmBufferPoolWriterInterface.hpp:13
PCMバッファのReader実装
Definition PcmBufferReader.hpp:21
PCMバッファのWriter実装
Definition PcmBufferWriter.hpp:21
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11