struct pa_sample_spec | サンプルスペック構造体 |
---|---|
pa_sample_spec_init | 構造体を初期化 |
pa_sample_spec_equal | 2つの構造体が同じか |
pa_sample_spec_valid | 値が有効か |
pa_bytes_per_second | 1秒間のバッファのバイト数を返す |
pa_frame_size | 1フレームのサイズを取得 |
pa_sample_size | 1サンプルのサイズを取得 |
pa_bytes_to_usec | バッファサイズから時間を計算 |
pa_usec_to_bytes | 指定時間の再生に必要なバッファサイズを計算 |
サポート | |
pa_channels_valid | 指定チャンネル数がサポートされているか |
pa_sample_format_valid | 指定フォーマットがサポートされているか |
pa_sample_rate_valid | 指定サンプルレートがサポートされているか |
フォーマット | |
pa_sample_size_of_format | 指定フォーマットのサンプルサイズを取得 |
pa_sample_format_is_be | 指定フォーマットがビッグエンディアンか |
pa_sample_format_is_le | 指定フォーマットがリトルエンディアンか |
文字列 | |
pa_bytes_snprint | バイト数を文字列にして返す |
pa_sample_format_to_string | 指定フォーマットを文字列にして返す |
pa_sample_spec_snprint | 指定構造体を文字列にする |
pa_parse_sample_format | 文字列を解析してサンプル構造体を取得 |
typedef struct pa_sample_spec { pa_sample_format_t format; uint32_t rate; uint8_t channels; } pa_sample_spec;
サンプルスペック構造体
format
フォーマットタイプ。
PA_SAMPLE_U8 : unsigned 8bit PCM
PA_SAMPLE_ALAW : 8bit a-Law
PA_SAMPLE_ULAW : 8 Bit mu-Law
PA_SAMPLE_S16LE : Signed 16bit PCM, LE
PA_SAMPLE_S16BE : Signed 16bit PCM, BE
PA_SAMPLE_FLOAT32LE : 32bit IEEE floating point, LE, (-1.0 〜 1.0)
PA_SAMPLE_FLOAT32BE : 32bit IEEE floating point, BE
PA_SAMPLE_S32LE : Signed 32bit PCM, LE
PA_SAMPLE_S32BE : Signed 32bit PCM, BE
PA_SAMPLE_S24LE : Signed 24bit PCM packed, LE
PA_SAMPLE_S24BE : Signed 24bit PCM packed, BE
PA_SAMPLE_S24_32LE : Signed 24bit PCM in LSB of 32bit words, LE
PA_SAMPLE_S24_32BE : Signed 24bit PCM in LSB of 32bit words, BE
PA_SAMPLE_INVALID : 無効な値
PA_SAMPLE_U8 : unsigned 8bit PCM
PA_SAMPLE_ALAW : 8bit a-Law
PA_SAMPLE_ULAW : 8 Bit mu-Law
PA_SAMPLE_S16LE : Signed 16bit PCM, LE
PA_SAMPLE_S16BE : Signed 16bit PCM, BE
PA_SAMPLE_FLOAT32LE : 32bit IEEE floating point, LE, (-1.0 〜 1.0)
PA_SAMPLE_FLOAT32BE : 32bit IEEE floating point, BE
PA_SAMPLE_S32LE : Signed 32bit PCM, LE
PA_SAMPLE_S32BE : Signed 32bit PCM, BE
PA_SAMPLE_S24LE : Signed 24bit PCM packed, LE
PA_SAMPLE_S24BE : Signed 24bit PCM packed, BE
PA_SAMPLE_S24_32LE : Signed 24bit PCM in LSB of 32bit words, LE
PA_SAMPLE_S24_32BE : Signed 24bit PCM in LSB of 32bit words, BE
PA_SAMPLE_INVALID : 無効な値
rate
サンプリングレート (Hz)
channels
チャンネル数
pa_sample_spec *pa_sample_spec_init(pa_sample_spec *spec);
spec を初期化し、そのポインタを返す。
この値で pa_sample_spec_valid() を実行しても、失敗する。
この値で pa_sample_spec_valid() を実行しても、失敗する。
int pa_sample_spec_equal(const pa_sample_spec *a, const pa_sample_spec *b);
2つの構造体の値を比較して、同じなら 0 以外を返す。
pa_usec_t pa_bytes_to_usec(uint64_t length, const pa_sample_spec *spec);
指定された仕様で、length のバッファサイズを再生するのにかかる時間を計算する。
戻り値は常に切り捨てられる。
戻り値は常に切り捨てられる。
size_t pa_usec_to_bytes(pa_usec_t t, const pa_sample_spec *spec);
指定された仕様で、t (マイクロ秒) の時間の再生に必要なバッファサイズを計算する。
戻り値は常に切り捨てられる。
戻り値は常に切り捨てられる。
サポート
フォーマット
int pa_sample_format_is_be(pa_sample_format_t f);
指定したフォーマットがビッグエンディアンの場合は 1、リトルエンディアンの場合は 0 を返す。
指定された形式にエンディアンが適用されない場合、またはエンディアンが不明な場合は、-1 を返す。
指定された形式にエンディアンが適用されない場合、またはエンディアンが不明な場合は、-1 を返す。
文字列
const char *pa_sample_format_to_string(pa_sample_format_t f);
指定フォーマットを文字列にして返す。
S16LE なら、"s16le" となる。
S16LE なら、"s16le" となる。