]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Improvements to last commit, this should make things work better on all platforms
authorPeter Olsson <peter@olssononline.se>
Sun, 9 Feb 2014 13:19:36 +0000 (14:19 +0100)
committerPeter Olsson <peter@olssononline.se>
Sun, 9 Feb 2014 13:19:36 +0000 (14:19 +0100)
libs/srtp/include/srtp_priv.h

index c2bcbbacd2f325ac4a5ac2a49354727c8923d559..825017018fa297355052004e7f3a3b5338fde32a 100644 (file)
  * fully pack the bit fields.
  */
 
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable : 4214)
-#endif
-
 typedef struct {
-  unsigned char cc:4;  /* CSRC count             */
-  unsigned char x:1;   /* header extension flag  */
-  unsigned char p:1;   /* padding flag           */
-  unsigned char version:2; /* protocol version    */
-  unsigned char pt:7;  /* payload type           */
-  unsigned char m:1;   /* marker bit             */
-  uint16_t seq;                /* sequence number        */
-  uint32_t ts;         /* timestamp              */
-  uint32_t ssrc;       /* synchronization source */
+  unsigned cc:4;       /* CSRC count             */
+  unsigned x:1;        /* header extension flag  */
+  unsigned p:1;        /* padding flag           */
+  unsigned version:2; /* protocol version    */
+  unsigned pt:7;       /* payload type           */
+  unsigned m:1;        /* marker bit             */
+  unsigned seq:16;             /* sequence number        */
+  unsigned ts:32;              /* timestamp              */
+  unsigned ssrc:32;    /* synchronization source */
 } srtp_hdr_t;
 
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
 #else /*  BIG_ENDIAN */
 
 typedef struct {
-  unsigned char version:2; /* protocol version    */
-  unsigned char p:1;   /* padding flag           */
-  unsigned char x:1;   /* header extension flag  */
-  unsigned char cc:4;  /* CSRC count             */
-  unsigned char m:1;   /* marker bit             */
+  unsigned version:2; /* protocol version    */
+  unsigned p:1;        /* padding flag           */
+  unsigned x:1;        /* header extension flag  */
+  unsigned cc:4;       /* CSRC count             */
+  unsigned m:1;        /* marker bit             */
   unsigned pt:7;       /* payload type           */
-  uint16_t seq;                /* sequence number        */
-  uint32_t ts;         /* timestamp              */
-  uint32_t ssrc;       /* synchronization source */
+  unsigned seq:16;             /* sequence number        */
+  unsigned ts:32;              /* timestamp              */
+  unsigned ssrc:32;    /* synchronization source */
 } srtp_hdr_t;
 
 #endif
@@ -120,24 +111,15 @@ typedef struct {
 
 #ifndef WORDS_BIGENDIAN
 
-#ifdef _MSC_VER
-#pragma warning(push)
-#pragma warning(disable : 4214)
-#endif
-
 typedef struct {
-  unsigned char rc:5;          /* reception report count */
-  unsigned char p:1;           /* padding flag           */
-  unsigned char version:2;     /* protocol version       */
-  unsigned char pt:8;          /* payload type           */
-  uint16_t len;                        /* length                 */
-  uint32_t ssrc;               /* synchronization source */
+  unsigned rc:5;               /* reception report count */
+  unsigned p:1;                /* padding flag           */
+  unsigned version:2;  /* protocol version       */
+  unsigned pt:8;               /* payload type           */
+  unsigned len:16;                     /* length                 */
+  unsigned ssrc:32;            /* synchronization source */
 } srtcp_hdr_t;
 
-#ifdef _MSC_VER
-#pragma warning(pop)
-#endif
-
 typedef struct {
   unsigned int index:31;    /* srtcp packet index in network order! */
   unsigned int e:1;         /* encrypted? 1=yes */
@@ -149,12 +131,12 @@ typedef struct {
 #else /*  BIG_ENDIAN */
 
 typedef struct {
-  unsigned char version:2;     /* protocol version       */
-  unsigned char p:1;           /* padding flag           */
-  unsigned char rc:5;          /* reception report count */
-  unsigned char pt:8;          /* payload type           */
-  uint16_t len;                        /* length                 */
-  uint32_t ssrc;               /* synchronization source */
+  unsigned version:2;  /* protocol version       */
+  unsigned p:1;                /* padding flag           */
+  unsigned rc:5;       /* reception report count */
+  unsigned pt:8;       /* payload type           */
+  uint16_t len;                /* length                 */
+  uint32_t ssrc;       /* synchronization source */
 } srtcp_hdr_t;
 
 typedef struct {