device: add media.class to global properties

This commit is contained in:
Wim Taymans 2018-11-28 11:12:36 +01:00
parent bf43b55d16
commit 417c1cd756
2 changed files with 4 additions and 3 deletions

View file

@ -111,12 +111,11 @@ pw_spa_device_new(struct pw_core *core,
impl->user_data = SPA_MEMBER(impl, sizeof(struct impl), void);
pw_device_add_listener(this, &impl->device_listener, &device_events, impl);
pw_device_set_implementation(this, impl->device);
if (!SPA_FLAG_CHECK(impl->flags, PW_SPA_DEVICE_FLAG_NO_REGISTER))
pw_device_register(this, impl->owner, impl->parent, NULL);
pw_device_set_implementation(this, impl->device);
return this;
}

View file

@ -155,6 +155,7 @@ int pw_device_register(struct pw_device *device,
struct pw_properties *properties)
{
struct pw_core *core = device->core;
const char *str;
if (properties == NULL)
properties = pw_properties_new(NULL, NULL);
@ -162,6 +163,8 @@ int pw_device_register(struct pw_device *device,
return -ENOMEM;
pw_properties_set(properties, "device.name", device->info.name);
if ((str = pw_properties_get(device->properties, "media.class")) != NULL)
pw_properties_set(properties, "media.class", str);
spa_list_append(&core->device_list, &device->link);
device->registered = true;
@ -294,7 +297,6 @@ static const struct spa_device_callbacks device_callbacks = {
void pw_device_set_implementation(struct pw_device *device, struct spa_device *spa_device)
{
device->implementation = spa_device;
spa_device_set_callbacks(device->implementation, &device_callbacks, device);
}