Changeset 3022:4a04952a6280 in roaraudio


Ignore:
Timestamp:
10/31/09 14:25:50 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added basic ringbuffer stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/buffer.h

    r2333 r3022  
    3838#include <roaraudio.h> 
    3939 
    40 #define ROAR_BUFFER_FLAG_NONE      0 
    41 #define ROAR_BUFFER_FLAG_NOFREE    1 
     40#define ROAR_BUFFER_FLAG_NONE            0x00 
     41#define ROAR_BUFFER_FLAG_NOFREE          0x01 
     42#define ROAR_BUFFER_FLAG_RING            0x02 
     43#define ROAR_BUFFER_FLAG_FREE_RUNNING    0x04 
    4244 
    43 #define ROAR_BUFFER_SET            0 
    44 #define ROAR_BUFFER_RESET          1 
     45#define ROAR_BUFFER_SET                     0 
     46#define ROAR_BUFFER_RESET                   1 
     47 
     48struct roar_buffer_ring { 
     49 size_t read_pos; 
     50 size_t write_pos; 
     51}; 
    4552 
    4653struct roar_buffer { 
     
    5158 void               * user_data; 
    5259 union { 
    53   void              * vp; 
    54   int32_t             i32; 
     60  void                    * vp; 
     61  int32_t                   i32; 
     62  struct roar_buffer_ring   ring; 
    5563 }                    meta; 
    5664 struct roar_buffer * next; 
     
    7078int roar_buffer_delete   (struct roar_buffer *  buf, struct roar_buffer ** next); 
    7179int roar_buffer_add      (struct roar_buffer *  buf, struct roar_buffer *  next); 
     80 
     81int roar_buffer_ring_new (struct roar_buffer ** buf, size_t len, int free_running); 
    7282 
    7383int roar_buffer_get_next (struct roar_buffer *  buf, struct roar_buffer ** next); 
     
    94104int roar_buffer_ring_stats (struct roar_buffer *  buf, struct roar_buffer_stats * stats); 
    95105 
     106int roar_buffer_ring_read  (struct roar_buffer *  buf, void * data, size_t * len); 
     107int roar_buffer_ring_write (struct roar_buffer *  buf, void * data, size_t * len); 
     108 
    96109#endif 
    97110 
Note: See TracChangeset for help on using the changeset viewer.