mirror of
https://github.com/openharmony/third_party_tinyalsa.git
synced 2026-07-19 23:33:30 -04:00
pcm: support S24_LE format
S24_LE is 24 bit audio in a 32 bit sample size. Also make the pcm_format_to_bits() function part of the API since it will be required for tinycap.
This commit is contained in:
@@ -150,6 +150,13 @@ int pcm_set_config(struct pcm *pcm, struct pcm_config *config);
|
||||
/* Returns a human readable reason for the last error */
|
||||
const char *pcm_get_error(struct pcm *pcm);
|
||||
|
||||
/* Returns the sample size in bits for a PCM format.
|
||||
* As with ALSA formats, this is the storage size for the format, whereas the
|
||||
* format represents the number of significant bits. For example,
|
||||
* PCM_FORMAT_S24_LE uses 32 bits of storage.
|
||||
*/
|
||||
unsigned int pcm_format_to_bits(enum pcm_format format);
|
||||
|
||||
/* Returns the buffer size (int frames) that should be used for pcm_write. */
|
||||
unsigned int pcm_get_buffer_size(struct pcm *pcm);
|
||||
unsigned int pcm_frames_to_bytes(struct pcm *pcm, unsigned int frames);
|
||||
|
||||
@@ -212,10 +212,11 @@ static unsigned int pcm_format_to_alsa(enum pcm_format format)
|
||||
};
|
||||
}
|
||||
|
||||
static unsigned int pcm_format_to_bits(enum pcm_format format)
|
||||
unsigned int pcm_format_to_bits(enum pcm_format format)
|
||||
{
|
||||
switch (format) {
|
||||
case PCM_FORMAT_S32_LE:
|
||||
case PCM_FORMAT_S24_LE:
|
||||
return 32;
|
||||
default:
|
||||
case PCM_FORMAT_S16_LE:
|
||||
|
||||
Reference in New Issue
Block a user