PipeWire 1.0.5

Loading...
Searching...
No Matches
latency.h
Go to the documentation of this file.
1/* Simple Plugin API */
2/* SPDX-FileCopyrightText: Copyright © 2023 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef SPA_PARAM_LATENY_H
6#define SPA_PARAM_LATENY_H
7
8#ifdef __cplusplus
9 extern "C" {
10#endif
11
17#include <spa/param/param.h>
18
20 enum spa_param_latency {
21 SPA_PARAM_LATENCY_START,
22 SPA_PARAM_LATENCY_direction,
23 SPA_PARAM_LATENCY_minQuantum,
24 SPA_PARAM_LATENCY_maxQuantum,
25 SPA_PARAM_LATENCY_minRate,
26 SPA_PARAM_LATENCY_maxRate,
27 SPA_PARAM_LATENCY_minNs,
28 SPA_PARAM_LATENCY_maxNs,
29};
30
32 struct spa_latency_info {
33 enum spa_direction direction;
34 float min_quantum;
35 float max_quantum;
36 uint32_t min_rate;
37 uint32_t max_rate;
38 uint64_t min_ns;
39 uint64_t max_ns;
40};
41
42#define SPA_LATENCY_INFO(dir,...) ((struct spa_latency_info) { .direction = (dir), ## __VA_ARGS__ })
43
45 enum spa_param_process_latency {
46 SPA_PARAM_PROCESS_LATENCY_START,
47 SPA_PARAM_PROCESS_LATENCY_quantum,
48 SPA_PARAM_PROCESS_LATENCY_rate,
49 SPA_PARAM_PROCESS_LATENCY_ns,
50};
51
53 struct spa_process_latency_info {
54 float quantum;
55 uint32_t rate;
56 uint64_t ns;
57};
58
59#define SPA_PROCESS_LATENCY_INFO_INIT(...) ((struct spa_process_latency_info) { __VA_ARGS__ })
60
65#ifdef __cplusplus
66} /* extern "C" */
67#endif
68
69#endif /* SPA_PARAM_LATENY_H */
spa_param_process_latency
spa_param_process_latency
properties for SPA_TYPE_OBJECT_ParamProcessLatency
Definition latency.h:51
spa_param_latency
spa_param_latency
properties for SPA_TYPE_OBJECT_ParamLatency
Definition latency.h:25
SPA_PARAM_PROCESS_LATENCY_rate
@ SPA_PARAM_PROCESS_LATENCY_rate
latency (Int) relative to rate
Definition latency.h:54
SPA_PARAM_PROCESS_LATENCY_START
@ SPA_PARAM_PROCESS_LATENCY_START
Definition latency.h:52
SPA_PARAM_PROCESS_LATENCY_ns
@ SPA_PARAM_PROCESS_LATENCY_ns
latency (Long) in nanoseconds
Definition latency.h:55
SPA_PARAM_PROCESS_LATENCY_quantum
@ SPA_PARAM_PROCESS_LATENCY_quantum
latency relative to quantum (Float)
Definition latency.h:53
SPA_PARAM_LATENCY_maxNs
@ SPA_PARAM_LATENCY_maxNs
max latency (Long) in nanoseconds
Definition latency.h:33
SPA_PARAM_LATENCY_minRate
@ SPA_PARAM_LATENCY_minRate
min latency (Int) relative to rate
Definition latency.h:30
SPA_PARAM_LATENCY_minQuantum
@ SPA_PARAM_LATENCY_minQuantum
min latency relative to quantum (Float)
Definition latency.h:28
SPA_PARAM_LATENCY_START
@ SPA_PARAM_LATENCY_START
Definition latency.h:26
SPA_PARAM_LATENCY_maxRate
@ SPA_PARAM_LATENCY_maxRate
max latency (Int) relative to rate
Definition latency.h:31
SPA_PARAM_LATENCY_maxQuantum
@ SPA_PARAM_LATENCY_maxQuantum
max latency relative to quantum (Float)
Definition latency.h:29
SPA_PARAM_LATENCY_direction
@ SPA_PARAM_LATENCY_direction
direction, input/output (Id enum spa_direction)
Definition latency.h:27
SPA_PARAM_LATENCY_minNs
@ SPA_PARAM_LATENCY_minNs
min latency (Long) in nanoseconds
Definition latency.h:32
spa_direction
spa_direction
Definition defs.h:92
param.h
spa/param/param.h
spa_latency_info
helper structure for managing latency objects
Definition latency.h:37
spa_latency_info::min_rate
uint32_t min_rate
Definition latency.h:41
spa_latency_info::max_rate
uint32_t max_rate
Definition latency.h:42
spa_latency_info::direction
enum spa_direction direction
Definition latency.h:38
spa_latency_info::max_quantum
float max_quantum
Definition latency.h:40
spa_latency_info::min_quantum
float min_quantum
Definition latency.h:39
spa_latency_info::min_ns
uint64_t min_ns
Definition latency.h:43
spa_latency_info::max_ns
uint64_t max_ns
Definition latency.h:44
spa_process_latency_info
Helper structure for managing process latency objects.
Definition latency.h:59
spa_process_latency_info::quantum
float quantum
Definition latency.h:60
spa_process_latency_info::rate
uint32_t rate
Definition latency.h:61
spa_process_latency_info::ns
uint64_t ns
Definition latency.h:62