audioadapter: return result from enum_param directly

There is no need to pass the result in an argument, just return the
value from the function.
This commit is contained in:
Wim Taymans 2021-12-02 10:43:14 +01:00
parent ebd2af612a
commit 77d66d73d1

View file

@ -108,28 +108,29 @@ struct impl {
/** \endcond */ /** \endcond */
static void follower_enum_params(struct impl *this, static int follower_enum_params(struct impl *this,
uint32_t id, uint32_t id,
uint32_t idx, uint32_t idx,
struct spa_result_node_params *result, struct spa_result_node_params *result,
const struct spa_pod *filter, const struct spa_pod *filter,
struct spa_pod_builder *builder, struct spa_pod_builder *builder)
int *res)
{ {
int res;
if (result->next < 0x10000) { if (result->next < 0x10000) {
if ((*res = spa_node_enum_params_sync(this->convert, if ((res = spa_node_enum_params_sync(this->convert,
id, &result->next, filter, &result->param, builder)) == 1) id, &result->next, filter, &result->param, builder)) == 1)
return; return res;
result->next = 0x10000; result->next = 0x10000;
} }
if (result->next >= 0x10000 && this->follower_params_flags[idx] & SPA_PARAM_INFO_READ) { if (result->next >= 0x10000 && this->follower_params_flags[idx] & SPA_PARAM_INFO_READ) {
result->next &= 0xffff; result->next &= 0xffff;
if ((*res = spa_node_enum_params_sync(this->follower, if ((res = spa_node_enum_params_sync(this->follower,
id, &result->next, filter, &result->param, builder)) == 1) { id, &result->next, filter, &result->param, builder)) == 1) {
result->next |= 0x10000; result->next |= 0x10000;
return; return res;
} }
} }
return 0;
} }
static int impl_node_enum_params(void *object, int seq, static int impl_node_enum_params(void *object, int seq,
@ -161,28 +162,28 @@ next:
res = spa_node_enum_params(this->convert, seq, id, start, num, filter); res = spa_node_enum_params(this->convert, seq, id, start, num, filter);
return res; return res;
case SPA_PARAM_PropInfo: case SPA_PARAM_PropInfo:
follower_enum_params(this, id, IDX_PropInfo, &result, filter, &b, &res); if ((res = follower_enum_params(this,
if (res == 1) id, IDX_PropInfo, &result, filter, &b)) != 1)
break; return res;
return res; break;
case SPA_PARAM_Props: case SPA_PARAM_Props:
follower_enum_params(this, id, IDX_Props, &result, filter, &b, &res); if ((res = follower_enum_params(this,
if (res == 1) id, IDX_Props, &result, filter, &b)) != 1)
break; return res;
return res; break;
case SPA_PARAM_ProcessLatency: case SPA_PARAM_ProcessLatency:
follower_enum_params(this, id, IDX_ProcessLatency, &result, filter, &b, &res); if ((res = follower_enum_params(this,
if (res == 1) id, IDX_ProcessLatency, &result, filter, &b)) != 1)
break; return res;
return res; break;
case SPA_PARAM_EnumFormat: case SPA_PARAM_EnumFormat:
case SPA_PARAM_Format: case SPA_PARAM_Format:
case SPA_PARAM_Latency: case SPA_PARAM_Latency:
if ((res = spa_node_port_enum_params_sync(this->follower, if ((res = spa_node_port_enum_params_sync(this->follower,
this->direction, 0, this->direction, 0,
id, &result.next, filter, &result.param, &b)) == 1) id, &result.next, filter, &result.param, &b)) != 1)
break; return res;
return res; break;
default: default:
return -ENOENT; return -ENOENT;
} }