media-session: keep track of seq in pw_*_enum_params

If multiple async enum param are running at the same time, take results
only from the latest one.
This commit is contained in:
Pauli Virtanen 2021-04-25 19:11:43 +03:00
parent 5c23dd6311
commit 462c50acd6
2 changed files with 46 additions and 13 deletions

View file

@ -35,6 +35,8 @@ extern "C" {
#define SM_TYPE_MEDIA_SESSION PW_TYPE_INFO_OBJECT_BASE "SessionManager"
#define SM_MAX_PARAMS 32
struct sm_media_session;
struct sm_object_events {
@ -133,6 +135,7 @@ struct sm_device {
#define SM_DEVICE_CHANGE_MASK_NODES (SM_OBJECT_CHANGE_MASK_LAST<<2)
uint32_t n_params;
struct spa_list param_list; /**< list of sm_param */
int param_seq[SM_MAX_PARAMS];
struct pw_device_info *info;
struct spa_list node_list;
};
@ -148,6 +151,7 @@ struct sm_node {
#define SM_NODE_CHANGE_MASK_PORTS (SM_OBJECT_CHANGE_MASK_LAST<<2)
uint32_t n_params;
struct spa_list param_list; /**< list of sm_param */
int param_seq[SM_MAX_PARAMS];
struct pw_node_info *info;
struct spa_list port_list;