From cd52831fdc23d82f051faa2abc6bc8fef5d3022c Mon Sep 17 00:00:00 2001 From: Luis Alves Date: Sun, 28 Oct 2018 23:19:45 +0000 Subject: [PATCH] intextra: support 12bit unsigned nrs --- src/prop.c | 11 ++++++++--- src/prop.h | 2 ++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/prop.c b/src/prop.c index b769f9d17..57612c742 100644 --- a/src/prop.c +++ b/src/prop.c @@ -544,9 +544,14 @@ prop_serialize_value if (INTEXTRA_IS_SPLIT(pl->intextra)) { htsmsg_add_u32(m, "intsplit", pl->intextra); } else { - htsmsg_add_s32(m, "intmax", INTEXTRA_GET_MAX(pl->intextra)); - htsmsg_add_s32(m, "intmin", INTEXTRA_GET_MIN(pl->intextra)); - htsmsg_add_s32(m, "intstep", INTEXTRA_GET_STEP(pl->intextra)); + if (pl->type == PT_U32) { + htsmsg_add_u32(m, "intmax", INTEXTRA_GET_UMAX(pl->intextra)); + htsmsg_add_u32(m, "intmin", INTEXTRA_GET_UMIN(pl->intextra)); + } else { + htsmsg_add_s32(m, "intmax", INTEXTRA_GET_MAX(pl->intextra)); + htsmsg_add_s32(m, "intmin", INTEXTRA_GET_MIN(pl->intextra)); + } + htsmsg_add_u32(m, "intstep", INTEXTRA_GET_STEP(pl->intextra)); } } diff --git a/src/prop.h b/src/prop.h index 38a216af7..d56100354 100644 --- a/src/prop.h +++ b/src/prop.h @@ -79,6 +79,8 @@ typedef enum { #define INTEXTRA_GET_STEP(e) (((e)>>24)&0x7f) #define INTEXTRA_GET_MAX(e) ((e)&(1<<23)?-(0x800-(((e)>>12)&0x7ff)):(((e)>>12)&0x7ff)) #define INTEXTRA_GET_MIN(e) ((e)&(1<<11)?-(0x800-((e)&0x7ff)):((e)&0x7ff)) +#define INTEXTRA_GET_UMAX(e) (((e)>>12)&0xfff) +#define INTEXTRA_GET_UMIN(e) ((e)&0xfff) /* * Property definition -- 2.47.2