From: Luis Alves Date: Sun, 28 Oct 2018 23:19:45 +0000 (+0000) Subject: intextra: support 12bit unsigned nrs X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd52831fdc23d82f051faa2abc6bc8fef5d3022c;p=thirdparty%2Ftvheadend.git intextra: support 12bit unsigned nrs --- 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