/usr/include/ortp/ortp.h is in libortp-dev 3.3.2-4.1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | /*
The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) stack.
Copyright (C) 2001 Simon MORLAT simon.morlat@linphone.org
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/** \mainpage oRTP API documentation
*
* \section init Initializing oRTP
*
* see ortp.h documentation.
*
* \section rtpsession the RtpSession object
*
* see the rtpsession.h documentation.
*
* \section payloadtypes Managing PayloadType(s) and RtpProfile(s)
*
* see the payloadtype.h documentation.
*
* \section telephonevents Sending and receiving telephone-event (RFC2833)
*
* see the telephonyevents.h documentation.
* To get informed about incoming telephone-event you can register a callback
* using rtp_session_signal_connect() or by registering an event queue using
* rtp_session_register_event_queue().
*
* \section sessionset Managing several RtpSession simultaneously
*
* see the sessionset.h documentation.
*
* \section rtcp Parsing incoming rtcp packets.
*
* The parsing api is defined in rtcp.h (not yet documented).
*
* \section examples Examples
*
* oRTP comes with a set of examples in src/tests.
* - rtprecv.c rtpsend.c show how to receive and send a single RTP stream.
* - mrtprecv.c mrtpsend.c show how to receive and send multiple RTP streams
* simultaneously
*
*/
/**
* \file ortp.h
* \brief General purpose library functions.
*
**/
#ifndef ORTP_H
#define ORTP_H
#include "ortp/rtpsession.h"
#include "ortp/sessionset.h"
#ifdef __cplusplus
extern "C"
{
#endif
bool_t ortp_min_version_required(int major, int minor, int micro);
void ortp_init(void);
void ortp_scheduler_init(void);
void ortp_exit(void);
/***************/
/* logging api */
/***************/
typedef enum {
ORTP_DEBUG=1,
ORTP_MESSAGE=1<<1,
ORTP_WARNING=1<<2,
ORTP_ERROR=1<<3,
ORTP_FATAL=1<<4,
ORTP_LOGLEV_END=1<<5
} OrtpLogLevel;
typedef void (*OrtpLogFunc)(OrtpLogLevel lev, const char *fmt, va_list args);
void ortp_set_log_file(FILE *file);
void ortp_set_log_handler(OrtpLogFunc func);
VAR_DECLSPEC OrtpLogFunc ortp_logv_out;
extern unsigned int __ortp_log_mask;
#define ortp_log_level_enabled(level) (__ortp_log_mask & (level))
#if !defined(WIN32) && !defined(_WIN32_WCE)
#define ortp_logv(level,fmt,args) \
{\
if (ortp_logv_out!=NULL && ortp_log_level_enabled(level)) \
ortp_logv_out(level,fmt,args);\
if ((level)==ORTP_FATAL) abort();\
}while(0)
#else
void ortp_logv(int level, const char *fmt, va_list args);
#endif
void ortp_set_log_level_mask(int levelmask);
#ifdef ORTP_DEBUG_MODE
static inline void ortp_debug(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_DEBUG, fmt, args);
va_end (args);
}
#else
#define ortp_debug(...)
#endif
#ifdef ORTP_NOMESSAGE_MODE
#define ortp_log(...)
#define ortp_message(...)
#define ortp_warning(...)
#else
static inline void ortp_log(OrtpLogLevel lev, const char *fmt,...){
va_list args;
va_start (args, fmt);
ortp_logv(lev, fmt, args);
va_end (args);
}
static inline void ortp_message(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_MESSAGE, fmt, args);
va_end (args);
}
static inline void ortp_warning(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_WARNING, fmt, args);
va_end (args);
}
#endif
static inline void ortp_error(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_ERROR, fmt, args);
va_end (args);
}
static inline void ortp_fatal(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_FATAL, fmt, args);
va_end (args);
}
/****************/
/*statistics api*/
/****************/
extern rtp_stats_t ortp_global_stats;
void ortp_global_stats_reset(void);
rtp_stats_t *ortp_get_global_stats(void);
void ortp_global_stats_display(void);
void rtp_stats_display(const rtp_stats_t *stats, const char *header);
void rtp_stats_reset(rtp_stats_t *stats);
#ifdef __cplusplus
}
#endif
#endif
|