diff options
author | Taylor Holberton <taylorcholberton@gmail.com> | 2016-12-01 20:04:04 -0800 |
---|---|---|
committer | Taylor Holberton <taylorcholberton@gmail.com> | 2016-12-01 20:04:04 -0800 |
commit | 77979a8855015803c80a3bc99712ed9b72f96020 (patch) | |
tree | c83b4c96945c55c695c70178baa57b0b2e816d53 | |
parent | 94c7c83c01a1d00a5e36cc77bc1b71a8ebdcd1e9 (diff) |
Added format related getters for PCM
Added functions:
- pcm_get_channels
- pcm_get_rate
- pcm_get_format
These were added since they're required for iterating samples and frames.
-rw-r--r-- | include/tinyalsa/pcm.h | 6 | ||||
-rw-r--r-- | src/pcm.c | 31 |
2 files changed, 37 insertions, 0 deletions
diff --git a/include/tinyalsa/pcm.h b/include/tinyalsa/pcm.h index a6c95ce..41d3fb4 100644 --- a/include/tinyalsa/pcm.h +++ b/include/tinyalsa/pcm.h @@ -240,6 +240,12 @@ int pcm_close(struct pcm *pcm); int pcm_is_ready(const struct pcm *pcm); +unsigned int pcm_get_channels(const struct pcm *pcm); + +unsigned int pcm_get_rate(const struct pcm *pcm); + +enum pcm_format pcm_get_format(const struct pcm *pcm); + int pcm_get_file_descriptor(const struct pcm *pcm); const char *pcm_get_error(const struct pcm *pcm); @@ -204,6 +204,37 @@ unsigned int pcm_get_buffer_size(const struct pcm *pcm) return pcm->buffer_size; } +/** Gets the channel count of the PCM. + * @param pcm A PCM handle. + * @return The channel count of the PCM. + * @ingroup libtinyalsa-pcm + */ +unsigned int pcm_get_channels(const struct pcm *pcm) +{ + return pcm->config.channels; +} + +/** Gets the rate of the PCM. + * The rate is given in frames per second. + * @param pcm A PCM handle. + * @return The rate of the PCM. + * @ingroup libtinyalsa-pcm + */ +unsigned int pcm_get_rate(const struct pcm *pcm) +{ + return pcm->config.rate; +} + +/** Gets the format of the PCM. + * @param pcm A PCM handle. + * @return The format of the PCM. + * @ingroup libtinyalsa-pcm + */ +enum pcm_format pcm_get_format(const struct pcm *pcm) +{ + return pcm->config.format; +} + /** Gets the file descriptor of the PCM. * Useful for extending functionality of the PCM when needed. * @param pcm A PCM handle. |