Zao SDK for Jetson / libzao-endpoint API リファレンス 1.6.0.0 (2024-12-24)
Loading...
Searching...
No Matches
Public Member Functions | List of all members
zao::endpoint::audio::PcmBufferWriter Class Referencefinal

PCMバッファのWriter実装 More...

#include <PcmBufferWriter.hpp>

Public Member Functions

 PcmBufferWriter () noexcept
 PcmBufferWriter オブジェクトを管理対象無しでデフォルト構築する。
 
 PcmBufferWriter (std::weak_ptr< PcmBufferPoolInterface > pool_weak, std::int16_t *pointer, std::size_t writable_samples) noexcept
 PcmBufferWriter オブジェクトを構築する。
 
 PcmBufferWriter (PcmBufferWriter &&other) noexcept
 PcmBufferWriter オブジェクトをムーブ構築する。
 
PcmBufferWriteroperator= (PcmBufferWriter &&other) noexcept
 PcmBufferWriter オブジェクトをムーブ代入する。
 
 PcmBufferWriter (const PcmBufferWriter &)=delete
 
PcmBufferWriteroperator= (const PcmBufferWriter &)=delete
 
 ~PcmBufferWriter () noexcept
 PcmBufferWriter オブジェクトを破棄する。
 
bool IsValid () const noexcept
 有効なバッファを保持しているか否かを取得する。
 
 operator bool () const noexcept
 有効なバッファを保持しているか否かを取得する。
 
std::int16_t * GetPointer () const noexcept
 管理対象バッファの先頭ポインタを取得する
 
std::size_t GetWritableSamples () const noexcept
 書き込める最大サンプル数を取得する。
 
void Finalize (std::size_t written_samples, TimestampInterface::Rep head_timestamp) noexcept
 バッファへのデータ書き込み完了を通知する。
 
void Cancel () noexcept
 バッファへのデータ書き込みキャンセルを通知する。
 

Detailed Description

PCMバッファのWriter実装

Note
本バッファにはチャネル数という概念が存在しない。 よって容量や有効要素数は全チャンネル合計分のサンプル数になる。

Constructor & Destructor Documentation

◆ PcmBufferWriter() [1/3]

zao::endpoint::audio::PcmBufferWriter::PcmBufferWriter ( )
inlinenoexcept

PcmBufferWriter オブジェクトを管理対象無しでデフォルト構築する。

Postcondition
IsValid() == false

◆ PcmBufferWriter() [2/3]

zao::endpoint::audio::PcmBufferWriter::PcmBufferWriter ( std::weak_ptr< PcmBufferPoolInterface pool_weak,
std::int16_t *  pointer,
std::size_t  writable_samples 
)
inlinenoexcept

PcmBufferWriter オブジェクトを構築する。

Parameters
pool_weak所有しているプール
pointer管理対象バッファ
writable_samples書き込み可能なサンプル数

◆ PcmBufferWriter() [3/3]

zao::endpoint::audio::PcmBufferWriter::PcmBufferWriter ( PcmBufferWriter &&  other)
inlinenoexcept

PcmBufferWriter オブジェクトをムーブ構築する。

Parameters
otherムーブ元

Member Function Documentation

◆ Cancel()

void zao::endpoint::audio::PcmBufferWriter::Cancel ( )
inlinenoexcept

バッファへのデータ書き込みキャンセルを通知する。

Note
この関数を呼んだ後は、GetPointer()の返すポインタへ アクセスしてはならない。
Postcondition
IsValid() == false

◆ Finalize()

void zao::endpoint::audio::PcmBufferWriter::Finalize ( std::size_t  written_samples,
TimestampInterface::Rep  head_timestamp 
)
inlinenoexcept

バッファへのデータ書き込み完了を通知する。

Note
この関数を呼んだ後は、 GetPointer()の返すポインタへアクセスしてはならない。
Postcondition
IsValid() == false
Parameters
written_samples書き込まれた有効サンプル数 (0の場合、キャンセルと見なす)
head_timestamp先頭サンプルのタイムスタンプ値
Note
タイムスタンプの進みが蓄積中のバッファと連続しない場合、 または、書き込まれたサンプル数がチャネル数の倍数では無い場合、 データの破棄や0埋めなどの調整処理が行われる可能性がある。

◆ GetPointer()

std::int16_t * zao::endpoint::audio::PcmBufferWriter::GetPointer ( ) const
inlinenoexcept

管理対象バッファの先頭ポインタを取得する

Return values
nullptr管理対象バッファが無い
not-nullptr管理対象バッファの先頭ポインタ

◆ GetWritableSamples()

std::size_t zao::endpoint::audio::PcmBufferWriter::GetWritableSamples ( ) const
inlinenoexcept

書き込める最大サンプル数を取得する。

Note
チャネル毎ではなく、全チャネル合計のサンプル数となる。
単位はサンプル数であり、バイト数ではない。
Return values
0書き込める要素がない (有効なバッファを保持していない場合も含む)

◆ IsValid()

bool zao::endpoint::audio::PcmBufferWriter::IsValid ( ) const
inlinenoexcept

有効なバッファを保持しているか否かを取得する。

Return values
true有効なバッファを保持している
false有効なバッファを保持していない

◆ operator bool()

zao::endpoint::audio::PcmBufferWriter::operator bool ( ) const
inlineexplicitnoexcept

有効なバッファを保持しているか否かを取得する。

See also
IsValid()
Return values
true有効なバッファを保持している
false有効なバッファを保持していない

◆ operator=()

PcmBufferWriter & zao::endpoint::audio::PcmBufferWriter::operator= ( PcmBufferWriter &&  other)
inlinenoexcept

PcmBufferWriter オブジェクトをムーブ代入する。

Parameters
otherムーブ元

The documentation for this class was generated from the following file: