Zao SDK for Jetson / libzep API リファレンス  1.0.0.0 (2023-05-08)
PcmBufferPoolInterface.hpp
1 #ifndef ZEP_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
2 #define ZEP_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
3 
4 #include <memory>
5 
6 #include "../TimestampInterface.hpp"
7 #include "PcmBufferPoolReaderInterface.hpp"
8 #include "PcmBufferPoolWriterInterface.hpp"
9 
10 namespace zep {
11 namespace audio {
12 
18  public:
22  virtual std::size_t GetSamplesPerBuffer() const noexcept = 0;
23 
27  virtual std::size_t GetNumOfBuffers() const noexcept = 0;
28 
37  virtual void FinalizeWriter(
38  PcmBufferWriter& writer, std::size_t written_samples,
39  TimestampInterface::Rep head_timestamp) noexcept = 0;
40 
47  virtual void FinalizeReader(PcmBufferReader& reader) noexcept = 0;
48 
49  virtual ~PcmBufferPoolInterface() noexcept = default;
50 };
51 
58 std::shared_ptr<PcmBufferPoolInterface> CreatePcmBufferPool(
59  std::size_t samples_per_buffer, std::size_t num_of_buffers);
60 
61 } // namespace audio
62 } // namespace zep
63 
64 #include "PcmBufferReader.hpp"
65 #include "PcmBufferWriter.hpp"
66 
67 #endif // ZEP_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
std::uint64_t Rep
タイムスタンプの表現に用いる整数型
Definition: TimestampInterface.hpp:16
ZEP SDK用名前空間
Definition: FactoryInterface.hpp:10
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
バッファあたりのサンプル数を取得する。
std::shared_ptr< PcmBufferPoolInterface > CreatePcmBufferPool(std::size_t samples_per_buffer, std::size_t num_of_buffers)
PCMバッファプールを構築する。
virtual void FinalizeReader(PcmBufferReader &reader) noexcept=0
Readerのファイナライズ処理を行う。
PCMバッファプールの読み込み側インターフェース
Definition: PcmBufferPoolReaderInterface.hpp:12
virtual std::size_t GetNumOfBuffers() const noexcept=0
バッファの個数を取得する。
PCMバッファプールのインターフェース
Definition: PcmBufferPoolInterface.hpp:16
PCMバッファのWriter実装
Definition: PcmBufferWriter.hpp:20
PCMバッファのReader実装
Definition: PcmBufferReader.hpp:20
PCMバッファプールの書き込み側インターフェース
Definition: PcmBufferPoolWriterInterface.hpp:12