summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjmedia/include/pjmedia/rtcp.h7
-rw-r--r--pjsip-apps/src/samples/siprtp.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/pjmedia/include/pjmedia/rtcp.h b/pjmedia/include/pjmedia/rtcp.h
index ccd32a20..96f135e3 100644
--- a/pjmedia/include/pjmedia/rtcp.h
+++ b/pjmedia/include/pjmedia/rtcp.h
@@ -37,6 +37,8 @@ PJ_BEGIN_DECL
* @{
*/
+#pragma pack(1)
+
/**
* RTCP sender report.
*/
@@ -100,7 +102,7 @@ struct pjmedia_rtcp_common
unsigned version:2; /**< packet type */
unsigned pt:8; /**< payload type */
#endif
- pj_uint16_t length; /**< packet length */
+ unsigned length:16; /**< packet length */
};
/**
@@ -124,6 +126,9 @@ struct pjmedia_rtcp_pkt
typedef struct pjmedia_rtcp_pkt pjmedia_rtcp_pkt;
+#pragma pack()
+
+
/**
* NTP time representation.
*/
diff --git a/pjsip-apps/src/samples/siprtp.c b/pjsip-apps/src/samples/siprtp.c
index ab59dd2a..d80656a5 100644
--- a/pjsip-apps/src/samples/siprtp.c
+++ b/pjsip-apps/src/samples/siprtp.c
@@ -1105,8 +1105,10 @@ static int media_thread(void *arg)
if (status != PJ_SUCCESS)
app_perror(THIS_FILE, "Error receiving RTCP packet", status);
else {
- if (size > sizeof(strm->rem_rtcp)) {
- PJ_LOG(3,(THIS_FILE, "Error: RTCP packet too large"));
+ if (size != sizeof(strm->rem_rtcp)) {
+ PJ_LOG(3,(THIS_FILE, "Error: RTCP packet size mismatch "
+ "(recv %d bytes, expecting %d)",
+ size, sizeof(strm->rem_rtcp)));
status = -1;
} else {
pj_memcpy(&strm->rem_rtcp, packet, size);