1 #ifndef ZEP_AUDIO_PCM_BUFFER_READER_HPP_     2 #define ZEP_AUDIO_PCM_BUFFER_READER_HPP_     8 #include "../TimestampInterface.hpp"    13 class PcmBufferPoolInterface;
    37                   std::int16_t* pointer, std::size_t readable_samples,
    39       : pool_weak_(pool_weak),
    41         readable_samples_(readable_samples),
    42         head_timestamp_(head_timestamp) {}
    50     *
this = std::move(other);
    60     std::swap(pool_weak_, other.pool_weak_);
    61     std::swap(pointer_, other.pointer_);
    62     std::swap(readable_samples_, other.readable_samples_);
    63     std::swap(head_timestamp_, other.head_timestamp_);
    84   bool IsValid() const noexcept { 
return !!pointer_; }
    93   explicit operator bool() const noexcept { 
return IsValid(); }
   100   const std::int16_t* 
GetPointer() const noexcept { 
return pointer_; }
   114     return head_timestamp_;
   126   std::weak_ptr<PcmBufferPoolInterface> pool_weak_;
   127   const std::int16_t* pointer_ = 
nullptr;
   128   std::size_t readable_samples_ = 0;
   135 #include "PcmBufferPoolInterface.hpp"   141   if (
auto pool = pool_weak_.lock()) {
   142     pool->FinalizeReader(*
this);
   146   readable_samples_ = 0;
   150 #endif  // ZEP_AUDIO_PCM_BUFFER_READER_HPP_ bool IsValid() const noexcept
有効なバッファを保持しているか否かを取得する。 
Definition: PcmBufferReader.hpp:84
std::uint64_t Rep
タイムスタンプの表現に用いる整数型 
Definition: TimestampInterface.hpp:16
TimestampInterface::Rep GetHeadTimestamp() const noexcept
先頭のタイムスタンプを取得する。 
Definition: PcmBufferReader.hpp:113
ZEP SDK用名前空間 
Definition: FactoryInterface.hpp:10
~PcmBufferReader() noexcept
PcmBufferReaderオブジェクトを破棄する。 
Definition: PcmBufferReader.hpp:76
PcmBufferReader & operator=(PcmBufferReader &&other) noexcept
PcmBufferReaderオブジェクトをムーブ代入する。 
Definition: PcmBufferReader.hpp:58
PcmBufferReader() noexcept
PcmBufferReaderオブジェクトを管理対象無しでデフォルト構築する。 
Definition: PcmBufferReader.hpp:26
void Finalize() noexcept
バッファからのデータ読み込み完了を通知する。 
Definition: PcmBufferReader.hpp:137
PcmBufferReader(const std::weak_ptr< PcmBufferPoolInterface > &pool_weak, std::int16_t *pointer, std::size_t readable_samples, TimestampInterface::Rep head_timestamp) noexcept
PcmBufferReaderオブジェクトを構築する。 
Definition: PcmBufferReader.hpp:36
std::size_t GetReadableSamples() const noexcept
有効なサンプル数を取得する。 
Definition: PcmBufferReader.hpp:108
PCMバッファのReader実装 
Definition: PcmBufferReader.hpp:20
const std::int16_t * GetPointer() const noexcept
管理対象バッファの先頭ポインタを取得する。 
Definition: PcmBufferReader.hpp:100
PcmBufferReader(PcmBufferReader &&other) noexcept
PcmBufferReaderオブジェクトをムーブ構築する。 
Definition: PcmBufferReader.hpp:49