/usr/include/mediastreamer2/mscommon.h is in libmediastreamer-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 200 201 202 203 204 205 206 | /*
mediastreamer2 library - modular sound and video processing and streaming
Copyright (C) 2006 Simon MORLAT (simon.morlat@linphone.org)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef mscommon_h
#define mscommon_h
#include <ortp/ortp.h>
#define ms_malloc ortp_malloc
#define ms_malloc0 ortp_malloc0
#define ms_realloc ortp_realloc
#define ms_new ortp_new
#define ms_new0 ortp_new0
#define ms_free ortp_free
#define ms_strdup ortp_strdup
#define ms_strdup_printf ortp_strdup_printf
#define ms_mutex_t ortp_mutex_t
#define ms_mutex_init ortp_mutex_init
#define ms_mutex_destroy ortp_mutex_destroy
#define ms_mutex_lock ortp_mutex_lock
#define ms_mutex_unlock ortp_mutex_unlock
#define ms_cond_t ortp_cond_t
#define ms_cond_init ortp_cond_init
#define ms_cond_wait ortp_cond_wait
#define ms_cond_signal ortp_cond_signal
#define ms_cond_broadcast ortp_cond_broadcast
#define ms_cond_destroy ortp_cond_destroy
#ifdef WIN32
static inline void ms_debug(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_DEBUG, fmt, args);
va_end (args);
}
#else
#ifdef DEBUG
static inline void ms_debug(const char *fmt,...)
{
va_list args;
va_start (args, fmt);
ortp_logv(ORTP_DEBUG, fmt, args);
va_end (args);
}
#else
#define ms_debug(...)
#endif
#endif
#define ms_message ortp_message
#define ms_warning ortp_warning
#define ms_error ortp_error
#define ms_fatal ortp_fatal
#define ms_return_val_if_fail(_expr_,_ret_)\
if (!(_expr_)) { ms_error("assert "#_expr_ "failed"); return (_ret_);}
#define ms_return_if_fail(_expr_) \
if (!(_expr_)){ ms_error("assert "#_expr_ "failed"); return ;}
#define ms_thread_t ortp_thread_t
#define ms_thread_create ortp_thread_create
#define ms_thread_join ortp_thread_join
#define ms_thread_exit ortp_thread_exit
struct _MSList {
struct _MSList *next;
struct _MSList *prev;
void *data;
};
typedef struct _MSList MSList;
#define ms_list_next(elem) ((elem)->next)
#ifdef __cplusplus
extern "C"{
#endif
MSList * ms_list_append(MSList *elem, void * data);
MSList * ms_list_prepend(MSList *elem, void * data);
MSList * ms_list_free(MSList *elem);
MSList * ms_list_concat(MSList *first, MSList *second);
MSList * ms_list_remove(MSList *first, void *data);
int ms_list_size(const MSList *first);
void ms_list_for_each(const MSList *list, void (*func)(void *));
void ms_list_for_each2(const MSList *list, void (*func)(void *, void *), void *user_data);
MSList *ms_list_remove_link(MSList *list, MSList *elem);
MSList *ms_list_find(MSList *list, void *data);
MSList *ms_list_find_custom(MSList *list, int (*compare_func)(const void *, const void*), void *user_data);
void * ms_list_nth_data(const MSList *list, int index);
int ms_list_position(const MSList *list, MSList *elem);
int ms_list_index(const MSList *list, void *data);
MSList *ms_list_insert_sorted(MSList *list, void *data, int (*compare_func)(const void *, const void*));
MSList *ms_list_insert(MSList *list, MSList *before, void *data);
MSList *ms_list_copy(const MSList *list);
#undef MIN
#define MIN(a,b) ((a)>(b) ? (b) : (a))
#undef MAX
#define MAX(a,b) ((a)>(b) ? (a) : (b))
/**
* @file mscommon.h
* @brief mediastreamer2 mscommon.h include file
*
* This file provide the API needed to initialize
* and reset the mediastreamer2 library.
*
*/
/**
* @defgroup mediastreamer2_init Init API - manage mediastreamer2 library.
* @ingroup mediastreamer2_api
* @{
*/
/**
* Initialize the mediastreamer2 library.
*
* This must be called once before calling any other API.
*/
void ms_init(void);
/**
* Load plugins from a specific directory.
* This method basically loads all libraries in the specified directory and attempts to call a C function called
* \<libraryname\>_init. For example if a library 'libdummy.so' or 'libdummy.dll' is found, then the loader tries to locate
* a C function called 'libdummy_init()' and calls it if it exists.
* ms_load_plugins() can be used to load non-mediastreamer2 plugins as it does not expect mediastreamer2 specific entry points.
*
* @param directory A directory where plugins library are available.
*
* Returns: >0 if successfull, 0 if not plugins loaded, -1 otherwise.
*/
int ms_load_plugins(const char *directory);
/**
* Release resource allocated in the mediastreamer2 library.
*
* This must be called once before closing program.
*/
void ms_exit(void);
struct _MSSndCardDesc;
void ms_sleep(int seconds);
void ms_usleep(uint64_t usec);
/**
* The max payload size allowed.
* Filters that generate data that can be sent through RTP should make packets
* whose size is below ms_get_payload_max_size().
* The default value is 1440 computed as the standard internet MTU minus IPv6 header,
* UDP header and RTP header. As IPV4 header is smaller than IPv6 header, this
* value works for both.
*
**/
int ms_get_payload_max_size();
void ms_set_payload_max_size(int size);
/**
* Returns the network Max Transmission Unit to reach destination_host.
* This will attempt to send one or more big packets to destination_host, to a random port.
* Those packets are filled with zeroes.
**/
int ms_discover_mtu(const char *destination_host);
/**
* Set mediastreamer default mtu, used to compute the default RTP max payload size.
* This function will call ms_set_payload_max_size(mtu-[ipv6 header size]).
**/
void ms_set_mtu(int mtu);
/** @} */
#ifdef __cplusplus
}
#endif
#endif
|