Changeset 2333:685d224f7d02 in roaraudio


Ignore:
Timestamp:
08/09/09 15:43:01 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support to store not only a void pointer but also a 32 bit int in the buffer's meta member

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/buffer.h

    r1215 r2333  
    5050 void               * data; 
    5151 void               * user_data; 
    52  void               * meta; 
     52 union { 
     53  void              * vp; 
     54  int32_t             i32; 
     55 }                    meta; 
    5356 struct roar_buffer * next; 
    5457}; 
     
    7679int roar_buffer_shift_out (struct roar_buffer ** buf, void * data, size_t * len); 
    7780 
    78 int roar_buffer_set_meta (struct roar_buffer *  buf, void   *  meta); 
    79 int roar_buffer_get_meta (struct roar_buffer *  buf, void   ** meta); 
     81int roar_buffer_set_meta    (struct roar_buffer *  buf, void    *  meta); 
     82int roar_buffer_get_meta    (struct roar_buffer *  buf, void    ** meta); 
     83int roar_buffer_set_meta_i32(struct roar_buffer *  buf, int32_t    meta); 
     84int roar_buffer_get_meta_i32(struct roar_buffer *  buf, int32_t *  meta); 
    8085 
    8186int roar_buffer_set_len  (struct roar_buffer *  buf, size_t    len); 
  • libroar/buffer.c

    r2101 r2333  
    251251  return -1; 
    252252 
    253  buf->meta = meta; 
     253 buf->meta.vp = meta; 
    254254 
    255255 return 0; 
     
    257257 
    258258int roar_buffer_get_meta (struct roar_buffer * buf, void ** meta) { 
    259  if ( buf == NULL ) 
    260   return -1; 
    261  
    262  *meta = buf->meta; 
     259 if ( buf == NULL || meta == NULL ) 
     260  return -1; 
     261 
     262 *meta = buf->meta.vp; 
     263 
     264 return 0; 
     265} 
     266 
     267int roar_buffer_set_meta_i32(struct roar_buffer *  buf, int32_t    meta) { 
     268 if ( buf == NULL ) 
     269  return -1; 
     270 
     271 buf->meta.i32 = meta; 
     272 
     273 return 0; 
     274} 
     275 
     276int roar_buffer_get_meta_i32(struct roar_buffer *  buf, int32_t *  meta) { 
     277 if ( buf == NULL || meta == NULL ) 
     278  return -1; 
     279 
     280 *meta = buf->meta.i32; 
    263281 
    264282 return 0; 
Note: See TracChangeset for help on using the changeset viewer.