diff options
-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. |