PipeWire 1.2.7
Loading...
Searching...
No Matches
io.h File Reference

spa/node/io.h More...

Go to the source code of this file.

Data Structures

struct  spa_io_buffers
 IO area to exchange buffers. More...
 
struct  spa_io_memory
 IO area to exchange a memory region. More...
 
struct  spa_io_range
 A range, suitable for input ports that can suggest a range to output ports. More...
 
struct  spa_io_clock
 Absolute time reporting. More...
 
struct  spa_io_video_size
 
struct  spa_io_latency
 Latency reporting. More...
 
struct  spa_io_sequence
 control stream, io area for SPA_IO_Control and SPA_IO_Notify More...
 
struct  spa_io_segment_bar
 bar and beat segment More...
 
struct  spa_io_segment_video
 video frame segment More...
 
struct  spa_io_segment
 A segment converts a running time to a segment (stream) position. More...
 
struct  spa_io_position
 The position information adds extra meaning to the raw clock times. More...
 
struct  spa_io_rate_match
 rate matching More...
 
struct  spa_io_async_buffers
 async buffers More...
 

Macros

#define SPA_STATUS_OK   0
 
#define SPA_STATUS_NEED_DATA   (1<<0)
 
#define SPA_STATUS_HAVE_DATA   (1<<1)
 
#define SPA_STATUS_STOPPED   (1<<2)
 
#define SPA_STATUS_DRAINED   (1<<3)
 
#define SPA_IO_BUFFERS_INIT   ((struct spa_io_buffers) { SPA_STATUS_OK, SPA_ID_INVALID, })
 
#define SPA_IO_MEMORY_INIT   ((struct spa_io_memory) { SPA_STATUS_OK, 0, NULL, })
 
#define SPA_IO_CLOCK_FLAG_FREEWHEEL   (1u<<0) /* graph is freewheeling */
 
#define SPA_IO_CLOCK_FLAG_XRUN_RECOVER   (1u<<1) /* recovering from xrun */
 
#define SPA_IO_CLOCK_FLAG_LAZY   (1u<<2) /* lazy scheduling */
 
#define SPA_IO_VIDEO_SIZE_VALID   (1<<0)
 
#define SPA_IO_SEGMENT_BAR_FLAG_VALID   (1<<0)
 
#define SPA_IO_SEGMENT_VIDEO_FLAG_VALID   (1<<0)
 
#define SPA_IO_SEGMENT_VIDEO_FLAG_DROP_FRAME   (1<<1)
 
#define SPA_IO_SEGMENT_VIDEO_FLAG_PULL_DOWN   (1<<2)
 
#define SPA_IO_SEGMENT_VIDEO_FLAG_INTERLACED   (1<<3)
 
#define SPA_IO_SEGMENT_FLAG_LOOPING   (1<<0)
 after the duration, the segment repeats
 
#define SPA_IO_SEGMENT_FLAG_NO_POSITION   (1<<1)
 position is invalid.
 
#define SPA_IO_POSITION_MAX_SEGMENTS   8
 the maximum number of segments visible in the future
 
#define SPA_IO_RATE_MATCH_FLAG_ACTIVE   (1 << 0)
 

Enumerations

enum  spa_io_type {
  SPA_IO_Invalid , SPA_IO_Buffers , SPA_IO_Range , SPA_IO_Clock ,
  SPA_IO_Latency , SPA_IO_Control , SPA_IO_Notify , SPA_IO_Position ,
  SPA_IO_RateMatch , SPA_IO_Memory , SPA_IO_AsyncBuffers
}
 IO areas. More...
 
enum  spa_io_position_state { SPA_IO_POSITION_STATE_STOPPED , SPA_IO_POSITION_STATE_STARTING , SPA_IO_POSITION_STATE_RUNNING }
 

Detailed Description