1/*
2 The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) stack.
3 Copyright (C) 2001 Simon MORLAT simon.morlat@linphone.org
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18*/
19
20/** \mainpage oRTP API documentation
21 *
22 * \section init Initializing oRTP
23 *
24 * see ortp.h documentation.
25 *
26 * \section rtpsession the RtpSession object
27 *
28 * see the rtpsession.h documentation.
29 *
30 * \section payloadtypes Managing PayloadType(s) and RtpProfile(s)
31 *
32 * see the payloadtype.h documentation.
33 *
34 * \section telephonevents Sending and receiving telephone-event (RFC2833)
35 *
36 * see the telephonyevents.h documentation.
37 * To get informed about incoming telephone-event you can register a callback
38 * using rtp_session_signal_connect() or by registering an event queue using
39 * rtp_session_register_event_queue().
40 *
41 * \section sessionset Managing several RtpSession simultaneously
42 *
43 * see the sessionset.h documentation.
44 *
45 * \section rtcp Parsing incoming rtcp packets.
46 *
47 * The parsing api is defined in rtcp.h (not yet documented).
48 *
49 * \section examples Examples
50 *
51 * oRTP comes with a set of examples in src/tests.
52 * - rtprecv.c rtpsend.c show how to receive and send a single RTP stream.
53 * - mrtprecv.c mrtpsend.c show how to receive and send multiple RTP streams
54 * simultaneously
55 *
56 */
57
58/**
59 * \file ortp.h
60 * \brief General purpose library functions.
61 *
62**/
63
64#ifndef ORTP_H
65#define ORTP_H
66
67#include "ortp/logging.h"
68#include "ortp/rtpsession.h"
69#include "ortp/sessionset.h"
70
71#ifdef __cplusplus
72extern "C"
73{
74#endif
75
76ORTP_PUBLIC bool_t ortp_min_version_required(int major, int minor, int micro);
77ORTP_PUBLIC void ortp_init(void);
78ORTP_PUBLIC void ortp_scheduler_init(void);
79ORTP_PUBLIC void ortp_exit(void);
80
81/****************/
82/*statistics api*/
83/****************/
84
85extern rtp_stats_t ortp_global_stats;
86
87ORTP_PUBLIC void ortp_global_stats_reset(void);
88ORTP_PUBLIC rtp_stats_t *ortp_get_global_stats(void);
89
90ORTP_PUBLIC void ortp_global_stats_display(void);
91ORTP_PUBLIC void rtp_stats_display(const rtp_stats_t *stats, const char *header);
92ORTP_PUBLIC void rtp_stats_reset(rtp_stats_t *stats);
93
94#ifdef __cplusplus
95}
96#endif
97
98#endif
99