mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
spa: libcamera: source: simplify control mapping
Remove the `impl` parameter as it is not used, and use C++ range based for loops.
This commit is contained in:
parent
311b3cc37f
commit
f94f4de6ff
1 changed files with 14 additions and 11 deletions
|
|
@ -720,7 +720,7 @@ error:
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct {
|
static const struct {
|
||||||
uint32_t id;
|
uint32_t id;
|
||||||
uint32_t spa_id;
|
uint32_t spa_id;
|
||||||
} control_map[] = {
|
} control_map[] = {
|
||||||
|
|
@ -732,23 +732,26 @@ static struct {
|
||||||
{ libcamera::controls::SHARPNESS, SPA_PROP_sharpness },
|
{ libcamera::controls::SHARPNESS, SPA_PROP_sharpness },
|
||||||
};
|
};
|
||||||
|
|
||||||
static uint32_t control_to_prop_id(struct impl *impl, uint32_t control_id)
|
static uint32_t control_to_prop_id(uint32_t control_id)
|
||||||
{
|
{
|
||||||
SPA_FOR_EACH_ELEMENT_VAR(control_map, c) {
|
for (const auto& c : control_map) {
|
||||||
if (c->id == control_id)
|
if (c.id == control_id)
|
||||||
return c->spa_id;
|
return c.spa_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
return SPA_PROP_START_CUSTOM + control_id;
|
return SPA_PROP_START_CUSTOM + control_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t prop_id_to_control(struct impl *impl, uint32_t prop_id)
|
static uint32_t prop_id_to_control(uint32_t prop_id)
|
||||||
{
|
{
|
||||||
SPA_FOR_EACH_ELEMENT_VAR(control_map, c) {
|
for (const auto& c : control_map) {
|
||||||
if (c->spa_id == prop_id)
|
if (c.spa_id == prop_id)
|
||||||
return c->id;
|
return c.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prop_id >= SPA_PROP_START_CUSTOM)
|
if (prop_id >= SPA_PROP_START_CUSTOM)
|
||||||
return prop_id - SPA_PROP_START_CUSTOM;
|
return prop_id - SPA_PROP_START_CUSTOM;
|
||||||
|
|
||||||
return SPA_ID_INVALID;
|
return SPA_ID_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -786,7 +789,7 @@ next:
|
||||||
ctrl_id = it->first;
|
ctrl_id = it->first;
|
||||||
ctrl_info = it->second;
|
ctrl_info = it->second;
|
||||||
|
|
||||||
id = control_to_prop_id(impl, ctrl_id->id());
|
id = control_to_prop_id(ctrl_id->id());
|
||||||
|
|
||||||
spa_pod_builder_init(&b, buffer, sizeof(buffer));
|
spa_pod_builder_init(&b, buffer, sizeof(buffer));
|
||||||
spa_pod_builder_push_object(&b, &f[0], SPA_TYPE_OBJECT_PropInfo, SPA_PARAM_PropInfo);
|
spa_pod_builder_push_object(&b, &f[0], SPA_TYPE_OBJECT_PropInfo, SPA_PARAM_PropInfo);
|
||||||
|
|
@ -899,7 +902,7 @@ spa_libcamera_set_control(struct impl *impl, const struct spa_pod_prop *prop)
|
||||||
struct val d;
|
struct val d;
|
||||||
uint32_t control_id;
|
uint32_t control_id;
|
||||||
|
|
||||||
control_id = prop_id_to_control(impl, prop->key);
|
control_id = prop_id_to_control(prop->key);
|
||||||
if (control_id == SPA_ID_INVALID)
|
if (control_id == SPA_ID_INVALID)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue