PipeWire
0.3.33
|
Data Structures | |
struct | data |
user data to add to an object More... | |
struct | param |
struct | sync |
struct | impl |
struct | endpoint_link |
struct | link |
struct | object_info |
struct | registry_event |
Macros | |
#define | NAME "media-session" |
#define | SESSION_PREFIX "media-session.d" |
#define | SESSION_CONF "media-session.conf" |
#define | sm_object_emit(o, m, v, ...) spa_hook_list_call(&(o)->hooks, struct sm_object_events, m, v, ##__VA_ARGS__) |
#define | sm_object_emit_update(s) sm_object_emit(s, update, 0) |
#define | sm_object_emit_destroy(s) sm_object_emit(s, destroy, 0) |
#define | sm_object_emit_free(s) sm_object_emit(s, free, 0) |
#define | sm_media_session_emit(s, m, v, ...) spa_hook_list_call(&(s)->hooks, struct sm_media_session_events, m, v, ##__VA_ARGS__) |
#define | sm_media_session_emit_info(s, i) sm_media_session_emit(s, info, 0, i) |
#define | sm_media_session_emit_create(s, obj) sm_media_session_emit(s, create, 0, obj) |
#define | sm_media_session_emit_remove(s, obj) sm_media_session_emit(s, remove, 0, obj) |
#define | sm_media_session_emit_rescan(s, seq) sm_media_session_emit(s, rescan, 0, seq) |
#define | sm_media_session_emit_shutdown(s) sm_media_session_emit(s, shutdown, 0) |
#define | sm_media_session_emit_destroy(s) sm_media_session_emit(s, destroy, 0) |
#define | sm_media_session_emit_seat_active(s, ...) sm_media_session_emit(s, seat_active, 0, __VA_ARGS__) |
#define | sm_media_session_emit_dbus_disconnected(s) sm_media_session_emit(s, dbus_disconnected, 0) |
Functions | |
int | sm_access_flatpak_start (struct sm_media_session *sess) |
int | sm_access_portal_start (struct sm_media_session *sess) |
int | sm_default_nodes_start (struct sm_media_session *sess) |
int | sm_default_profile_start (struct sm_media_session *sess) |
int | sm_default_routes_start (struct sm_media_session *sess) |
int | sm_restore_stream_start (struct sm_media_session *sess) |
int | sm_streams_follow_default_start (struct sm_media_session *sess) |
int | sm_alsa_midi_start (struct sm_media_session *sess) |
int | sm_v4l2_monitor_start (struct sm_media_session *sess) |
int | sm_libcamera_monitor_start (struct sm_media_session *sess) |
int | sm_bluez5_monitor_start (struct sm_media_session *sess) |
int | sm_bluez5_autoswitch_start (struct sm_media_session *sess) |
int | sm_alsa_monitor_start (struct sm_media_session *sess) |
int | sm_suspend_node_start (struct sm_media_session *sess) |
int | sm_policy_node_start (struct sm_media_session *sess) |
int | sm_session_manager_start (struct sm_media_session *sess) |
void * | sm_object_add_data (struct sm_object *obj, const char *id, size_t size) |
void * | sm_object_get_data (struct sm_object *obj, const char *id) |
int | sm_object_remove_data (struct sm_object *obj, const char *id) |
int | sm_object_destroy (struct sm_object *obj) |
int | sm_object_sync_update (struct sm_object *obj) |
int | sm_object_add_listener (struct sm_object *obj, struct spa_hook *listener, const struct sm_object_events *events, void *data) |
int | sm_media_session_add_listener (struct sm_media_session *sess, struct spa_hook *listener, const struct sm_media_session_events *events, void *data) |
struct sm_object * | sm_media_session_find_object (struct sm_media_session *sess, uint32_t id) |
int | sm_media_session_destroy_object (struct sm_media_session *sess, uint32_t id) |
int | sm_media_session_for_each_object (struct sm_media_session *sess, int(*callback)(void *data, struct sm_object *object), void *data) |
int | sm_media_session_schedule_rescan (struct sm_media_session *sess) |
int | sm_media_session_sync (struct sm_media_session *sess, void(*callback)(void *data), void *data) |
int | sm_media_session_roundtrip (struct sm_media_session *sess) |
struct pw_proxy * | sm_media_session_export (struct sm_media_session *sess, const char *type, const struct spa_dict *props, void *object, size_t user_data_size) |
struct sm_node * | sm_media_session_export_node (struct sm_media_session *sess, const struct spa_dict *props, struct pw_impl_node *object) |
struct sm_device * | sm_media_session_export_device (struct sm_media_session *sess, const struct spa_dict *props, struct spa_device *object) |
struct pw_proxy * | sm_media_session_create_object (struct sm_media_session *sess, const char *factory_name, const char *type, uint32_t version, const struct spa_dict *props, size_t user_data_size) |
struct sm_node * | sm_media_session_create_node (struct sm_media_session *sess, const char *factory_name, const struct spa_dict *props) |
int | sm_media_session_create_links (struct sm_media_session *sess, const struct spa_dict *dict) |
int | sm_media_session_remove_links (struct sm_media_session *sess, const struct spa_dict *dict) |
int | sm_media_session_load_conf (struct sm_media_session *sess, const char *name, struct pw_properties *conf) |
int | sm_media_session_load_state (struct sm_media_session *sess, const char *name, struct pw_properties *props) |
int | sm_media_session_save_state (struct sm_media_session *sess, const char *name, const struct pw_properties *props) |
char * | sm_media_session_sanitize_name (char *name, int size, char sub, const char *fmt,...) |
char * | sm_media_session_sanitize_description (char *name, int size, char sub, const char *fmt,...) |
int | sm_media_session_seat_active_changed (struct sm_media_session *sess, bool active) |
int | main (int argc, char *argv[]) |
#define NAME "media-session" |
#define SESSION_CONF "media-session.conf" |
#define SESSION_PREFIX "media-session.d" |
#define sm_media_session_emit | ( | s, | |
m, | |||
v, | |||
... | |||
) | spa_hook_list_call(&(s)->hooks, struct sm_media_session_events, m, v, ##__VA_ARGS__) |
#define sm_media_session_emit_create | ( | s, | |
obj | |||
) | sm_media_session_emit(s, create, 0, obj) |
#define sm_media_session_emit_dbus_disconnected | ( | s | ) | sm_media_session_emit(s, dbus_disconnected, 0) |
#define sm_media_session_emit_destroy | ( | s | ) | sm_media_session_emit(s, destroy, 0) |
#define sm_media_session_emit_info | ( | s, | |
i | |||
) | sm_media_session_emit(s, info, 0, i) |
#define sm_media_session_emit_remove | ( | s, | |
obj | |||
) | sm_media_session_emit(s, remove, 0, obj) |
#define sm_media_session_emit_rescan | ( | s, | |
seq | |||
) | sm_media_session_emit(s, rescan, 0, seq) |
#define sm_media_session_emit_seat_active | ( | s, | |
... | |||
) | sm_media_session_emit(s, seat_active, 0, __VA_ARGS__) |
#define sm_media_session_emit_shutdown | ( | s | ) | sm_media_session_emit(s, shutdown, 0) |
#define sm_object_emit | ( | o, | |
m, | |||
v, | |||
... | |||
) | spa_hook_list_call(&(o)->hooks, struct sm_object_events, m, v, ##__VA_ARGS__) |
#define sm_object_emit_destroy | ( | s | ) | sm_object_emit(s, destroy, 0) |
#define sm_object_emit_free | ( | s | ) | sm_object_emit(s, free, 0) |
#define sm_object_emit_update | ( | s | ) | sm_object_emit(s, update, 0) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
int sm_access_flatpak_start | ( | struct sm_media_session * | sess | ) |
References impl::client_list, impl::listener, impl::session, sm_media_session_add_listener(), and spa_list_init().
int sm_access_portal_start | ( | struct sm_media_session * | sess | ) |
References impl::client_list, impl::session, and spa_list_init().
int sm_alsa_midi_start | ( | struct sm_media_session * | sess | ) |
int sm_alsa_monitor_start | ( | struct sm_media_session * | sess | ) |
int sm_bluez5_autoswitch_start | ( | struct sm_media_session * | sess | ) |
int sm_bluez5_monitor_start | ( | struct sm_media_session * | sess | ) |
References impl::conf, impl::device_list, FEATURES_CONF, impl::props, pw_log_info, pw_properties_free(), pw_properties_get(), pw_properties_iterate(), pw_properties_new(), pw_properties_set(), pw_properties_update_string(), impl::seat_active, impl::session, SESSION_CONF, impl::session_listener, sm_media_session_add_listener(), sm_media_session_load_conf(), spa_list_init(), and spa_strerror.
int sm_default_nodes_start | ( | struct sm_media_session * | sess | ) |
int sm_default_profile_start | ( | struct sm_media_session * | sess | ) |
int sm_default_routes_start | ( | struct sm_media_session * | sess | ) |
int sm_libcamera_monitor_start | ( | struct sm_media_session * | sess | ) |
int sm_media_session_add_listener | ( | struct sm_media_session * | sess, |
struct spa_hook * | listener, | ||
const struct sm_media_session_events * | events, | ||
void * | data | ||
) |
References impl::hooks, impl::object_list, sm_media_session_emit_create, SPA_CONTAINER_OF, spa_hook_list_isolate(), spa_hook_list_join(), SPA_ID_INVALID, and spa_list_for_each.
Referenced by sm_access_flatpak_start(), sm_alsa_endpoint_start(), sm_alsa_midi_start(), sm_bluez5_autoswitch_start(), sm_bluez5_endpoint_start(), sm_bluez5_monitor_start(), sm_default_nodes_start(), sm_default_profile_start(), sm_default_routes_start(), sm_media_session_export_metadata(), sm_policy_ep_start(), sm_session_manager_start(), sm_stream_endpoint_start(), sm_suspend_node_start(), and sm_v4l2_endpoint_start().
int sm_media_session_create_links | ( | struct sm_media_session * | sess, |
const struct spa_dict * | dict | ||
) |
References PW_KEY_LINK_OUTPUT_NODE, sm_media_session_roundtrip(), SPA_CONTAINER_OF, and spa_dict_lookup().
struct sm_node* sm_media_session_create_node | ( | struct sm_media_session * | sess, |
const char * | factory_name, | ||
const struct spa_dict * | props | ||
) |
References NAME, pw_log_debug, and SPA_CONTAINER_OF.
struct pw_proxy* sm_media_session_create_object | ( | struct sm_media_session * | sess, |
const char * | factory_name, | ||
const char * | type, | ||
uint32_t | version, | ||
const struct spa_dict * | props, | ||
size_t | user_data_size | ||
) |
References SPA_CONTAINER_OF.
int sm_media_session_destroy_object | ( | struct sm_media_session * | sess, |
uint32_t | id | ||
) |
References pw_registry_destroy, impl::registry, and SPA_CONTAINER_OF.
struct pw_proxy* sm_media_session_export | ( | struct sm_media_session * | sess, |
const char * | type, | ||
const struct spa_dict * | props, | ||
void * | object, | ||
size_t | user_data_size | ||
) |
References impl::monitor_core, NAME, props, pw_core_export(), pw_log_debug, and SPA_CONTAINER_OF.
Referenced by sm_media_session_export_metadata().
struct sm_device* sm_media_session_export_device | ( | struct sm_media_session * | sess, |
const struct spa_dict * | props, | ||
struct spa_device * | object | ||
) |
References impl::monitor_core, NAME, props, pw_core_export(), pw_log_debug, SPA_CONTAINER_OF, and SPA_TYPE_INTERFACE_Device.
struct sm_node* sm_media_session_export_node | ( | struct sm_media_session * | sess, |
const struct spa_dict * | props, | ||
struct pw_impl_node * | object | ||
) |
References impl::monitor_core, NAME, props, pw_core_export(), pw_log_debug, PW_TYPE_INTERFACE_Node, and SPA_CONTAINER_OF.
struct sm_object* sm_media_session_find_object | ( | struct sm_media_session * | sess, |
uint32_t | id | ||
) |
References SPA_CONTAINER_OF.
int sm_media_session_for_each_object | ( | struct sm_media_session * | sess, |
int(*)(void *data, struct sm_object *object) | callback, | ||
void * | data | ||
) |
References impl::object_list, SPA_CONTAINER_OF, SPA_ID_INVALID, and spa_list_for_each.
int sm_media_session_load_conf | ( | struct sm_media_session * | sess, |
const char * | name, | ||
struct pw_properties * | conf | ||
) |
References name, pw_conf_load_conf(), and SESSION_PREFIX.
Referenced by sm_alsa_monitor_start(), sm_bluez5_monitor_start(), and sm_v4l2_monitor_start().
int sm_media_session_load_state | ( | struct sm_media_session * | sess, |
const char * | name, | ||
struct pw_properties * | props | ||
) |
References name, props, pw_conf_load_state(), and SESSION_PREFIX.
Referenced by sm_bluez5_autoswitch_start(), sm_default_nodes_start(), sm_default_profile_start(), and sm_default_routes_start().
int sm_media_session_remove_links | ( | struct sm_media_session * | sess, |
const struct spa_dict * | dict | ||
) |
References PW_KEY_LINK_OUTPUT_NODE, SPA_CONTAINER_OF, and spa_dict_lookup().
int sm_media_session_roundtrip | ( | struct sm_media_session * | sess | ) |
References pw_loop::loop, impl::policy_core, sm_media_session_sync(), SPA_CONTAINER_OF, and impl::this.
Referenced by sm_media_session_create_links().
char* sm_media_session_sanitize_description | ( | char * | name, |
int | size, | ||
char | sub, | ||
const char * | fmt, | ||
... | |||
) |
References name.
char* sm_media_session_sanitize_name | ( | char * | name, |
int | size, | ||
char | sub, | ||
const char * | fmt, | ||
... | |||
) |
References name.
int sm_media_session_save_state | ( | struct sm_media_session * | sess, |
const char * | name, | ||
const struct pw_properties * | props | ||
) |
References name, props, pw_conf_save_state(), and SESSION_PREFIX.
int sm_media_session_schedule_rescan | ( | struct sm_media_session * | sess | ) |
References impl::last_seq, impl::policy_core, pw_core_sync, impl::rescan_pending, impl::rescan_seq, impl::scanning, and SPA_CONTAINER_OF.
int sm_media_session_seat_active_changed | ( | struct sm_media_session * | sess, |
bool | active | ||
) |
References impl::seat_active, sm_media_session_emit_seat_active, and SPA_CONTAINER_OF.
int sm_media_session_sync | ( | struct sm_media_session * | sess, |
void(*)(void *data) | callback, | ||
void * | data | ||
) |
References sync::callback, sync::data, impl::last_seq, sync::link, impl::policy_core, pw_core_sync, sync::seq, SPA_CONTAINER_OF, spa_list_append, and impl::sync_list.
Referenced by sm_media_session_roundtrip().
void* sm_object_add_data | ( | struct sm_object * | obj, |
const char * | id, | ||
size_t | size | ||
) |
int sm_object_add_listener | ( | struct sm_object * | obj, |
struct spa_hook * | listener, | ||
const struct sm_object_events * | events, | ||
void * | data | ||
) |
References spa_hook_list_append().
int sm_object_destroy | ( | struct sm_object * | obj | ) |
void* sm_object_get_data | ( | struct sm_object * | obj, |
const char * | id | ||
) |
int sm_object_remove_data | ( | struct sm_object * | obj, |
const char * | id | ||
) |
int sm_object_sync_update | ( | struct sm_object * | obj | ) |
References pw_log_debug, and pw_proxy_sync().
int sm_policy_node_start | ( | struct sm_media_session * | sess | ) |
References impl::context, DEFAULT_AUDIO_SINK, DEFAULT_AUDIO_SINK_KEY, DEFAULT_AUDIO_SOURCE, DEFAULT_AUDIO_SOURCE_KEY, DEFAULT_CONFIG_AUDIO_SINK_KEY, DEFAULT_CONFIG_AUDIO_SOURCE_KEY, DEFAULT_CONFIG_VIDEO_SOURCE_KEY, DEFAULT_VIDEO_SOURCE, DEFAULT_VIDEO_SOURCE_KEY, impl::defaults, NAME, pw_properties_get(), impl::sample_rate, impl::session, and impl::streams_follow_default.
int sm_restore_stream_start | ( | struct sm_media_session * | sess | ) |
int sm_session_manager_start | ( | struct sm_media_session * | sess | ) |
References impl::context, impl::listener, impl::session, and sm_media_session_add_listener().
int sm_streams_follow_default_start | ( | struct sm_media_session * | sess | ) |
References KEY_NAME, and pw_properties_set().
int sm_suspend_node_start | ( | struct sm_media_session * | sess | ) |
References impl::context, impl::listener, impl::node_list, impl::session, sm_media_session_add_listener(), and spa_list_init().
int sm_v4l2_monitor_start | ( | struct sm_media_session * | sess | ) |
References impl::conf, impl::context, impl::device_list, impl::handle, impl::listener, impl::monitor, pw_context_load_spa_handle(), pw_log_error, pw_log_info, pw_properties_new(), impl::session, SESSION_CONF, sm_media_session_load_conf(), spa_device_add_listener, spa_handle_get_interface, spa_list_init(), SPA_NAME_API_V4L2_ENUM_UDEV, spa_strerror, and SPA_TYPE_INTERFACE_Device.
const char* desc |
const char* name |
Referenced by pw_conf_load_conf(), pw_conf_load_state(), pw_context_create_core(), pw_context_create_device(), pw_context_create_factory(), pw_context_create_metadata(), pw_context_create_node(), pw_context_find_factory(), pw_context_find_protocol(), pw_protocol_new(), sm_alsa_midi_start(), sm_media_session_export_metadata(), sm_media_session_load_conf(), sm_media_session_load_state(), sm_media_session_sanitize_description(), sm_media_session_sanitize_name(), sm_media_session_save_state(), spa_debug_format(), spa_debug_type_find_type(), and spa_debug_type_short_name().
const char* props |
Referenced by pipewire__module_init(), pw_core_export(), pw_filter_add_port(), pw_filter_new_simple(), pw_loop_new(), pw_mempool_new(), pw_properties_add(), pw_properties_add_keys(), pw_properties_update(), pw_properties_update_keys(), pw_properties_update_string(), pw_stream_connect(), pw_stream_new_simple(), sm_media_session_export(), sm_media_session_export_device(), sm_media_session_export_node(), sm_media_session_load_state(), sm_media_session_save_state(), spa_thread_utils_create(), and spa_thread_utils_get_rt_range().
int(* start) (struct sm_media_session *sess) |
Referenced by spa_pod_find_prop(), and spa_pod_object_find_prop().