mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-06 13:30:01 -05:00
make per mix port io and buffers
Move the io areas to a separate memory block. Make per link io areas for the ports Send per mix port io area and buffers
This commit is contained in:
parent
07f12c9713
commit
4f680c224b
11 changed files with 242 additions and 161 deletions
|
|
@ -300,6 +300,13 @@ struct pw_node {
|
|||
void *user_data; /**< extra user data */
|
||||
};
|
||||
|
||||
struct pw_port_implementation {
|
||||
#define PW_VERSION_PORT_IMPLEMENTATION 0
|
||||
uint32_t version;
|
||||
|
||||
void *(*get_io) (void *data, uint32_t id, size_t size);
|
||||
};
|
||||
|
||||
struct pw_port {
|
||||
struct spa_list link; /**< link in node port_list */
|
||||
|
||||
|
|
@ -330,6 +337,9 @@ struct pw_port {
|
|||
|
||||
struct spa_hook_list listener_list;
|
||||
|
||||
const struct pw_port_implementation *implementation;
|
||||
void *implementation_data;
|
||||
|
||||
struct spa_node *mix; /**< optional port buffer mix/split */
|
||||
struct spa_node mix_node; /**< mix node implementation */
|
||||
struct pw_map mix_port_map; /**< map from port_id from mixer */
|
||||
|
|
@ -341,6 +351,7 @@ struct pw_port {
|
|||
struct spa_graph_node mix_node; /**< mixer node */
|
||||
} rt; /**< data only accessed from the data thread */
|
||||
|
||||
void *owner_data; /**< extra owner data */
|
||||
void *user_data; /**< extra user data */
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue