PipeWire: latency-utils.h File Reference

PipeWire 0.3.34

Data Structures | Macros | Functions
latency-utils.h File Reference

Go to the source code of this file.

## Data Structures
struct | spa_latency_info
struct | spa_process_latency_info

## Macros
#define | SPA_LATENCY_INFO(dir, ...) (struct spa_latency_info) { .direction = (dir), ## __VA_ARGS__ }
#define | SPA_PROCESS_LATENCY_INFO_INIT(...) (struct spa_process_latency_info) { __VA_ARGS__ }

## Functions
int | spa_latency_info_compare (const struct spa_latency_info *a, struct spa_latency_info *b)
int | spa_latency_info_combine (struct spa_latency_info *info, const struct spa_latency_info *other)
int | spa_latency_parse (const struct spa_pod *latency, struct spa_latency_info *info)
struct spa_pod * | spa_latency_build (struct spa_pod_builder *builder, uint32_t id, const struct spa_latency_info *info)
int | spa_process_latency_parse (const struct spa_pod *latency, struct spa_process_latency_info *info)
struct spa_pod * | spa_process_latency_build (struct spa_pod_builder *builder, uint32_t id, const struct spa_process_latency_info *info)
int | spa_process_latency_info_add (const struct spa_process_latency_info *process, struct spa_latency_info *info)

## Macro Definition Documentation

## ◆ SPA_LATENCY_INFO

#define SPA_LATENCY_INFO | ( |  | dir,
|  |  | ...
| ) |  | (struct spa_latency_info) { .direction = (dir), ## __VA_ARGS__ }

## ◆ SPA_PROCESS_LATENCY_INFO_INIT

#define SPA_PROCESS_LATENCY_INFO_INIT | ( |  | ... | ) | (struct spa_process_latency_info) { __VA_ARGS__ }

## Function Documentation

## ◆ spa_latency_build()

struct spa_pod* spa_latency_build | ( | struct spa_pod_builder * | builder,
|  | uint32_t | id,
|  | const struct spa_latency_info * | info
| ) |  |
| inline

References spa_latency_info::direction, spa_latency_info::max_ns, spa_latency_info::max_quantum, spa_latency_info::max_rate, spa_latency_info::min_ns, spa_latency_info::min_quantum, spa_latency_info::min_rate, SPA_PARAM_LATENCY_direction, SPA_PARAM_LATENCY_maxNs, SPA_PARAM_LATENCY_maxQuantum, SPA_PARAM_LATENCY_maxRate, SPA_PARAM_LATENCY_minNs, SPA_PARAM_LATENCY_minQuantum, SPA_PARAM_LATENCY_minRate, spa_pod_builder_add_object, SPA_POD_Float, SPA_POD_Id, SPA_POD_Int, SPA_POD_Long, and SPA_TYPE_OBJECT_ParamLatency.

Referenced by pw_impl_port_recalc_latency().

## ◆ spa_latency_info_combine()

int spa_latency_info_combine | ( | struct spa_latency_info * | info,
|  | const struct spa_latency_info * | other
| ) |  |
| inline

References spa_latency_info::direction, spa_latency_info::max_ns, spa_latency_info::max_quantum, spa_latency_info::max_rate, spa_latency_info::min_ns, spa_latency_info::min_quantum, and spa_latency_info::min_rate.

Referenced by pw_impl_port_recalc_latency().

## ◆ spa_latency_info_compare()

int spa_latency_info_compare | ( | const struct spa_latency_info * | a,
|  | struct spa_latency_info * | b
| ) |  |
| inline

References spa_latency_info::max_ns, spa_latency_info::max_quantum, spa_latency_info::max_rate, spa_latency_info::min_ns, spa_latency_info::min_quantum, and spa_latency_info::min_rate.

Referenced by pw_impl_port_recalc_latency().

## ◆ spa_latency_parse()

int spa_latency_parse | ( | const struct spa_pod * | latency,
|  | struct spa_latency_info * | info
| ) |  |
| inline

References spa_latency_info::direction, spa_latency_info::max_ns, spa_latency_info::max_quantum, spa_latency_info::max_rate, spa_latency_info::min_ns, spa_latency_info::min_quantum, spa_latency_info::min_rate, SPA_PARAM_LATENCY_direction, SPA_PARAM_LATENCY_maxNs, SPA_PARAM_LATENCY_maxQuantum, SPA_PARAM_LATENCY_maxRate, SPA_PARAM_LATENCY_minNs, SPA_PARAM_LATENCY_minQuantum, SPA_PARAM_LATENCY_minRate, SPA_POD_Id, SPA_POD_OPT_Float, SPA_POD_OPT_Int, SPA_POD_OPT_Long, spa_pod_parse_object, SPA_TYPE_OBJECT_ParamLatency, and spa_zero.

## ◆ spa_process_latency_build()

struct spa_pod* spa_process_latency_build | ( | struct spa_pod_builder * | builder,
|  | uint32_t | id,
|  | const struct spa_process_latency_info * | info
| ) |  |
| inline

References spa_process_latency_info::ns, spa_process_latency_info::quantum, spa_process_latency_info::rate, SPA_PARAM_PROCESS_LATENCY_ns, SPA_PARAM_PROCESS_LATENCY_quantum, SPA_PARAM_PROCESS_LATENCY_rate, spa_pod_builder_add_object, SPA_POD_Float, SPA_POD_Int, SPA_POD_Long, and SPA_TYPE_OBJECT_ParamProcessLatency.

## ◆ spa_process_latency_info_add()

int spa_process_latency_info_add | ( | const struct spa_process_latency_info * | process,
|  | struct spa_latency_info * | info
| ) |  |
| inline

## ◆ spa_process_latency_parse()

int spa_process_latency_parse | ( | const struct spa_pod * | latency,
|  | struct spa_process_latency_info * | info
| ) |  |
| inline

References spa_process_latency_info::ns, spa_process_latency_info::quantum, spa_process_latency_info::rate, SPA_PARAM_PROCESS_LATENCY_ns, SPA_PARAM_PROCESS_LATENCY_quantum, SPA_PARAM_PROCESS_LATENCY_rate, SPA_POD_OPT_Float, SPA_POD_OPT_Int, SPA_POD_OPT_Long, spa_pod_parse_object, SPA_TYPE_OBJECT_ParamProcessLatency, and spa_zero.