PipeWire: spa_io_clock Struct Reference

PipeWire 0.3.37

Data Fields
spa_io_clock Struct Reference
SPA Nodes

Absolute time reporting. More...

`#include <io.h>`

Collaboration diagram for spa_io_clock:
[legend]

## Data Fields
uint32_t | flags
| clock flags More...
uint32_t | id
| unique clock id, set by application More...
char | name [64]
| clock name prefixed with API, set by node. More...
uint64_t | nsec
| time in nanoseconds against monotonic clock More...
struct spa_fraction | rate
| rate for position/duration/delay More...
uint64_t | position
| current position More...
uint64_t | duration
| duration of current cycle More...
int64_t | delay
| delay between position and hardware, positive for capture, negative for playback More...
double | rate_diff
| rate difference between clock and monotonic time More...
uint64_t | next_nsec
| estimated next wakeup time in nanoseconds More...
uint32_t | padding [8]

## Detailed Description

Absolute time reporting.

Nodes that can report clocking information will receive this io block. The application sets the id. This is usually set as part of the position information but can also be set separately.

The clock counts the elapsed time according to the clock provider since the provider was last started.

## Field Documentation

## ◆ delay

int64_t spa_io_clock::delay

delay between position and hardware, positive for capture, negative for playback

## ◆ duration

uint64_t spa_io_clock::duration

duration of current cycle

## ◆ flags

uint32_t spa_io_clock::flags

clock flags

## ◆ id

uint32_t spa_io_clock::id

unique clock id, set by application

## ◆ name

char spa_io_clock::name[64]

clock name prefixed with API, set by node.

The clock name is unique per clock and can be used to check if nodes share the same clock.

## ◆ next_nsec

uint64_t spa_io_clock::next_nsec

estimated next wakeup time in nanoseconds

## ◆ nsec

uint64_t spa_io_clock::nsec

time in nanoseconds against monotonic clock

## ◆ padding

uint32_t spa_io_clock::padding[8]

## ◆ position

uint64_t spa_io_clock::position

current position

## ◆ rate

struct spa_fraction spa_io_clock::rate

rate for position/duration/delay

## ◆ rate_diff

double spa_io_clock::rate_diff

rate difference between clock and monotonic time

The documentation for this struct was generated from the following file:

- io.h