mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
libcemara: take care of index offset when enumerating controls
Add an index offset when enumerating controls. We insert 2 properties before enumerating the controls so the index of the first control needs to have an offset of 2.
This commit is contained in:
parent
a66377cf42
commit
9207fea992
2 changed files with 4 additions and 4 deletions
|
|
@ -273,7 +273,7 @@ next:
|
|||
default:
|
||||
return spa_libcamera_enum_controls(impl,
|
||||
GET_OUT_PORT(impl, 0),
|
||||
seq, result.index - 2, num, filter);
|
||||
seq, result.index, 2, num, filter);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -535,7 +535,7 @@ next:
|
|||
|
||||
switch (id) {
|
||||
case SPA_PARAM_PropInfo:
|
||||
return spa_libcamera_enum_controls(impl, port, seq, start, num, filter);
|
||||
return spa_libcamera_enum_controls(impl, port, seq, start, 0, num, filter);
|
||||
|
||||
case SPA_PARAM_EnumFormat:
|
||||
return spa_libcamera_enum_format(impl, port, seq, start, num, filter);
|
||||
|
|
|
|||
|
|
@ -495,7 +495,7 @@ static uint32_t prop_id_to_control(struct impl *impl, uint32_t prop_id)
|
|||
|
||||
static int
|
||||
spa_libcamera_enum_controls(struct impl *impl, struct port *port, int seq,
|
||||
uint32_t start, uint32_t num,
|
||||
uint32_t start, uint32_t offset, uint32_t num,
|
||||
const struct spa_pod *filter)
|
||||
{
|
||||
const ControlInfoMap &info = impl->camera->controls();
|
||||
|
|
@ -513,7 +513,7 @@ spa_libcamera_enum_controls(struct impl *impl, struct port *port, int seq,
|
|||
result.next = start;
|
||||
|
||||
auto it = info.begin();
|
||||
for (skip = result.next; skip; skip--)
|
||||
for (skip = result.next - offset; skip; skip--)
|
||||
it++;
|
||||
|
||||
if (false) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue