mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-19 07:00:10 -05:00
filter-chain: update channels from filter-graph
Add a filter-graph info structure with the number of inputs and outputs in the graph definition. Use the input/outputs to update the number of channels on the capture and playback streams when not explicitly given. Also copy over the positions when they match the other stream and were not explicitly specified. Fixes #4404
This commit is contained in:
parent
8c59fae42d
commit
f261b2f96f
3 changed files with 69 additions and 15 deletions
|
|
@ -32,10 +32,24 @@ extern "C" {
|
|||
#define SPA_VERSION_FILTER_GRAPH 0
|
||||
struct spa_filter_graph { struct spa_interface iface; };
|
||||
|
||||
struct spa_filter_graph_info {
|
||||
uint32_t n_inputs;
|
||||
uint32_t n_outputs;
|
||||
|
||||
#define SPA_FILTER_GRAPH_CHANGE_MASK_FLAGS (1u<<0)
|
||||
#define SPA_FILTER_GRAPH_CHANGE_MASK_PROPS (1u<<1)
|
||||
uint64_t change_mask;
|
||||
|
||||
uint64_t flags;
|
||||
struct spa_dict *props;
|
||||
};
|
||||
|
||||
struct spa_filter_graph_events {
|
||||
#define SPA_VERSION_FILTER_GRAPH_EVENTS 0
|
||||
uint32_t version;
|
||||
|
||||
void (*info) (void *object, const struct spa_filter_graph_info *info);
|
||||
|
||||
void (*apply_props) (void *object, enum spa_direction direction, const struct spa_pod *props);
|
||||
|
||||
void (*props_changed) (void *object, enum spa_direction direction);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue