mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-06 13:30:01 -05:00
Fix up audio formats as well
This commit is contained in:
parent
b67c216a04
commit
a973007a49
12 changed files with 82 additions and 58 deletions
|
|
@ -83,8 +83,8 @@ struct _SpaALSASink {
|
|||
void *user_data;
|
||||
|
||||
bool have_format;
|
||||
SpaAudioRawFormat query_format;
|
||||
SpaAudioRawFormat current_format;
|
||||
SpaFormatAudio query_format;
|
||||
SpaFormatAudio current_format;
|
||||
|
||||
SpaALSAState state;
|
||||
|
||||
|
|
@ -351,10 +351,14 @@ spa_alsa_sink_node_port_enum_formats (SpaNode *node,
|
|||
|
||||
switch (index) {
|
||||
case 0:
|
||||
spa_audio_raw_format_init (&this->query_format);
|
||||
spa_format_audio_init (SPA_MEDIA_TYPE_AUDIO,
|
||||
SPA_MEDIA_SUBTYPE_RAW,
|
||||
&this->query_format);
|
||||
break;
|
||||
case 1:
|
||||
spa_audio_raw_format_init (&this->query_format);
|
||||
spa_format_audio_init (SPA_MEDIA_TYPE_AUDIO,
|
||||
SPA_MEDIA_SUBTYPE_AAC,
|
||||
&this->query_format);
|
||||
break;
|
||||
default:
|
||||
return SPA_RESULT_ENUM_END;
|
||||
|
|
@ -387,7 +391,7 @@ spa_alsa_sink_node_port_set_format (SpaNode *node,
|
|||
return SPA_RESULT_OK;
|
||||
}
|
||||
|
||||
if ((res = spa_audio_raw_format_parse (format, &this->current_format)) < 0)
|
||||
if ((res = spa_format_audio_parse (format, &this->current_format)) < 0)
|
||||
return res;
|
||||
|
||||
if (alsa_set_format (this, &this->current_format, false) < 0)
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ spa_alsa_format_to_alsa (SpaAudioFormat format)
|
|||
}
|
||||
|
||||
static int
|
||||
alsa_set_format (SpaALSASink *this, SpaAudioRawFormat *fmt, bool try_only)
|
||||
alsa_set_format (SpaALSASink *this, SpaFormatAudio *fmt, bool try_only)
|
||||
{
|
||||
unsigned int rrate;
|
||||
snd_pcm_uframes_t size;
|
||||
|
|
@ -113,7 +113,7 @@ alsa_set_format (SpaALSASink *this, SpaAudioRawFormat *fmt, bool try_only)
|
|||
snd_pcm_hw_params_t *params;
|
||||
snd_pcm_format_t format;
|
||||
SpaALSAState *state = &this->state;
|
||||
SpaAudioRawInfo *info = &fmt->info;
|
||||
SpaAudioInfoRaw *info = &fmt->info.raw;
|
||||
snd_pcm_t *handle;
|
||||
unsigned int buffer_time;
|
||||
unsigned int period_time;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue