94 #define SPA_STATUS_OK 0 95 #define SPA_STATUS_NEED_DATA (1<<0) 96 #define SPA_STATUS_HAVE_DATA (1<<1) 97 #define SPA_STATUS_STOPPED (1<<2) 98 #define SPA_STATUS_DRAINED (1<<3) 103 #define SPA_IO_BUFFERS_INIT (struct spa_io_buffers) { SPA_STATUS_OK, SPA_ID_INVALID, } 113 #define SPA_IO_MEMORY_INIT (struct spa_io_memory) { SPA_STATUS_OK, 0, NULL, } 133 #define SPA_IO_CLOCK_FLAG_FREEWHEEL (1u<<0) 152 #define SPA_IO_VIDEO_SIZE_VALID (1<<0) 176 #define SPA_IO_SEGMENT_BAR_FLAG_VALID (1<<0) 188 #define SPA_IO_SEGMENT_VIDEO_FLAG_VALID (1<<0) 189 #define SPA_IO_SEGMENT_VIDEO_FLAG_DROP_FRAME (1<<1) 190 #define SPA_IO_SEGMENT_VIDEO_FLAG_PULL_DOWN (1<<2) 191 #define SPA_IO_SEGMENT_VIDEO_FLAG_INTERLACED (1<<3) 225 #define SPA_IO_SEGMENT_FLAG_LOOPING (1<<0) 226 #define SPA_IO_SEGMENT_FLAG_NO_POSITION (1<<1) 246 struct spa_io_segment_bar bar; 257 #define SPA_IO_POSITION_MAX_SEGMENTS 8 291 #define SPA_IO_RATE_MATCH_FLAG_ACTIVE (1 << 0) double rate_diff
rate difference between clock and monotonic time
Definition: io.h:158
A range, suitable for input ports that can suggest a range to output ports.
Definition: io.h:128
uint32_t max_size
maximum size of data
Definition: io.h:131
area to exchange buffers, struct spa_io_buffers
Definition: io.h:58
struct spa_fraction rate
rate for min/max
Definition: io.h:178
uint32_t min_size
minimum size of data
Definition: io.h:130
uint32_t padding[8]
Definition: io.h:198
uint32_t size
the size of data
Definition: io.h:121
int64_t offset
an offset to subtract from the clock position to get a running time.
Definition: io.h:300
float signature_denom
time signature denominator
Definition: io.h:195
latency reporting
Definition: io.h:177
int32_t status
the status code
Definition: io.h:109
uint32_t minutes
Definition: io.h:215
float signature_num
time signature numerator
Definition: io.h:194
area to update clock information, struct spa_io_clock
Definition: io.h:60
struct spa_pod_sequence sequence
sequence of timed events
Definition: io.h:185
uint32_t flags
optional flags
Definition: io.h:167
latency reporting, struct spa_io_latency
Definition: io.h:61
struct spa_fraction framerate
the minimum framerate, the cycle duration is always smaller to ensure there is only one video frame p...
Definition: io.h:170
uint64_t next_nsec
estimated next wakeup time in nanoseconds
Definition: io.h:159
IO area to exchange buffers.
Definition: io.h:98
#define SPA_IO_POSITION_MAX_SEGMENTS
the maximum number of segments visible in the future
Definition: io.h:282
uint64_t offset
offset in range
Definition: io.h:129
uint32_t id
unique clock id, set by application
Definition: io.h:148
void * data
a memory pointer
Definition: io.h:122
uint64_t duration
duration of current cycle
Definition: io.h:155
Absolute time reporting.
Definition: io.h:144
uint32_t padding[4]
Definition: io.h:173
area for notify messages, struct spa_io_sequence
Definition: io.h:63
uint32_t field_count
0 for progressive, 1 and 2 for interlaced
Definition: io.h:218
uint32_t frames
Definition: io.h:217
int64_t delay
delay between position and hardware, positive for capture, negative for playback
Definition: io.h:156
struct spa_io_clock clock
clock position of driver, always valid and read only
Definition: io.h:297
uint32_t delay
extra delay in samples for resampler
Definition: io.h:313
uint32_t seconds
Definition: io.h:216
uint32_t size
requested input size for resampler
Definition: io.h:314
rate matching
Definition: io.h:312
double beat
current beat in segment
Definition: io.h:197
uint32_t hours
Definition: io.h:214
control stream, io area for SPA_IO_Control and SPA_IO_Notify
Definition: io.h:184
uint64_t position
current position
Definition: io.h:154
struct spa_fraction rate
rate for position/duration/delay
Definition: io.h:153
uint32_t stride
video stride in bytes
Definition: io.h:168
area for control messages, struct spa_io_sequence
Definition: io.h:62
double rate
rate for resampler
Definition: io.h:315
struct spa_rectangle size
the video size
Definition: io.h:169
struct spa_io_segment segments[SPA_IO_POSITION_MAX_SEGMENTS]
segments
Definition: io.h:308
uint32_t state
one of enum spa_io_position_state
Definition: io.h:305
rate matching between nodes, struct spa_io_rate_match
Definition: io.h:65
memory pointer, struct spa_io_memory
Definition: io.h:66
struct spa_io_video_size video
size of the video in the current cycle
Definition: io.h:299
The position information adds extra meaning to the raw clock times.
Definition: io.h:296
uint32_t padding[7]
Definition: io.h:319
bar and beat segment
Definition: io.h:189
uint32_t offset
offset in segment of this beat
Definition: io.h:193
spa_io_type
IO areas.
Definition: io.h:56
struct spa_io_segment_video video
Definition: io.h:271
uint64_t max
max latency
Definition: io.h:180
double bpm
beats per minute
Definition: io.h:196
uint32_t flags
extra flags
Definition: io.h:192
position information in the graph, struct spa_io_position
Definition: io.h:64
A segment converts a running time to a segment (stream) position.
Definition: io.h:242
expected byte range, struct spa_io_range
Definition: io.h:59
struct spa_fraction framerate
Definition: io.h:213
uint32_t version
Definition: io.h:243
video frame segment
Definition: io.h:202
uint64_t min
min latency
Definition: io.h:179
spa_io_position_state
Definition: io.h:274
uint32_t flags
clock flags
Definition: io.h:147
uint32_t padding[8]
Definition: io.h:160
uint64_t nsec
time in nanoseconds against monotonic clock
Definition: io.h:152
uint32_t n_segments
number of segments
Definition: io.h:307
uint32_t padding[11]
Definition: io.h:219
uint32_t flags
extra flags
Definition: io.h:318
IO area to exchange a memory region.
Definition: io.h:119
a sequence of timed controls
Definition: pod.h:272
uint32_t buffer_id
a buffer id
Definition: io.h:110