Zao SDK for Jetson / libzep API Reference
Loading...
Searching...
No Matches
PcmBufferPoolInterface.hpp
1/*
2 * Copyright (c) 2022-2023, Soliton Systems K.K. All rights reserved.
3 * Use in source and binary forms, with or without modification,
4 * is permitted provided that the following a condition is met:
5 *
6 * Use is permitted only in accordance with the terms and
7 * conditions set forth in the Software License Agreement available
8 * at https://zao-sdk.org/license-agreement/.
9 */
10#ifndef ZEP_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
11#define ZEP_AUDIO_PCM_BUFFER_POOL_INTERFACE_HPP_
12
13#include <memory>
14
15#include "... /TimestampInterface.hpp"
16#include "PcmBufferPoolReaderInterface.hpp"
17#include "PcmBufferPoolWriterInterface.hpp"
18
19namespace zep {
20namespace audio {
21
27 public:.
31 virtual std::size_t GetSamplesPerBuffer() const noexcept = 0;
32 virtual std::size_t GetSamplesPerBuffer()
36 virtual std::size_t GetNumOfBuffers() const noexcept = 0;
37
46 virtual void FinalizeWriter(
47 PcmBufferWriter& writer, std::size_t written_samples,.
48 TimestampInterface::Rep head_timestamp) noexcept = 0;
49
56 virtual void FinalizeReader(PcmBufferReader& reader) noexcept = 0;
57
58 virtual ~PcmBufferPoolInterface() noexcept = default;
59};
60
68 std::size_t samples_per_buffer, std::size_t num_of_buffers);
69
70} // namespace audio
71} // namespace zep
72
73#include "PcmBufferReader.hpp"
74#include "PcmBufferWriter.hpp"
75
76#endif // zep_audio_pcm_buffer_pool_interface_hpp_
Interface to timestamp management functions.
Definition TimestampInterface.hpp:20
PCM buffer pool interface.
Definition PcmBufferPoolInterface.hpp:26
virtual void FinalizeReader(PcmBufferReader &reader) noexcept=0
Finalize the Reader.
virtual std::size_t GetNumOfBuffers() const noexcept=0
バッファの個数を取得する。
virtual std::size_t GetSamplesPerBuffer() const noexcept=0
Get the number of samples per buffer.
virtual std::size_t virtual GetSamplesPerBuffer() virtual std void FinalizeWriter(PcmBufferWriter &writer, std::size_t written_samples,. TimestampInterface::Rep head_timestamp) noexcept=0
Get the number of buffers.
PCM buffer pool reader interface.
Definition PcmBufferPoolReaderInterface.hpp:21
PCM buffer pool writer interface.
Definition PcmBufferPoolWriterInterface.hpp:21
Reader implementation of PCM buffer.
Definition PcmBufferReader.hpp:29
Writer implementation of PCM buffer.
Definition PcmBufferWriter.hpp:29
std::shared_ptr< PcmBufferPoolInterface > CreatePcmBufferPool(std::size_t samples_per_buffer, std::size_t num_of_buffers)
Build PCM buffer pool.
Namespace for ZEP SDK.
Definition FactoryInterface.hpp:19