media/webrtc/signaling/src/sipcc/include/ccsdp_rtcp_fb.h

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #ifndef __CCSDP_RTCP_FB_H__
     6 #define __CCSDP_RTCP_FB_H__
     8 /* a=rtcp-fb enumerations */
    10 typedef enum {
    11     SDP_RTCP_FB_ANY = -1,
    12     SDP_RTCP_FB_ACK = 0,
    13     SDP_RTCP_FB_CCM,
    14     SDP_RTCP_FB_NACK,
    15     SDP_RTCP_FB_TRR_INT,
    16     SDP_MAX_RTCP_FB,
    17     SDP_RTCP_FB_UNKNOWN
    18 } sdp_rtcp_fb_type_e;
    20 typedef enum {
    21     SDP_RTCP_FB_NACK_NOT_FOUND = -1,
    22     SDP_RTCP_FB_NACK_BASIC = 0,
    23     SDP_RTCP_FB_NACK_SLI,
    24     SDP_RTCP_FB_NACK_PLI,
    25     SDP_RTCP_FB_NACK_RPSI,
    26     SDP_RTCP_FB_NACK_APP,
    27     SDP_RTCP_FB_NACK_RAI,
    28     SDP_RTCP_FB_NACK_TLLEI,
    29     SDP_RTCP_FB_NACK_PSLEI,
    30     SDP_RTCP_FB_NACK_ECN,
    31     SDP_MAX_RTCP_FB_NACK,
    32     SDP_RTCP_FB_NACK_UNKNOWN
    33 } sdp_rtcp_fb_nack_type_e;
    35 typedef enum {
    36     SDP_RTCP_FB_ACK_NOT_FOUND = -1,
    37     SDP_RTCP_FB_ACK_RPSI = 0,
    38     SDP_RTCP_FB_ACK_APP,
    39     SDP_MAX_RTCP_FB_ACK,
    40     SDP_RTCP_FB_ACK_UNKNOWN
    41 } sdp_rtcp_fb_ack_type_e;
    43 typedef enum {
    44     SDP_RTCP_FB_CCM_NOT_FOUND = -1,
    45     SDP_RTCP_FB_CCM_FIR = 0,
    46     SDP_RTCP_FB_CCM_TMMBR,
    47     SDP_RTCP_FB_CCM_TSTR,
    48     SDP_RTCP_FB_CCM_VBCM,
    49     SDP_MAX_RTCP_FB_CCM,
    50     SDP_RTCP_FB_CCM_UNKNOWN
    51 } sdp_rtcp_fb_ccm_type_e;
    53 #ifdef __cplusplus
    54 static_assert(SDP_MAX_RTCP_FB_NACK +
    55               SDP_MAX_RTCP_FB_ACK +
    56               SDP_MAX_RTCP_FB_CCM < 32,
    57               "rtcp-fb Bitmap is larger than 32 bits");
    58 #endif
    60 static int32_t
    61 sdp_rtcp_fb_nack_to_bitmap(sdp_rtcp_fb_nack_type_e type)
    62 {
    63   int bitnumber = type;
    65   if (type < 0 || type >= SDP_MAX_RTCP_FB_NACK) {
    66     return 0;
    67   }
    69   return (1 << bitnumber);
    70 }
    72 static int32_t
    73 sdp_rtcp_fb_ack_to_bitmap(sdp_rtcp_fb_ack_type_e type)
    74 {
    75   int bitnumber = type + SDP_MAX_RTCP_FB_NACK;
    77   if (type < 0 || type >= SDP_MAX_RTCP_FB_ACK) {
    78     return 0;
    79   }
    81   return (1 << bitnumber);
    82 }
    84 static int32_t
    85 sdp_rtcp_fb_ccm_to_bitmap(sdp_rtcp_fb_ccm_type_e type)
    86 {
    87   int bitnumber = type + SDP_MAX_RTCP_FB_NACK + SDP_MAX_RTCP_FB_ACK;
    89   if (type < 0 || type >= SDP_MAX_RTCP_FB_CCM) {
    90     return 0;
    91   }
    93   return (1 << bitnumber);
    94 }
    96 #endif

mercurial