live
Toggle main menu visibility
Main Page
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
Enumerations
Enumerator
Related Functions
a
c
d
g
h
i
m
o
p
r
s
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
f
g
i
m
n
o
p
r
s
t
u
w
z
Variables
b
d
f
g
h
l
o
r
s
t
u
Typedefs
Enumerations
Enumerator
Macros
_
a
b
c
d
e
f
g
h
i
l
m
n
p
r
s
t
u
v
x
liveMedia
rtcp_from_spec.h
Go to the documentation of this file.
1
/**********
2
This library is free software; you can redistribute it and/or modify it under
3
the terms of the GNU Lesser General Public License as published by the
4
Free Software Foundation; either version 3 of the License, or (at your
5
option) any later version. (See <http://www.gnu.org/copyleft/lesser.html>.)
6
7
This library is distributed in the hope that it will be useful, but WITHOUT
8
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
10
more details.
11
12
You should have received a copy of the GNU Lesser General Public License
13
along with this library; if not, write to the Free Software Foundation, Inc.,
14
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
**********/
16
/*
17
* "liveMedia"
18
* Copyright (c) 1996-2025, Live Networks, Inc. All rights reserved
19
*
20
* RTCP code taken directly from the most recent RTP specification: RFC 3550
21
* C header
22
*/
23
24
#ifndef _RTCP_FROM_SPEC_H
25
#define _RTCP_FROM_SPEC_H
26
27
#include <stdlib.h>
28
29
/* Definitions of _ANSI_ARGS and EXTERN that will work in either
30
C or C++ code:
31
*/
32
#undef _ANSI_ARGS_
33
#if ((defined(__STDC__) || defined(SABER)) && !defined(NO_PROTOTYPE)) || defined(__cplusplus) || defined(USE_PROTOTYPE)
34
# define _ANSI_ARGS_(x) x
35
#else
36
# define _ANSI_ARGS_(x) ()
37
#endif
38
#ifdef __cplusplus
39
# define EXTERN extern "C"
40
#else
41
# define EXTERN extern
42
#endif
43
44
/* The code from the spec assumes a type "event"; make this a void*: */
45
typedef
void
*
event
;
46
47
#define EVENT_UNKNOWN 0
48
#define EVENT_REPORT 1
49
#define EVENT_BYE 2
50
51
/* The code from the spec assumes a type "time_tp"; make this a double: */
52
typedef
double
time_tp
;
53
54
/* The code from the spec assumes a type "packet"; make this a void*: */
55
typedef
void
*
packet
;
56
57
#define PACKET_UNKNOWN_TYPE 0
58
#define PACKET_RTP 1
59
#define PACKET_RTCP_REPORT 2
60
#define PACKET_BYE 3
61
#define PACKET_RTCP_APP 4
62
63
/* The code from the spec calls drand48(), but we have drand30() instead */
64
#define drand48 drand30
65
66
/* The code calls "exit()", but we don't want to exit, so make it a noop: */
67
#define exit(n) do {} while (0)
68
69
#ifndef FALSE
70
#define FALSE 0
71
#endif
72
#ifndef TRUE
73
#define TRUE 1
74
#endif
75
76
/* EXPORTS: */
77
78
EXTERN
void
OnExpire
_ANSI_ARGS_
((
event
,
int
,
int
,
double
,
int
,
double
*,
int
*,
time_tp
,
time_tp
*,
int
*));
79
80
EXTERN
void
OnReceive
_ANSI_ARGS_
((
packet
,
event
,
int
*,
int
*,
int
*,
double
*,
double
*,
double
,
double
));
81
82
/* IMPORTS: */
83
84
EXTERN
void
Schedule
_ANSI_ARGS_
((
double
,
event
));
85
EXTERN
void
Reschedule
_ANSI_ARGS_
((
double
,
event
));
86
EXTERN
void
SendRTCPReport
_ANSI_ARGS_
((
event
));
87
EXTERN
void
SendBYEPacket
_ANSI_ARGS_
((
event
));
88
EXTERN
int
TypeOfEvent
_ANSI_ARGS_
((
event
));
89
EXTERN
int
SentPacketSize
_ANSI_ARGS_
((
event
));
90
EXTERN
int
PacketType
_ANSI_ARGS_
((
packet
));
91
EXTERN
int
ReceivedPacketSize
_ANSI_ARGS_
((
packet
));
92
EXTERN
int
NewMember
_ANSI_ARGS_
((
packet
));
93
EXTERN
int
NewSender
_ANSI_ARGS_
((
packet
));
94
EXTERN
void
AddMember
_ANSI_ARGS_
((
packet
));
95
EXTERN
void
AddSender
_ANSI_ARGS_
((
packet
));
96
EXTERN
void
RemoveMember
_ANSI_ARGS_
((
packet
));
97
EXTERN
void
RemoveSender
_ANSI_ARGS_
((
packet
));
98
EXTERN
double
drand30
_ANSI_ARGS_
((
void
));
99
100
#endif
time_tp
double time_tp
Definition:
rtcp_from_spec.h:52
EXTERN
#define EXTERN
Definition:
rtcp_from_spec.h:41
event
void * event
Definition:
rtcp_from_spec.h:45
_ANSI_ARGS_
#define _ANSI_ARGS_(x)
Definition:
rtcp_from_spec.h:36
packet
void * packet
Definition:
rtcp_from_spec.h:55
Generated on Fri Jan 17 2025 07:21:07 for live by
1.9.6