5#ifndef SPA_POD_DYNAMIC_H 
    6#define SPA_POD_DYNAMIC_H 
   13#include <spa/utils/cleanup.h> 
   15#ifndef SPA_API_POD_DYNAMIC 
   17  #define SPA_API_POD_DYNAMIC SPA_API_IMPL 
   19  #define SPA_API_POD_DYNAMIC static inline 
   24        struct spa_pod_builder 
b;
 
   30static int spa_pod_dynamic_builder_overflow(
void *
data, uint32_t 
size)
 
 
   35        void *old_data = d->
b.
data, *new_data;
 
   37        if (old_data == d->
data)
 
   39        if ((new_data = realloc(d->
b.
data, new_size)) == NULL)
 
   41        if (old_data == d->
data && new_data != old_data && old_size > 0)
 
   42                memcpy(new_data, old_data, old_size);
 
   49                void *data, uint32_t size, uint32_t 
extend)
 
   53                .overflow = spa_pod_dynamic_builder_overflow
 
   64                free(builder->
b.
data);
 
   68        spa_pod_dynamic_builder_clean(thing);
 
#define SPA_POD_BUILDER_INIT(buffer, size)
Definition builder.h:72
#define SPA_VERSION_POD_BUILDER_CALLBACKS
Definition builder.h:57
SPA_API_POD_BUILDER void spa_pod_builder_set_callbacks(struct spa_pod_builder *builder, const struct spa_pod_builder_callbacks *callbacks, void *data)
Definition builder.h:81
#define SPA_ROUND_UP_N(num, align)
Definition defs.h:360
void * data
Definition builder.h:64
uint32_t size
Definition builder.h:65
uint32_t extend
Definition dynamic.h:32
uint32_t _padding
Definition dynamic.h:33
struct spa_pod_builder b
Definition dynamic.h:30
void * data
Definition dynamic.h:31