mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
metadata: Add metadata API
Metadata allows apps to attach properties to objects that can be read by other apps. Not complete yet, properties should be removed when the object is removed.
This commit is contained in:
parent
8ddf579cc0
commit
0a81a982f7
12 changed files with 981 additions and 2 deletions
|
|
@ -87,6 +87,8 @@ struct impl {
|
|||
struct monitor alsa_monitor;
|
||||
struct monitor v4l2_monitor;
|
||||
|
||||
struct sm_metadata *metadata;
|
||||
|
||||
struct spa_dbus *dbus;
|
||||
struct spa_dbus_connection *dbus_connection;
|
||||
DBusConnection *conn;
|
||||
|
|
@ -193,6 +195,7 @@ struct session {
|
|||
#include "alsa-monitor.c"
|
||||
#include "v4l2-monitor.c"
|
||||
#include "bluez-monitor.c"
|
||||
#include "metadata.c"
|
||||
|
||||
static void add_object(struct impl *impl, struct object *obj)
|
||||
{
|
||||
|
|
@ -1244,6 +1247,12 @@ static void start_services(struct impl *impl)
|
|||
else
|
||||
pw_log_debug("got dbus connection %p", impl->conn);
|
||||
|
||||
pw_remote_export(impl->remote,
|
||||
PW_TYPE_INTERFACE_Metadata,
|
||||
NULL,
|
||||
impl->metadata,
|
||||
0);
|
||||
|
||||
bluez5_start_monitor(impl, &impl->bluez5_monitor);
|
||||
alsa_start_monitor(impl, &impl->alsa_monitor);
|
||||
alsa_start_midi_bridge(impl);
|
||||
|
|
@ -1316,6 +1325,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
pw_module_load(impl.core, "libpipewire-module-client-device", NULL, NULL);
|
||||
pw_module_load(impl.core, "libpipewire-module-adapter", NULL, NULL);
|
||||
pw_module_load(impl.core, "libpipewire-module-metadata", NULL, NULL);
|
||||
|
||||
clock_gettime(CLOCK_MONOTONIC, &impl.now);
|
||||
|
||||
|
|
@ -1324,6 +1334,8 @@ int main(int argc, char *argv[])
|
|||
if (pw_remote_connect(impl.remote) < 0)
|
||||
return -1;
|
||||
|
||||
impl.metadata = sm_metadata_new(NULL);
|
||||
|
||||
pw_main_loop_run(impl.loop);
|
||||
|
||||
pw_core_destroy(impl.core);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue