spa: add Latency param and object

Add a new latency param that contains a latency object.
The latency object contains the min and max delay from a port to
the terminal sink/source. It is also possible to express this
delay as a fraction of the quantum to avoid having to recalculate
the latency every time the quantum changes.
This commit is contained in:
Wim Taymans 2021-05-21 09:55:31 +02:00
parent 46ef88e520
commit 1a8f274a80
4 changed files with 24 additions and 0 deletions

View file

@ -56,6 +56,7 @@ enum spa_param_type {
SPA_PARAM_EnumRoute, /**< routing enumeration as SPA_TYPE_OBJECT_ParamRoute */
SPA_PARAM_Route, /**< routing configuration as SPA_TYPE_OBJECT_ParamRoute */
SPA_PARAM_Control, /**< Control parameter, a SPA_TYPE_Sequence */
SPA_PARAM_Latency, /**< latency reporting, a SPA_TYPE_OBJECT_ParamLatency */
};
/** information about a parameter */
@ -172,6 +173,15 @@ enum spa_param_route {
};
/** properties for SPA_TYPE_OBJECT_ParamLatency */
enum spa_param_latency {
SPA_PARAM_LATENCY_START,
SPA_PARAM_LATENCY_direction, /**< direction, input/output (Id enum spa_direction) */
SPA_PARAM_LATENCY_quantum, /**< latency relative to quantum (Float) */
SPA_PARAM_LATENCY_min, /**< min latency (Int) relative to rate */
SPA_PARAM_LATENCY_max, /**< max latency (Int) relative to rate */
};
/**
* \}
*/