pipewire: module-session-manager: harmonize type of change_mask

The `pw_*_info` structures in core pipewire all have 64-bit change
masks. Convert the change masks in the session manager extension
to 64-bit as the differing sizes can cause problems.

This introduces an API and ABI break unfortunately, but due to
the limited number of users of the session manager extension,
it was deemed safe.

See wireplumber#49
This commit is contained in:
Barnabás Pőcze 2021-12-14 13:45:23 +01:00 committed by Wim Taymans
parent 10755ff115
commit e6e27fe74c
2 changed files with 12 additions and 12 deletions

View file

@ -126,7 +126,7 @@ marshal_pw_session_info(struct spa_pod_builder *b,
spa_pod_builder_add(b,
SPA_POD_Int(info->version),
SPA_POD_Int(info->id),
SPA_POD_Int(info->change_mask),
SPA_POD_Long(info->change_mask),
NULL);
push_dict(b, info->props);
push_param_infos(b, info->n_params, info->params);
@ -143,7 +143,7 @@ do { \
spa_pod_parser_get(p, \
SPA_POD_Int(&version), \
SPA_POD_Int(&(info)->id), \
SPA_POD_Int(&(info)->change_mask), \
SPA_POD_Long(&(info)->change_mask), \
NULL) < 0) \
return -EINVAL; \
\
@ -169,7 +169,7 @@ marshal_pw_endpoint_info(struct spa_pod_builder *b,
SPA_POD_String(info->media_class),
SPA_POD_Int(info->direction),
SPA_POD_Int(info->flags),
SPA_POD_Int(info->change_mask),
SPA_POD_Long(info->change_mask),
SPA_POD_Int(info->n_streams),
SPA_POD_Int(info->session_id),
NULL);
@ -192,7 +192,7 @@ do { \
SPA_POD_String(&(info)->media_class), \
SPA_POD_Int(&(info)->direction), \
SPA_POD_Int(&(info)->flags), \
SPA_POD_Int(&(info)->change_mask), \
SPA_POD_Long(&(info)->change_mask), \
SPA_POD_Int(&(info)->n_streams), \
SPA_POD_Int(&(info)->session_id), \
NULL) < 0) \
@ -218,7 +218,7 @@ marshal_pw_endpoint_stream_info(struct spa_pod_builder *b,
SPA_POD_Int(info->id),
SPA_POD_Int(info->endpoint_id),
SPA_POD_String(info->name),
SPA_POD_Int(info->change_mask),
SPA_POD_Long(info->change_mask),
SPA_POD_Pod(info->link_params),
NULL);
push_dict(b, info->props);
@ -238,7 +238,7 @@ do { \
SPA_POD_Int(&(info)->id), \
SPA_POD_Int(&(info)->endpoint_id), \
SPA_POD_String(&(info)->name), \
SPA_POD_Int(&(info)->change_mask), \
SPA_POD_Long(&(info)->change_mask), \
SPA_POD_Pod(&(info)->link_params), \
NULL) < 0) \
return -EINVAL; \
@ -266,7 +266,7 @@ marshal_pw_endpoint_link_info(struct spa_pod_builder *b,
SPA_POD_Int(info->output_stream_id),
SPA_POD_Int(info->input_endpoint_id),
SPA_POD_Int(info->input_stream_id),
SPA_POD_Int(info->change_mask),
SPA_POD_Long(info->change_mask),
SPA_POD_Int(info->state),
SPA_POD_String(info->error),
NULL);
@ -290,7 +290,7 @@ do { \
SPA_POD_Int(&(info)->output_stream_id), \
SPA_POD_Int(&(info)->input_endpoint_id), \
SPA_POD_Int(&(info)->input_stream_id), \
SPA_POD_Int(&(info)->change_mask), \
SPA_POD_Long(&(info)->change_mask), \
SPA_POD_Int(&(info)->state), \
SPA_POD_String(&(info)->error), \
NULL) < 0) \

View file

@ -53,7 +53,7 @@ struct pw_session_info {
#define PW_SESSION_CHANGE_MASK_PROPS (1 << 0)
#define PW_SESSION_CHANGE_MASK_PARAMS (1 << 1)
#define PW_SESSION_CHANGE_MASK_ALL ((1 << 2)-1)
uint32_t change_mask; /**< bitfield of changed fields since last call */
uint64_t change_mask; /**< bitfield of changed fields since last call */
struct spa_dict *props; /**< extra properties */
struct spa_param_info *params; /**< parameters */
uint32_t n_params; /**< number of items in \a params */
@ -73,7 +73,7 @@ struct pw_endpoint_info {
#define PW_ENDPOINT_CHANGE_MASK_PROPS (1 << 2)
#define PW_ENDPOINT_CHANGE_MASK_PARAMS (1 << 3)
#define PW_ENDPOINT_CHANGE_MASK_ALL ((1 << 4)-1)
uint32_t change_mask; /**< bitfield of changed fields since last call */
uint64_t change_mask; /**< bitfield of changed fields since last call */
uint32_t n_streams; /**< number of streams available */
uint32_t session_id; /**< the id of the controlling session */
struct spa_dict *props; /**< extra properties */
@ -91,7 +91,7 @@ struct pw_endpoint_stream_info {
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PROPS (1 << 1)
#define PW_ENDPOINT_STREAM_CHANGE_MASK_PARAMS (1 << 2)
#define PW_ENDPOINT_STREAM_CHANGE_MASK_ALL ((1 << 3)-1)
uint32_t change_mask; /**< bitfield of changed fields since last call */
uint64_t change_mask; /**< bitfield of changed fields since last call */
struct spa_pod *link_params; /**< information for linking this stream */
struct spa_dict *props; /**< extra properties */
struct spa_param_info *params; /**< parameters */
@ -111,7 +111,7 @@ struct pw_endpoint_link_info {
#define PW_ENDPOINT_LINK_CHANGE_MASK_PROPS (1 << 1)
#define PW_ENDPOINT_LINK_CHANGE_MASK_PARAMS (1 << 2)
#define PW_ENDPOINT_LINK_CHANGE_MASK_ALL ((1 << 3)-1)
uint32_t change_mask; /**< bitfield of changed fields since last call */
uint64_t change_mask; /**< bitfield of changed fields since last call */
enum pw_endpoint_link_state state; /**< the state of the link */
char *error; /**< error string if state == ERROR */
struct spa_dict *props; /**< extra properties */