intersection improvements

Add uri type
This commit is contained in:
Wim Taymans 2017-02-28 16:38:23 +01:00
parent 7a7ede96e5
commit 282995d0d0
4 changed files with 55 additions and 12 deletions

View file

@ -161,6 +161,13 @@ spa_pod_builder_bool (SpaPODBuilder *builder, bool val)
return spa_pod_builder_primitive (builder, &p.pod);
}
static inline off_t
spa_pod_builder_uri (SpaPODBuilder *builder, uint32_t val)
{
const SpaPODURI p = { { sizeof (uint32_t), SPA_POD_TYPE_URI }, val };
return spa_pod_builder_primitive (builder, &p.pod);
}
static inline off_t
spa_pod_builder_int (SpaPODBuilder *builder, int32_t val)
{
@ -294,6 +301,9 @@ spa_pod_builder_propv (SpaPODBuilder *builder,
case SPA_POD_TYPE_BOOL:
spa_pod_builder_bool (builder, va_arg (args, int));
break;
case SPA_POD_TYPE_URI:
spa_pod_builder_uri (builder, va_arg (args, int32_t));
break;
case SPA_POD_TYPE_INT:
spa_pod_builder_int (builder, va_arg (args, int32_t));
break;

View file

@ -35,6 +35,7 @@ extern "C" {
typedef enum {
SPA_POD_TYPE_INVALID = 0,
SPA_POD_TYPE_BOOL,
SPA_POD_TYPE_URI,
SPA_POD_TYPE_INT,
SPA_POD_TYPE_LONG,
SPA_POD_TYPE_FLOAT,
@ -64,13 +65,13 @@ typedef struct {
#define SPA_POD_BODY(pod) SPA_MEMBER((pod),sizeof(SpaPOD),void)
#define SPA_POD_BODY_CONST(pod) SPA_MEMBER((pod),sizeof(SpaPOD),const void)
typedef struct {
SpaPOD pod;
int32_t value;
} SpaPODInt;
typedef SpaPODInt SpaPODBool;
typedef SpaPODInt SpaPODURI;
typedef struct {
SpaPOD pod;