summaryrefslogtreecommitdiffstats
path: root/third_party/sipcc/ccsdp_rtcp_fb.h
blob: 2f56210ba0f67300f69056ef95848e3aef327b1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef __CCSDP_RTCP_FB_H__
#define __CCSDP_RTCP_FB_H__

/* a=rtcp-fb enumerations */

typedef enum {
    SDP_RTCP_FB_ANY = -1,
    SDP_RTCP_FB_ACK = 0,
    SDP_RTCP_FB_CCM,
    SDP_RTCP_FB_NACK,
    SDP_RTCP_FB_TRR_INT,
    // from https://www.ietf.org/archive/id/draft-alvestrand-rmcat-remb-03.txt
    SDP_RTCP_FB_REMB,
    // from https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01
    SDP_RTCP_FB_TRANSPORT_CC,
    SDP_MAX_RTCP_FB,
    SDP_RTCP_FB_UNKNOWN
} sdp_rtcp_fb_type_e;

typedef enum {
    SDP_RTCP_FB_NACK_NOT_FOUND = -1,
    SDP_RTCP_FB_NACK_BASIC = 0,
    SDP_RTCP_FB_NACK_SLI,
    SDP_RTCP_FB_NACK_PLI,
    SDP_RTCP_FB_NACK_RPSI,
    SDP_RTCP_FB_NACK_APP,
    SDP_RTCP_FB_NACK_RAI,
    SDP_RTCP_FB_NACK_TLLEI,
    SDP_RTCP_FB_NACK_PSLEI,
    SDP_RTCP_FB_NACK_ECN,
    SDP_MAX_RTCP_FB_NACK,
    SDP_RTCP_FB_NACK_UNKNOWN
} sdp_rtcp_fb_nack_type_e;

typedef enum {
    SDP_RTCP_FB_ACK_NOT_FOUND = -1,
    SDP_RTCP_FB_ACK_RPSI = 0,
    SDP_RTCP_FB_ACK_APP,
    SDP_MAX_RTCP_FB_ACK,
    SDP_RTCP_FB_ACK_UNKNOWN
} sdp_rtcp_fb_ack_type_e;

// Codec Control Messages - defined by RFC 5104
typedef enum {
    SDP_RTCP_FB_CCM_NOT_FOUND = -1,
    SDP_RTCP_FB_CCM_FIR = 0,
    SDP_RTCP_FB_CCM_TMMBR,
    SDP_RTCP_FB_CCM_TSTR,
    SDP_RTCP_FB_CCM_VBCM,
    SDP_MAX_RTCP_FB_CCM,
    SDP_RTCP_FB_CCM_UNKNOWN
} sdp_rtcp_fb_ccm_type_e;

#ifdef __cplusplus
static_assert(SDP_MAX_RTCP_FB_NACK +
              SDP_MAX_RTCP_FB_ACK +
              SDP_MAX_RTCP_FB_CCM < 32,
              "rtcp-fb Bitmap is larger than 32 bits");
#endif

#endif