Commit 935a0728 authored by Simon Morlat's avatar Simon Morlat
Browse files

Adapt to belle-sip's changes in resolver api. This avoids useless DNS queries...

Adapt to belle-sip's changes in resolver api. This avoids useless DNS queries when Record-route headers contain hostnames instead of IP addresses.
Using hostnames is better because it abstracts IPv4/IPv6.
parent 82dc9ac4
2008-09-02 Francois-Xavier Kowalski <>
* gtk/ (INCLUDES): 1.6
Deprecated automake directive INCLUDES does not work within a
2008-08-22 Francois-Xavier Kowalski <>
* mediastreamer2/src/ (libmediastreamer_la_SOURCES+): 1.27
Deliver swscale.h in case ffmpeg does not come with libswscale
(in which case the swscale feature is included into
libavcodec). Also deliver ffmpeg-priv.h wrapper.
* mediastreamer2/src/videoout.c: 1.39
* mediastreamer2/src/videodec.c: 1.24
* mediastreamer2/src/sizeconv.c: 1.14
* mediastreamer2/src/pixconv.c: 1.13
* mediastreamer2/src/nowebcam.c: 1.15
Use ffmpeg-priv,h
* mediastreamer2/ 1.13
Remove from CVSm as it is generated by autoheader
* mediastreamer2/ 1.47
Use pkg-config to check for arts
* mediastreamer2/acinclude.m4: 1.12
Remove -I/usr/include and -L/usr/lib(64) from CFLAGS and LIBS.
Check for ffmpeg swscale feature into libavcodec or into
2007-09-26 Francois-Xavier Kowalski <>
* m4/exosip.m4: 1.3
make Linphone buildable with the eXosip/osip version that ships
with Fedora.
* oRTP/include/ortp/stun_udp.h: 1.9
* mediastreamer2/include/mediastreamer2/msvideo.h: 1.7
* mediastreamer2/include/mediastreamer2/msticker.h: 1.6
* mediastreamer2/include/mediastreamer2/msqueue.h: 1.3
Clean ANSI/C vs. ANSI/C++ differences
2007-08-01 Sandro Santilli <>
* console/commands.c: Clean up commands 'nat', 'stun'
and 'firewall' to be more intuitive.
2007-02-03 Francois-Xavier Kowalski <>
* m4/osip.m4 (OSIP_CFLAGS): 1.2
* gnome/ (linphone_applet_LDADD): 1.33
* coreapi/ (liblinphone_la_CFLAGS): 1.38
* console/ (sipomatic_LDADD): 1.45
Cope with osip2-2.2.2 delivered as legacy on FC6. New option
2007-01-18 Francois-Xavier Kowalski <>
* oRTP/ 1.24
* mediastreamer2/ 1.30
* 1.45
Fix RPM package generattion to cope with
2007-01-17 gettextize <>
* m4/gettext.m4: Upgrade to gettext-0.16.1.
* m4/lib-link.m4: Upgrade to gettext-0.16.1.
* m4/lib-prefix.m4: Upgrade to gettext-0.16.1.
* m4/nls.m4: Upgrade to gettext-0.16.1.
* m4/po.m4: Upgrade to gettext-0.16.1.
* m4/codeset.m4: Upgrade to gettext-0.16.1.
* m4/intl.m4: New file, from gettext-0.16.1.
* m4/intldir.m4: New file, from gettext-0.16.1.
* m4/intmax.m4: Upgrade to gettext-0.16.1.
* m4/inttypes_h.m4: Upgrade to gettext-0.16.1.
* m4/inttypes-pri.m4: Upgrade to gettext-0.16.1.
* m4/lock.m4: New file, from gettext-0.16.1.
* m4/longdouble.m4: Upgrade to gettext-0.16.1.
* m4/longlong.m4: Upgrade to gettext-0.16.1.
* m4/size_max.m4: Upgrade to gettext-0.16.1.
* m4/stdint_h.m4: Upgrade to gettext-0.16.1.
* m4/ulonglong.m4: Upgrade to gettext-0.16.1.
* m4/visibility.m4: New file, from gettext-0.16.1.
* m4/ (EXTRA_DIST): Add the new files.
2006-10-18 Sandro Santilli <>
* console/ set osip includes last in the
search path.
2006-09-19 Francois-Xavier Kowalski <>
* (BuildRequires): 1.8
Add RPM build-time dependency on gettext-devel to define
2006-07-26 Sandro Santilli <>
* .cvsignore, developer-docs/mediastreamer/.cvsignore,
ipkg/.cvsignore, mediastreamer2/.cvsignore,
po/.cvsignore, share/cs/.cvsignore:
Added-fixed .cvsignore files
2006-07-20 gettextize <>
* m4/codeset.m4: New file, from gettext-0.14.6.
* m4/gettext.m4: New file, from gettext-0.14.6.
* m4/glibc2.m4: New file, from gettext-0.14.6.
* m4/glibc21.m4: New file, from gettext-0.14.6.
* m4/iconv.m4: New file, from gettext-0.14.6.
* m4/intdiv0.m4: New file, from gettext-0.14.6.
* m4/intmax.m4: New file, from gettext-0.14.6.
* m4/inttypes.m4: New file, from gettext-0.14.6.
* m4/inttypes_h.m4: New file, from gettext-0.14.6.
* m4/inttypes-pri.m4: New file, from gettext-0.14.6.
* m4/isc-posix.m4: New file, from gettext-0.14.6.
* m4/lcmessage.m4: New file, from gettext-0.14.6.
* m4/lib-ld.m4: New file, from gettext-0.14.6.
* m4/lib-link.m4: New file, from gettext-0.14.6.
* m4/lib-prefix.m4: New file, from gettext-0.14.6.
* m4/longdouble.m4: New file, from gettext-0.14.6.
* m4/longlong.m4: New file, from gettext-0.14.6.
* m4/nls.m4: New file, from gettext-0.14.6.
* m4/po.m4: New file, from gettext-0.14.6.
* m4/printf-posix.m4: New file, from gettext-0.14.6.
* m4/progtest.m4: New file, from gettext-0.14.6.
* m4/signed.m4: New file, from gettext-0.14.6.
* m4/size_max.m4: New file, from gettext-0.14.6.
* m4/stdint_h.m4: New file, from gettext-0.14.6.
* m4/uintmax_t.m4: New file, from gettext-0.14.6.
* m4/ulonglong.m4: New file, from gettext-0.14.6.
* m4/wchar_t.m4: New file, from gettext-0.14.6.
* m4/wint_t.m4: New file, from gettext-0.14.6.
* m4/xsize.m4: New file, from gettext-0.14.6.
* m4/ (EXTRA_DIST): Add the new files.
* (EXTRA_DIST): Add config.rpath.
2006-07-07 Francois-Xavier Kowalski <>
* (Version): 1.7
Force build of gtk-doc, as the default choice that comes with
GTK_DOC_CHECK m4 macro is "no".
2006-05-17 Francois-Xavier Kowalski <>
* 1.179
* 1.178
Allow rpm users to use oRTP packages built from Linphone root.
May 8 2006 : Sandro Santilli <>
* lowered libspeex requirement to 1.1.6
undefined yet: linphone-1.4.0
- new audio/video streaming engine (mediastreamer2) that let the following improvements:
+ split video frame to get them smaller than MTU
+ less video latency
+ video supported at CIF and QCIF resolution with variable framerate.
+ arts sound input/output
+ improved sound latency with alsa
+ alsa support works with dmix/dsnoop
+ old oss drivers that don't like select and non blocking mode should finally work
- lpc10-15 support removed (speex does better at 8kbit/s)
- jack support unported to mediastreamer2, sorry : volunteer needed
- video resolution and framerate set according to bandwidth constraints.
- linphonec new "soundcard" command to list and choose sound devices.
- new download and upload bandwidth parameters.
March 31 2006: linphone-1.3.4
- fix linphonec bug in auto-answer mode: was terminating call after a few seconds.
March 28 2006: linphone-1.3.3
- various FedoraCore 4 compile problem solved
- fix video bug ('could not mmap': happening on kernel>=2.6.15 with pwc driver)
- SIP register were not using route field (submitted patch)
March 17 2006: linphone-1.3.2
- fix early media call problem: ack for 200ok was never sent.
March 10 2006: linphone-1.3.1
- fix compile errors with gcc-2.95 (thanks Wolfram Gloger)
March 8 2006 : linphone-1.3.0 (SUMMARY)
- a lots of improvements in linphonec (see strk 's Changelogs below)
- telephone event problem with sipomatic.
- updated cz translation.
- fix bugs around addressbook.
- video support with H263-1998/RFC2429 nearly clean.
- added timeout for incoming calls
February 20 2006 : Sandro Santilli <>
* console/commands.c: added filter support for
command 'friend list'.
February 13 2006 : Sandro Santilli <>
* console/linphonec.c: fixed unused variable warning.
February 02 2006 : Sandro Santilli <>
- Padded vtable with missing callbacks
(fixing a segfault on friends subscription)
- Handled friends notify (bare version)
- Handled text messages receive (bare version)
- Printed message on subscription request (bare version)
- Added 'friend list' and 'friend call' commands
- Allowed for multiple DTMF send in a single line
- Added status-specific callback (bare version)
January 26 2006 : Sandro Santilli <>
- Core: fixed bug in linphone_core_set_nat_address refusing
to set address if use flag was off, added support
for NULL addr parameter to only change use flag.
- Support: added missing GFileTest enum values
- Console: 'nat' commands, cleanups
January 25 2006 : Sandro Santilli <>
- Core: added request uri in proxy registration failure message
- Console: removed the -t switch
(terminate on close is default behaviour)
January 20 2006 : Sandro Santilli <>
- Console:
linphonec_init() and linphonec_finish() functions. Handled
SIGINT and SIGTERM to invoke linphonec_finish(). Handling of
auto-termination (-t) moved to linphonec_finish(). Reworked main
(input read) loop to not rely on 'terminate' and 'run' variable
(dropped). configfile_name allocated on stack using PATH_MAX
limit. Changed print_usage signature to allow for an exit_status
January 18 2006 : Sandro Santilli <>
- Console:
Command completion inhibited
in proxy addition and auth request prompts. Avoided use of
readline's internal filename completion.
January 14 2006 : Sandro Santilli <>
- Console:
Reworked commands interface to use a table structure, used by
command line parser and help function. Implemented first
level of completion (commands). Added notification of
invalid "answer" and "terminate" commands (no incoming call,
no active call). Forbidden "call" intialization when a call is
already active. Cleaned up all commands, adding more feedback
and error checks.
January 13 2006 : Sandro Santilli <>
- Console:
Added linphonec.h. Code layout change (added comments, forward
decl, globals on top, copyright notices and Logs). Handled
out-of-memory condition on history management. Removed
assumption on sizeof(char). Fixed bug in authentication
prompt (introduced by readline). Added support for multiple
authentication requests (up to MAX_PENDING_AUTH).
January 12 2006 : Sandro Santilli <>
- Console:
Changed default configuration file to ~/.linphonerc,
automatically handling migration from old layout if not present
(use ~/.linphonec or ~/.gnome2/linphone). Added compile-time
define to show identity in prompt. Used EXIT_SUCCESS and
Made readline use ~/.linphonec_history file for
reading/writing. Fixed auto-call handling code. Fixed
OOB write of sscanf() in linphonec_parse_command_line().
Simplified control flow in linphonec_main_loop().
Put linphonec_{initialize,finish}_readline() calls out of
main_loop(). Removed redundant exit(0) at end of main().
Fixed small leaks.
December 14 2005 : linphone-1.2.0
- various ipv6 bugfixes (again)
- fix file (was utf-8 but declared as iso8902)
- enum/automatic proxy conflict solved. use "sip:7887488478" for enums, just "382884824" to go through the default proxy.
- experimental video support progresses, compliance improved.
- remove ilbc from source tree: it is now available as a separete plugin.
- updated to work with lastest ffmpeg cvs
- fix bug when answering 'busy here'; active call was closed !
- fix Ctrl+H bug in linphonec
- added bresilian translation
- added swedish translation
- uri bar improvements
- fix a DoS attack by setting a payload type number > 127
August 24 2005 : linphone-1.1.0
- peer to peer text chat
- automatic sip url completion when using a default proxy:
when user types 'mymother' in the url bar, linphone calls sip:mymother@[default-proxy]
- ilbc 20 and 30 miliseconds frames support
- support for setting a soundcard for playback and another for record
- ipv6 bugfixes: works with ipv6 local loopback with sipomatic at least ! Needs to be tested in a real network.
- gtk interface bugfixes
- increase max supported sound devices (was 5).
- automatic incoming redirections
- experimental video support (needs special compilation procedure, see mailing lists)
March 27 2005 : linphone-1.0.1
- patch for NAT traversal (SDP connection address in SDP answer)
- patch for writing correct port information when NAT is enabled
- patch for always using "rport" extension to traverse NAT with
- patch for saving/restoring correct configuration of proxy:
"reg_register" -> "reg_sendregister" and fix for saving "expires"
March 21 2005 : linphone-1.0.0
- switch from osipua to eXosip/osip2 for improved sip functionnalities and compliance.
- support for presence (busy, online...) for everyone in the address book (uses SUBSCRIBE/NOTIFY)
- support for PUBLISH (presence information through sip servers)
- support for configuring multiple proxies.
- RTP adaptive jitter buffer ( provides lower latency )
- RTCP coumpound messages sent periodically.
- on demand digest authentication for INVITE and REGISTER
- support for 183 with sdp answers.
- add support for jackd (contributed)
- call logging
- arm build improved
- cz and nl translations contributed.
January 2004 : linphone-0.12.2
- add enum support (see RFC3241 and RFC3026)
Thanks to Rene Bartsch < ml at bartschnet dot de > for its usefull
and precious help.
- interactive presence box (no more need to click OK to confirm)
- update spanish translation
- alsa interface: the user can choose precisely the pcm device to be used
by setting the sound/alsadev parameter of the config file.
- use 1 RTP socket instead of 2: this makes linphone NAT-friendly.
Thursday October 2 2003 : linphone-0.12.1
- add support for personalizing rings.
- make glib dependency optionnal (but recommended).
- add polish translation.
- use of libartsc to suspend arts instead of killing him.
Tuesday August 19 2003 : linphone-0.12.0
- add support for speex/16000
- re-enable alsa support (0.9.x)
- few improvements on gui.
- added spanish translation by Jess Bentez <gnelson at inMail dot sk>
Monday April 05 2003: linphone-0.11.0
- merge ipv6 support patch, contributed by Koichi KUNITAKE
< kunitake at linux-ipv6 dot org > (thanks !)
- some improvements on graphical interface.
Friday Feb 28 2003 : linphone-0.10.1
- add firewall friendly capability
- compiles all well on arm-linux
- bugfixes.
Friday Jan 24 2003 : linphone-0.10.0
- Gnome interface ported to gnome-2
- Unified core engine for both graphical and console interface.
- Many bug fix and improvements in the SIP stack.
- Japoneese translations and manual added, by Yamaguchi Yoshiya.
- updated for speex-1.0rc1
- ported to FreeBSD thanks to Georg Shwarz
Monday Oct 21 2002 : linphone-0.9.1
- AMD: add support for the "received" and "rport" parameter in osipua.
Monday Oct 21 2002 : linphone-0.9.1
- integration of the patch of Lenaic Huard that adds the ability for linphone to send
dtmf tones through rtp (only reported to console interface).
- following this patch, a nice keypad has been added to the graphical interface to bring
the fonctionnality of the patch gui's users.
- integration of the patch of Aymeric Moizard, concerning compliance with RFC3261 (new
sip's RFC) using the new dialog_t api of libosip.
- updated for use of speex-beta1 (speex codec)
- osipua fix by
1: reject calls with 603
2: establishement of 1 early dialog for incoming calls.
3: update to libosip CVS and its new OSIP_TRACE MACROs.
4: fix presence handling.
5: fix expires header in REGISTER.
Monday Aug 26 2002: linphone-0.9.0
- the sdp rtpmap string for alaw and mulaw codec was incorrect.
Sunday Aug 4 2002: linphone-0.9.0pre3
Non visible changes:
- Linphone's internal audio architecture is ported to the new mediastreamer architecture.
The mediastreamer library is already present in linphone since October 29 2001 but
was never used at this time by the core program. Now lots of work has be done inside the
mediastreamer so that it is ready to be used by the core program. As a consequence, the
old architecture defined by the audio/ directory and the codec.c io.c files is dropped.
The mediastreamer architecture provides a modular framework for audio and video
processing. It includes various audio and video codecs (or wrappers to third party
audio and video codecs).
Visible changes:
- The Speex codec ( is now availlable to linphone, since it has
its mediastreamer wrapper. This patent-free codec provides two bitrates, the lowest
being able to work with 56k dialup connections. This is a very important step, because
from now only the low quality LPC10 codec was availlable for such connections.
- Thanks to Florian Winsterstein (f-win at, a console version of linphone called
"linphonec" is availlable. Linphonec can be compiled without gnome.
Wednesday May 8 2002: linphone-0.8.0
Visible changes:
- Updated to libosip-0.8.5, that reflects the lastest sip draft.
- Uses the SDP parser the libosip, and uses also a modified version of its SDP negociator.
The MediaDesc object is removed, now osipua users have to deal with BodyHandler's, as the
SdpHandler that deals with sdp message generation and negociation.
The SDP parser and negociator can use the a=rtpmap fields, so that compliance is improved.
- LPC10-1.5 codec has been assigned payload type 115 instead of 4 previously. This breaks
compatibility with older versions of linphone.
- oRTP (the new RTP library) is used in place of the old lprtplib.
- fix endianess problems in the audio part.
Non visible changes (changes on libraries not currently used by linphone but used later):
- mediastreamer has new working objects: webcam image capture, mpeg encoding and decoding
thanks to the libavcodec (ffmpeg) library, rtp wrapper thanks to oRTP.
Tuesday April 15 2002: linphone-0.7.2
- A crash in property box "apply" fixed.
- bugfix in osipua.
Tuesday March 12 2002: linphone-0.7.1
- Some bug fixes by Bryan Ogawa in osipua: route, record-route, tags.
Friday March 1 2002: linphone-0.7.0
- Digest authentification support added by Aymeric.
- Improvements in property box.
- Translations in German and Italian by J.J. Sarton and A. Zanoni
- Bugfix and improvements in the osipua stack.
- Better handling of the registration parameters (the user can set its own address of record).
Thu December 6 2001
-osipua.c: Memory allocations.
fi call of from_tag_add(...,sgetcopy(ua->fromtag));
-utils.c: Memory allocations.
-CallLegs are removed automatically by the osipua layer (eg: when a transaction timed out).
Tue November 27 2001
-Bugfix in osipua for proxy support: record-route and route header support, request-uri bug fixed.
-New choice "outbound proxy" in the property box.
-Fix compilation issues.
Mon October 29 2001
-New unithreaded design of the osipua library, based on libosip-0.7.x series.
-Asynchronous name resolution in osipua.
-To and From tag support added.
-Proxy support added. The user can choose between registering for a redirect server, or
registering for a proxy server. When he choose proxy, then all requests are sent to the proxy.
-New good looking graphical interface.
-Mediastreamer is included, but still unused. It has a begin of gtkdoc dcocumentation.
Wed September 26 2001
-Add registration and redirection ability in gui and osipua.
-Critical bugs in osipua/osip fixed.
-Display all sip error strings in appbar.
-Documentation translated in French.
Tue August 21 2001
- Add address book functionnality
- Add ringback
- Minor bugfixes in, src/callbacks.c
- Work with libosip-0.6.1
Wed August 1 2001:
- Integration with osip sip stack. lpsiplib is no more used and abandonned. osipua provides the session level
on top of osip.
- added G711 codecs.
- configuration structures and api re-written for more clarity.
- new codec selection box
- new sytem for codec registration
- automatic selection of codecs regarding to network connection type.
- add resizing ability for icon applet.
June 2001: linphone-0.3.0
-Nearly all code in linphone is object oriented.
-linphone can be run as a gnome applet, or as a silent dameon, or as a normal application.
-bugfixes in sip/sdp messages.
-addition of a test program called sipomatic that can automatically answers to call. (for test)
-add io_disk implementation of the audio lib. this can be used to replace the sond card by io on file system.
Tue May 15 2001: linphone-0.2.1
-Fix a stupid bug in the audio library.
Fri May 11 2001: linphone-0.2.0
-add many missing features of version 0.1.0 (for the property box)
-audio levels on the main window.
-Sip library modified: now it uses one thread, and should be able to handle several calls in the future.
-audio library is more performant. It is able to find itself the best blocksize (latency) by testing the driver.
-interactive help on the property box and user manual.
-add an icon.
linphone-0.1.0 :
Released on april,19 2001
Initial version.
# Change Log
All notable changes to this project will be documented in this file.
Group changes to describe their impact on the project, as follows:
Added for new features.
Changed for changes in existing functionality.
Deprecated for once-stable features removed in upcoming releases.
Removed for deprecated features removed in this release.
Fixed for any bug fixes.
Security to invite users to upgrade in case of vulnerabilities.
## [Incomming]
### Added
- Avoid some SIP DNS lookups by keeping SRV target names
......@@ -41,7 +41,7 @@ static void linphone_nat_policy_destroy(LinphoneNatPolicy *policy) {
if (policy->ref) belle_sip_free(policy->ref);
if (policy->stun_server) belle_sip_free(policy->stun_server);
if (policy->stun_server_username) belle_sip_free(policy->stun_server_username);
if (policy->stun_addrinfo) bctbx_freeaddrinfo(policy->stun_addrinfo);
if (policy->resolver_results) belle_sip_object_unref(policy->resolver_results);
if (policy->stun_resolver_context) {
......@@ -185,9 +185,9 @@ void linphone_nat_policy_set_stun_server(LinphoneNatPolicy *policy, const char *
if (new_stun_server != NULL) {
policy->stun_server = new_stun_server;
if (policy->stun_addrinfo) {
policy->stun_addrinfo = NULL;
if (policy->resolver_results) {
policy->resolver_results = NULL;
if (policy->stun_resolver_context){
......@@ -213,18 +213,21 @@ void linphone_nat_policy_set_stun_server_username(LinphoneNatPolicy *policy, con
if (new_username != NULL) policy->stun_server_username = new_username;
static void stun_server_resolved(void *data, const char *name, struct addrinfo *addrinfo, uint32_t ttl) {
static void stun_server_resolved(void *data, belle_sip_resolver_results_t *results) {
LinphoneNatPolicy *policy = (LinphoneNatPolicy *)data;
if (policy->stun_addrinfo) {
policy->stun_addrinfo = NULL;
if (policy->resolver_results) {
policy->resolver_results = NULL;
if (addrinfo) {
if (belle_sip_resolver_results_get_addrinfos(results)) {
ms_message("Stun server resolution successful.");
policy->resolver_results = results;
} else {
ms_warning("Stun server resolution failed.");
policy->stun_addrinfo = addrinfo;
if (policy->stun_resolver_context){
policy->stun_resolver_context = NULL;
......@@ -266,17 +269,17 @@ const struct addrinfo * linphone_nat_policy_get_stun_server_addrinfo(LinphoneNat
* - if no cached value exists, block for a short time; this case must be unprobable because the resolution will be asked each
* time the stun server value is changed.
if (linphone_nat_policy_stun_server_activated(policy) && (policy->stun_addrinfo == NULL)) {
if (linphone_nat_policy_stun_server_activated(policy) && (policy->resolver_results == NULL)) {
int wait_ms = 0;
int wait_limit = 1000;
while ((policy->stun_addrinfo == NULL) && (policy->stun_resolver_context != NULL) && (wait_ms < wait_limit)) {
while ((policy->resolver_results == NULL) && (policy->stun_resolver_context != NULL) && (wait_ms < wait_limit)) {
wait_ms += 50;
return policy->stun_addrinfo;
return policy->resolver_results ? belle_sip_resolver_results_get_addrinfos(policy->resolver_results) : NULL;
LinphoneNatPolicy * linphone_core_create_nat_policy(LinphoneCore *lc) {
......@@ -470,7 +470,7 @@ struct _LinphoneNatPolicy {
void *user_data;
LinphoneCore *lc;
belle_sip_resolver_context_t *stun_resolver_context;
struct addrinfo *stun_addrinfo;
belle_sip_resolver_results_t *resolver_results;
char *stun_server;
char *stun_server_username;
char *ref;
......@@ -50,9 +50,11 @@ LINPHONE_PUBLIC void linphone_core_use_sound_daemon(LinphoneCore *lc, LinphoneSo
LINPHONE_PUBLIC void linphone_sound_daemon_destroy(LinphoneSoundDaemon *obj);
LINPHONE_DEPRECATED typedef void (*LinphoneEcCalibrationCallback)(LinphoneCore *lc, LinphoneEcCalibratorStatus status, int delay_ms, void *data);
LINPHONE_DEPRECATED typedef void (*LinphoneEcCalibrationAudioInit)(void *data);
LINPHONE_DEPRECATED typedef void (*LinphoneEcCalibrationAudioUninit)(void *data);
/*These typedefs are deprecated, but we don't mark them LINPHONE_DEPRECATED otherwise we get deprecation warnings with
* the deprecated linphone_core_start_echo_calibration() that make use of them*/
typedef void (*LinphoneEcCalibrationCallback)(LinphoneCore *lc, LinphoneEcCalibratorStatus status, int delay_ms, void *data);
typedef void (*LinphoneEcCalibrationAudioInit)(void *data);
typedef void (*LinphoneEcCalibrationAudioUninit)(void *data);
* @brief Starts an echo calibration of the sound devices, in order to find adequate settings for the echo canceler automatically.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment