mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-12-17 08:56:49 -05:00
alsa: if we are passed a UCM device, make sure to open UCM
UCM devices can require local data from use_case_mgr_open() but since we do that in a separate process, make sure we reopen the use case manager in case we are passed a UCM device so that the config is available. See #1251
This commit is contained in:
parent
1d4b24d02b
commit
e3d3f04780
4 changed files with 34 additions and 6 deletions
|
|
@ -33,6 +33,7 @@ extern "C" {
|
|||
#include <math.h>
|
||||
|
||||
#include <alsa/asoundlib.h>
|
||||
#include <alsa/use-case.h>
|
||||
|
||||
#include <spa/support/plugin.h>
|
||||
#include <spa/support/loop.h>
|
||||
|
|
@ -194,6 +195,8 @@ struct state {
|
|||
double max_error;
|
||||
|
||||
struct spa_latency_info latency;
|
||||
|
||||
snd_use_case_mgr_t *ucm;
|
||||
};
|
||||
|
||||
int
|
||||
|
|
@ -203,6 +206,9 @@ spa_alsa_enum_format(struct state *state, int seq,
|
|||
|
||||
int spa_alsa_set_format(struct state *state, struct spa_audio_info *info, uint32_t flags);
|
||||
|
||||
int spa_alsa_init(struct state *state);
|
||||
int spa_alsa_clear(struct state *state);
|
||||
|
||||
int spa_alsa_open(struct state *state);
|
||||
int spa_alsa_start(struct state *state);
|
||||
int spa_alsa_reassign_follower(struct state *state);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue