diff --git a/src/shared/rtsp.c b/src/shared/rtsp.c index 7d4d52a..9ecf5a5 100644 --- a/src/shared/rtsp.c +++ b/src/shared/rtsp.c @@ -1549,6 +1549,18 @@ int rtsp_message_readv_basic(struct rtsp_message *m, if (out_u32) *out_u32 = u32; + break; + case RTSP_TYPE_HEX32: + if (sscanf(entry, "%" SCNx32, &u32) != 1) + return -EINVAL; + + out_u32 = va_arg(*args, uint32_t*); + if (out_u32) + *out_u32 = u32; + + break; + case RTSP_TYPE_SKIP: + /* just increment token */ break; default: return -EINVAL; diff --git a/src/shared/rtsp.h b/src/shared/rtsp.h index fad7a01..a5e6f6a 100644 --- a/src/shared/rtsp.h +++ b/src/shared/rtsp.h @@ -45,6 +45,8 @@ enum { #define RTSP_TYPE_STRING 's' #define RTSP_TYPE_INT32 'i' #define RTSP_TYPE_UINT32 'u' +#define RTSP_TYPE_HEX32 'h' +#define RTSP_TYPE_SKIP '*' #define RTSP_TYPE_RAW '&' #define RTSP_TYPE_HEADER_START '<' #define RTSP_TYPE_HEADER_END '>'