Ring buffer implementation  
More...
|  | 
| static void | spa_ringbuffer_init (struct spa_ringbuffer *rbuf) | 
|  | Initialize a spa_ringbuffer with size. 
 | 
|  | 
| static void | spa_ringbuffer_set_avail (struct spa_ringbuffer *rbuf, uint32_t size) | 
|  | Sets the pointers so that the ringbuffer contains size bytes. 
 | 
|  | 
| static int32_t | spa_ringbuffer_get_read_index (struct spa_ringbuffer *rbuf, uint32_t *index) | 
|  | Get the read index and available bytes for reading. 
 | 
|  | 
| static void | spa_ringbuffer_read_data (struct spa_ringbuffer *rbuf, const void *buffer, uint32_t size, uint32_t offset, void *data, uint32_t len) | 
|  | Read len bytes from rbuf starting offset. 
 | 
|  | 
| static void | spa_ringbuffer_read_update (struct spa_ringbuffer *rbuf, int32_t index) | 
|  | Update the read pointer to index. 
 | 
|  | 
| static int32_t | spa_ringbuffer_get_write_index (struct spa_ringbuffer *rbuf, uint32_t *index) | 
|  | Get the write index and the number of bytes inside the ringbuffer. 
 | 
|  | 
| static void | spa_ringbuffer_write_data (struct spa_ringbuffer *rbuf, void *buffer, uint32_t size, uint32_t offset, const void *data, uint32_t len) | 
|  | Write len bytes to buffer starting offset. 
 | 
|  | 
| static void | spa_ringbuffer_write_update (struct spa_ringbuffer *rbuf, int32_t index) | 
|  | Update the write pointer to index. 
 | 
|  | 
Ring buffer implementation 
◆ SPA_RINGBUFFER_INIT
◆ spa_ringbuffer_init()
◆ spa_ringbuffer_set_avail()
  
  | 
        
          | static void spa_ringbuffer_set_avail | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | uint32_t | size ) |  | inlinestatic | 
 
Sets the pointers so that the ringbuffer contains size bytes. 
- Parameters
- 
  
  
 
 
◆ spa_ringbuffer_get_read_index()
  
  | 
        
          | static int32_t spa_ringbuffer_get_read_index | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | uint32_t * | index ) |  | inlinestatic | 
 
Get the read index and available bytes for reading. 
- Parameters
- 
  
    | rbuf | a spa_ringbuffer |  | index | the value of readindex, should be taken modulo the size of the ringbuffer memory to get the offset in the ringbuffer memory |  
 
- Returns
- number of available bytes to read. values < 0 mean there was an underrun. values > rbuf->size means there was an overrun. 
 
 
◆ spa_ringbuffer_read_data()
  
  | 
        
          | static void spa_ringbuffer_read_data | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | const void * | buffer, |  
          |  |  | uint32_t | size, |  
          |  |  | uint32_t | offset, |  
          |  |  | void * | data, |  
          |  |  | uint32_t | len ) |  | inlinestatic | 
 
Read len bytes from rbuf starting offset. 
offset must be taken modulo size and len should be smaller than size.
- Parameters
- 
  
    | rbuf | a struct Ringbuffer |  | buffer | memory to read from |  | size | the size of buffer |  | offset | offset in buffer to read from |  | data | destination memory |  | len | number of bytes to read |  
 
 
 
◆ spa_ringbuffer_read_update()
  
  | 
        
          | static void spa_ringbuffer_read_update | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | int32_t | index ) |  | inlinestatic | 
 
Update the read pointer to index. 
- Parameters
- 
  
  
 
 
◆ spa_ringbuffer_get_write_index()
  
  | 
        
          | static int32_t spa_ringbuffer_get_write_index | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | uint32_t * | index ) |  | inlinestatic | 
 
Get the write index and the number of bytes inside the ringbuffer. 
- Parameters
- 
  
    | rbuf | a spa_ringbuffer |  | index | the value of writeindex, should be taken modulo the size of the ringbuffer memory to get the offset in the ringbuffer memory |  
 
- Returns
- the fill level of rbuf. values < 0 mean there was an underrun. values > rbuf->size means there was an overrun. Subtract from the buffer size to get the number of bytes available for writing. 
 
 
◆ spa_ringbuffer_write_data()
  
  | 
        
          | static void spa_ringbuffer_write_data | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | void * | buffer, |  
          |  |  | uint32_t | size, |  
          |  |  | uint32_t | offset, |  
          |  |  | const void * | data, |  
          |  |  | uint32_t | len ) |  | inlinestatic | 
 
Write len bytes to buffer starting offset. 
offset must be taken modulo size and len should be smaller than size.
- Parameters
- 
  
    | rbuf | a spa_ringbuffer |  | buffer | memory to write to |  | size | the size of buffer |  | offset | offset in buffer to write to |  | data | source memory |  | len | number of bytes to write |  
 
 
 
◆ spa_ringbuffer_write_update()
  
  | 
        
          | static void spa_ringbuffer_write_update | ( | struct spa_ringbuffer * | rbuf, |  
          |  |  | int32_t | index ) |  | inlinestatic | 
 
Update the write pointer to index. 
- Parameters
-