alsa: add enumeration of DSD formats

This commit is contained in:
Wim Taymans 2021-09-10 12:15:43 +02:00
parent c0d3349849
commit 1b5d02dd31
2 changed files with 188 additions and 119 deletions

View file

@ -535,6 +535,10 @@ impl_node_port_enum_params(void *object, int seq,
param = spa_format_audio_iec958_build(&b, id,
&this->current_format.info.iec958);
break;
case SPA_MEDIA_SUBTYPE_dsd:
param = spa_format_audio_dsd_build(&b, id,
&this->current_format.info.dsd);
break;
default:
return -EIO;
}
@ -664,6 +668,10 @@ static int port_set_format(void *object,
if (spa_format_audio_iec958_parse(format, &info.info.iec958) < 0)
return -EINVAL;
break;
case SPA_MEDIA_SUBTYPE_dsd:
if (spa_format_audio_dsd_parse(format, &info.info.dsd) < 0)
return -EINVAL;
break;
default:
return -EINVAL;
}