mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	spa: Improve spa_io_clock flags documentation
This commit is contained in:
		
							parent
							
								
									13105a8e64
								
							
						
					
					
						commit
						5dd65dccf3
					
				
					 1 changed files with 22 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -123,13 +123,29 @@ struct spa_io_range {
 | 
			
		|||
 *
 | 
			
		||||
 * A node is a driver when \ref spa_io_clock.id in \ref SPA_IO_Clock and
 | 
			
		||||
 * \ref spa_io_position.clock.id in \ref SPA_IO_Position are the same.
 | 
			
		||||
 *
 | 
			
		||||
 * The flags are set by the graph driver at the start of each cycle.
 | 
			
		||||
 */
 | 
			
		||||
struct spa_io_clock {
 | 
			
		||||
#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_CLOCK_FLAG_NO_RATE	(1u<<3) /* the rate of the clock is only approximately.
 | 
			
		||||
						 * it is recommended to use the nsec as a clock source.
 | 
			
		||||
#define SPA_IO_CLOCK_FLAG_FREEWHEEL	(1u<<0) /**< Graph is freewheeling. It runs at the maximum
 | 
			
		||||
						  *  possible rate, only constrained by the processing
 | 
			
		||||
						  *  power of the machine it runs on. This can be useful
 | 
			
		||||
						  *  for offline processing, where processing in real
 | 
			
		||||
						  *  time is not desired. */
 | 
			
		||||
#define SPA_IO_CLOCK_FLAG_XRUN_RECOVER	(1u<<1) /**< A node's process callback did not complete within
 | 
			
		||||
						  *  the last cycle's deadline, resulting in an xrun.
 | 
			
		||||
						  *  This flag is not set for the entire graph. Instead,
 | 
			
		||||
						  *  it is set at the start of the current cycle before
 | 
			
		||||
						  *  a node that experienced an xrun has its process
 | 
			
		||||
						  *  callback invoked. After said callback finished, the
 | 
			
		||||
						  *  flag is cleared again. That way, the node knows that
 | 
			
		||||
						  *  during the last cycle it experienced an xrun. They
 | 
			
		||||
						  *  can use this information for example to resynchronize
 | 
			
		||||
						  *  or clear custom stale states. */
 | 
			
		||||
#define SPA_IO_CLOCK_FLAG_LAZY		(1u<<2) /**< The driver uses lazy scheduling. For details, see
 | 
			
		||||
						  *  \ref PW_KEY_NODE_SUPPORTS_LAZY . */
 | 
			
		||||
#define SPA_IO_CLOCK_FLAG_NO_RATE	(1u<<3) /**< The rate of the clock is only approximately.
 | 
			
		||||
						 *   It is recommended to use the nsec as a clock source.
 | 
			
		||||
						 *   The rate_diff contains the measured inaccuracy. */
 | 
			
		||||
	uint32_t flags;			/**< Clock flags */
 | 
			
		||||
	uint32_t id;			/**< Unique clock id, set by host application */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue