Zao SDK for Jetson / libzao-endpoint API リファレンス 1.5.0.0 (2024-09-25)
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
20 public:
25 virtual std::size_t GetSamplesPerBuffer() const noexcept = 0;
26
31 virtual std::size_t GetNumOfBuffers() const noexcept = 0;
32
46 virtual void FinalizeWriter(
47 PcmBufferWriter& writer, std::size_t written_samples,
48 TimestampInterface::Rep head_timestamp) noexcept = 0;
49
59 virtual void FinalizeReader(PcmBufferReader& reader) noexcept = 0;
60
61 virtual ~PcmBufferPoolInterface() noexcept = default;
62};
63
64} // namespace audio
65} // namespace endpoint
66} // namespace zao
67
68#include "PcmBufferReader.hpp"
69#include "PcmBufferWriter.hpp"
70
71#endif // ZAO_ENDPOINT_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
タイムスタンプ管理機能のインターフェース
Definition TimestampInterface.hpp:13
PCMバッファプールのインターフェース
Definition PcmBufferPoolInterface.hpp:19
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:14
PCMバッファプールの書き込み側インターフェース
Definition PcmBufferPoolWriterInterface.hpp:14
PCMバッファのReader実装
Definition PcmBufferReader.hpp:25
PCMバッファのWriter実装
Definition PcmBufferWriter.hpp:25
Zao製品共通の名前空間
Definition FactoryInterface.hpp:11