mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-01 22:58:50 -04:00
media-session: make the services more modular
This commit is contained in:
parent
b7aa8f5c85
commit
80ac755670
13 changed files with 567 additions and 354 deletions
|
|
@ -104,11 +104,25 @@ struct sm_port {
|
|||
struct pw_port_info *info;
|
||||
};
|
||||
|
||||
struct sm_session {
|
||||
struct sm_object obj;
|
||||
|
||||
#define SM_SESSION_CHANGE_MASK_INFO (1<<0)
|
||||
uint32_t mask; /**< monitored info */
|
||||
uint32_t avail; /**< available info */
|
||||
uint32_t changed; /**< changed since last update */
|
||||
struct pw_session_info *info;
|
||||
struct spa_list endpoint_list;
|
||||
};
|
||||
|
||||
struct sm_endpoint {
|
||||
struct sm_object obj;
|
||||
|
||||
int32_t priority;
|
||||
|
||||
struct sm_session *session;
|
||||
struct spa_list link; /**< link in session endpoint_list */
|
||||
|
||||
#define SM_ENDPOINT_CHANGE_MASK_INFO (1<<0)
|
||||
#define SM_ENDPOINT_CHANGE_MASK_STREAMS (1<<1)
|
||||
uint32_t mask; /**< monitored info */
|
||||
|
|
@ -163,10 +177,12 @@ struct sm_media_session_events {
|
|||
};
|
||||
|
||||
struct sm_media_session {
|
||||
struct pw_main_loop *loop;
|
||||
struct sm_session *session; /** session object managed by this session */
|
||||
|
||||
struct pw_loop *loop; /** the main loop */
|
||||
struct pw_core *core;
|
||||
|
||||
struct pw_session_info info;
|
||||
struct spa_dbus_connection *dbus_connection;
|
||||
};
|
||||
|
||||
int sm_media_session_add_listener(struct sm_media_session *sess, struct spa_hook *listener,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue