Publishing details
Changelog
sflphone-common (1.3.0-rc20140530~ppa1~precise) precise; urgency=low
** SNAPSHOT 1.3.0-rc20140530~ppa1~precise **
* video: fix build
* video_manager: expose getCapabilities() to DBus
* video_preferences: implement getCapabilities()
* decoder: indicate that frames are refcounted
* configure: relax libavutil requirement even further
* video: unbreak start/stopCamera
* configure: relax libavutil requirements
* video: fix macro
* daemon: (video) fix VideoFrame.clone() build
* daemon: (video) support for old libavutil
* daemon: (video) fix possible memory leak
* daemon: (video) take care of frame ratio during mixing
* daemon: (video) simplify video mixing
* configure: increase minimum libavutil version
* daemon: (video) use const keyword for scaler input args
* daemon: (video) little performance improvement in video scaler
* daemon: (video) refactor video mixer rendering
* daemon: (video) update video base to latest libav API
* audiortp: stop receiving RTP before destructor finishes
* daemon: (video) refactor video manager
* daemon: (video) fix SHMSink::update
* video mixer: fix frame pointer ref count
* video: don't notify the client until buffer is ready
* dsp: fix uninitialized variable error
* test: do not ignore system return value
* audiopreference: make sure to expand the input path
* fileutils: wordexp.h not available on android
* fileutils: only call wordfree for success and WRDE_NOSPACE
* fileutils: add unit tests for the expand function
* fileutils: add utility for path expansion
* mainbuffer: don't remove readoffset from map while in use
* tlsvalidation: don't error out prematurely
* dsp: manage dsp states with unique_ptrs
* mainbuffertest: only test public API
* video: use correct mutex, fix build
* video mixer: change mutex to rw_mutex
* video mixer: robustify frame refcount when rendering
* video mixer: moved constructor defaults in class definition
* daemon: replace unique_lock by lock_guard
* video_preferences: robustify getters and setters
* ringbuffer: rename ReadPointer to ReadOffset
* audiosrtp: fix warning
* mainbuffer: const on return type has no effect
* tlsvalidation: load all root CAs from the trusted store
* mainbuffer: remove unused header
* mainbuffer: use lock_guard instead of unique_lock
* daemon: (audio) re-implement MainBuffer with less global locking.
* audiortp: fix member variable names
* test: fix setting the user folder
* video_preferences: unserialize and merge defaults
* video: remove unused blit() code
* daemon: add -p persistent mode
* configure: pretty-print build output
* video: remove unneeded sleeps
* sip: remove bogus error message
* ringbuffer: remove unused getter()
* preferences: remove dead zeroconf code
* tlstest: add hostname testing
* tlstest: add expired certificate test
* tlstest: add invalid CA test
* tlstest: add certificate without CA test
* tlstest: add CA/Certificate test
* tlstest: add private key testing
* build: remove OpenSSL dependency
* Rewrite audio srtp key generation and base64 functions internally
* android: no GNU TLS support yet
* gnutls: fix CFLAGS variable
* daemon: fix a race condition in threadloop class
* daemon: (video) remove possible race condition
* daemon: (video) robustify videoinput decoding
* daemon: (video) decoder doesn't restart when decoding fails
* daemon: (video) don't saturate bandwidth for still images
* video: don't use std::string::data with C-style printing
* video_preferences: check default device presence
* Rewrite the TLS validation functions using GnuTLS
* sip: drop unnecessary header
* build: add GnuTLS library
* build: group OpenSSL library under the BUILD_TLS condition
* manager: remove unneeded HAVE_DBUS
* video: remove mirror() code
* pjsip: don't export PREFIX et al
* video_input: clear all options on switch
* configure: test for presence of dbusxx-xml2cpp
* client: expose setPreferences()
* video: add setPreferences()
* client: expose getPreferences()
* video: add getPreferences()
* daemon: (videoPreference) add default preferences
* daemon: (VideoInput) stop if no decoder has been created
* daemon: (client) add getSettingsFor() stub
* video_input: reject prefix-only MRL's
* videomixer: explicitly call join() in VideoMixer's destructor
* daemon: (dbus) expose getSettingsFor() method
* audiortp: make waitForDataEncode const
* mainbuffer: remove default parameters/dead code
* audiortp: fix broken conditional
* audiortp: drop AudioRtpSendThread
* daemon: (VideoMixer) mixer based on threadloop design
* audiortp: fix initialization order
* video: remove check.h
* de-cpp-fy logger
* logger: remove code from header
* video: do threading via composition not inheritance
* daemon: remove the VideoCodec class
* video: use enum class instead of magic numbers
* sip: fix use after free
* audiortp: fix use after free
* video: switchPending_ should be atomic
* ip_utils: remove error messages that aren't errors
* video_input: rename id_ to sinkID_
* video_input: fix initialization order warnings
* audiortp: fix compiling without speexdsp
* daemon: (VideoInput) merge VideoInputSelector
* audio_rtp: cleanup
* video: dbus: indicate if texture is a mixer
* tls: Fix assert with invalid hostnames
* unit tests: only check for ost::IPV6Address bug when IPv6 is enabled
* daemon: isolate V4L-specific implementation
* ip_utils: fix unit test failures
* ip_utils: add test suite
* video: refactor video conference pipeline setup.
* videortp: split start into startSender and startReceiver
* video: use recursive mutex, only lock when needed
* videortp: non-synchronized methods should not be public
* compile_pjsip: disable unused codec
* ip_utils: don't perform hostname resolution if a literal IP address
is provided
* pulseaudio: log more info when default devices are not found
* .gitignore: remove old dbus-c++ folders
* build: remove empty statements
* ip_utils: avoid depending directly on commoncpp
* Use top Via SIP header to guess account
* siptransport: give remote name to pjsip_tpmgr_find_local_addr2
* ip_utils: add IpAddr
* Revert "iax2: fix memory leak"
* video: fix uninitialized variable warnings
* daemon: (VideoManager) document "file://" MRL
* daemon: (VideoManager) isolate DBus-specific implementation
* daemon: do not poll video RTCP stream
* daemon: (VideoManager) remove inputClient_
* daemon: rename VideoControls to VideoManager
* daemon: avoid dead stores as reported by scan-build
* client: do not compile undefined types
* videocontrols: return unnamed variables
* daemon: fix return type in stub
* pjsip: compile with IPv6 support
* README: add a note for clang compatibility
* daemon: prevent compiling dbus when clang is used
* doc: do not build dbus-api when dbus is disabled
* iax2: explicitly define the structure to avoid linkage problems
* daemon: check for a supported ucommon version when using clang
* daemon: check whether we are using clang
* daemon: explicitly set strict c++11 compliance
* pjsip: drop a few useless unsigned comparisons
* pjsip: fix a few minor warnings reported from clang
* pjsip: allow compiling with clang
* jni: fix method signature
* allow compiling when dbus is disabled
* client: supply stub implementation when dbus is not available
* callmanager: fix argument type
* client: split the dbus Makefile into generic parts
* dbus: avoid shadowing variables
* configure: remove empty statement
* daemon: (VideoPreference) ensure active device is plugged
* audiortp: resync timestamp on CCRTP if necessary
* daemon: split getAudioDeviceIndex
* logger: fix logStr for non-glibc, add optional message argument
* pulseaudio: use device description for user preferences
* sipaccount: ensure IPv6 addresses have square brackets in sip URLs
* ip_utils: always init sockaddr family in getInterfaceAddr
* ip_utils: don't use local IPv6 if disabled
* ipv6: fix configure flag
* sipvoiplink: show error details for registration structure
initialisation failure
* ip_utils: allow to specify address family in getAddrList
* video: use constant in anonymous namespace instead of #define
* daemon: (VideoPreference) support multiple devices
* daemon: (VideoV4l2ListThread) remove updateDefault
* video: skip RTCP to fix excessive RTP packet loss
* video: more robustness for RTP/RTCP receiving
* video: use constant for poll timeout
* dbus: parameter name must differ from method name
* video_decoder: make sure not to use deprecrated functions
* video_decoder: include unistd.h for older libavutil
* video_decoder: use LIBAVUTIL_VERSION_CHECK to check libavutil
features
* video: fix broken format string
* audio: don't start already running thread
* daemon: (VideoInput) framerate_ -> frameRate_
* daemon: (VideoInput) video_size_ -> videoSize_
* video: use 4 spaces, not tabs
* video: group libav macros together
* video: implement framerate emulation
* iax2: prevent possible null pointer dereferences
* iax2: fix memory leak
* iax2: fix two unused variable warnings
* daemon: indent configure help
* conference: only create video mixer if needed
* video: Add missing header for android
* video: increase libav/ffmpeg verbosity in debug mode
* sip/ip: remove verbose logging
* daemon: add getDisplayNames(conferenceID) D-Bus method
* Set recorder streamType to
SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION
* video: fix make check
* video: don't add video information to getCallDetails
* daemon: (VideoInputSelector) test file existence
* daemon: (VideoInput*) support image stream
* daemon: (VideoInputSelector) use MRL
* daemon: (VideoDecoder) explicit error message
* video: use av_write_frame instead of av_interleaved_write_frame
* ip_utils: cleanup
* ip_utils: fix buffer overflow
* sdp: use two lists of codecs and prefer using the intersection
* ringbuffer: remove default arguments
* codecs: enable Opus by default for new accounts
* daemon: update README
* video: don't assume that v4l lists are populated
* rtp: fix typo
* sdp: put local codecs on the top of the list
* ip_utils: allow to specify address family when resolving domains
* presence: avoid NULL dereference
* pjsip: allow parallel builds
* presence: fix NULL dereference
* sip: don't try to read port from uninitialised sockaddr
* net: resize adress string to proper length
* sip: properly read STUN address
* sip: transport key handle STUN
* android: Activation IAX2
* audio_rtp: apply the proper gain
* sdp: fix failed unit tests
* siptest: update to new version of SIPVoIPLink::instance()
* second attempt to fix the build
* ipv6: prevent compilation failure if CCRTP is not compiled with IPV6
support
* siptransport: rework transport released callback
* siptransport: make transport_ private
* siptransport: move static utilities to ip_utils
* siptransport: optional "transport released" callback in constructor
* sipvoiplink: lock mutex in getCalls()
* map_utils: add vectorFromMapValues and findByValue
* net: use the same address family as the published IP for SIP
tranport
* sip: match account based on sockaddr rather than string
* manager: ip2ip account should be lowest priority
* sipvoiplink: decide transport type before creating it
* sdp: includes cleanup
* sipaccount: add getTransportType method
* manager: add freeAccount to release ressources related to an account
* sipaccount: fix registration info leak
* sip: fix pjsip_tpselector leak
* net: use a separate module for IP networking utilities
* voiplink: add a method to get a list of calls using an account
* sip: use reference for SIPVoipLink singleton
* net: use sockaddr when relevant
* sip: do NULL check before dereference
* ringbuffer: fix modulo 0
* iax: Fix wrong header
* ringbuffer: fix warnings
* ringbuffer: cleanup
* ringbuffer: fix uninitialzed return variable
* tone: fix division by zero
* android: add swig type for map<string, int>
* android: Add rtcp callback for android client
* Don't include <error.h> when building iax for android
* sip: disable "verify certificates as a server" by default
* tls: cleanup
* audiortp: fix round trip delay calculation
* tls: add file check when verifying RSA key presence
* tls: add proper validity period check
* Add jni calls for tls check methods
* rtcp: fix round trip delay calculation
* rtcp: cleanup
* rtcp: calculate Round Trip Delay
* launchpad: fix pjsip configuration
* tools: fix compile_pjsip.sh
* tools: add -a flag to build pjsip for Android
* sip: migrate to pjsip 2.2.1
* tls: fix impossible conditional
* tls: cleanup
* tls: fix memory leak
* tls: convert to namespace, cleanup
* tls: remove redundant copy
* tls: simplify test
* video: avoid AVPacket warnings
* tls: fix build if configured --without-tls
* video: refactor/add more error handling
* video: initialize packet earlier (cosmetic)
* test: add unit test for certificate validation
* videortp: don't lock mutex while it's already locked
* Use htons/l to retrieve correct stats
* video: use int64_t for frame counter
* video: print errors for older libavformat as well
* rtcp: fix arithmetic overflow
* audiortp: rename JITTER_DEBUG -> RTP_DEBUG and use for RTCP
* video: print cause fo interleaved_write_frame failure
* Add boolean return statement and check on file existence
* Add dbus security API
* Change prototypes to C++ style, add logging function for certificate
* Extract validity period of certificate
* Add check on pem file
* Add static security checker module
* Add log to current test implementation
* Set host and port dynamically, based on account details
* Add SSL handshake test
* Replace inline first test check with proper function
* Add simple check when setting tls account details in daemon
* audiocodec: bump AUDIO_CODEC_ENTRY since the API has changed
* Trigger dbus callback with partial rtcp values Comment debug log,
add comment info
* Add rtcp callback for android
* Add rtcp signal in dbus
* Extract packet loss fraction and cumulative packet loss calculation
* Add debug infos in RTCP hooks
* alsa: don't call usleep and reset buffers when tones/ringtones are
exhausted
* audiortp: cosmetics
* audiortp: fix warnings
* audiortp: cleanup
* decrease default audio buffer size
* use pjsip generic plc algorithm when relevant
* rtp: wait on ringbuffer instead of using an independent timer
* mainbuffer: allow to wait for new data on a given call
* ringbuffer: allow to wait for new data, with deadline
* alsa: flush code that would eventually overflow
* audiortp: initialize timestamp only when we start sending packets
* video: add fps debugging (build with -DDEBUG_FPS)
* audiortp: only switch decoder on unexpected payload type, not
encoder
* Remove overwritten sendMicData from audio_zrtp_session
* Remove enable/disable RTP stack, rename startReceiveThread ->
startRTPLoop
* attempt to fix the putData bug
* ringbuffer: fix uninitialized variable warning
* ringbuffer: remove excessive logs
* resampler: cosmetics
* dcblocker: cosmetics
* audio: cosmetics
* mainbuffer: cosmetics
* opensl: cosmetics
* presence: cosmetics
* audiorecord: cosmetics
* audiortp: cosmetics
* configurationmanager: cosmetics
* presence: cleanup
* video: cleanup
* video: synchronize access to video rtp methods
* opus: cleanup
* opus: fix uninitialized variable warning
* ringbuffer: cleanup
* ringbuffer: discard() must return a value
* video: send RTP even if receiving RTP has been disabled in
negotiation
* rtp: remove unused includes
* rtp: cleanup
* rtp: cleanup
* rtp: jitter computation
* opus: fix plc bug
* audiocodecs: use const with untouched buffers
* rtp: handle packet loss
* make ringbuffer threadsafe and almost non-blocking
* opensl: attempt to reduce latency
* mainbuffer: use rw_mutex
* add rw_mutex
* rtp: fadein proper buffer
* resize tone buffer on demand
* daemon: fix make check
* daemon: add method to list available audio backends
* audiobuffer: print error if out of bounds
* daemon: add jack audio backend
* video: fix NULL dereference
* audioloop: unsigned can't be less than 0
* Try to shutdown previous Tls transport
* Replace PJSIP_TRANSPORT_UNSPECIFIED with PJSIP_TRANSPORT_UDP.
* Switch back transportType_ to PJSIP_TRANSPORT_UNSPECIFIED when
disabling Tls
* Remove CONFIG_DISPLAY_NAME key from account schema
* rtp: use permanent buffer to reduce mallocs
* rtp: use different locks for encoding/decoding
* logger: fix macro for Android
* video: fix make check
* daemon: VideoInput: add support for x11grab
* daemon: VideoInput: add mirror_
* daemon: VideoInput: cleanup
* SDES: avoid out of bounds write
* logger: add macro to include line/file in exceptions
* daemon: override keyword is not supported by older gcc
* daemon: c++11 support is mandatory
* audiocodec: fix undefined behaviour
* srtp: use raw pointers since ccrtp calls delete
* srtp: remove crypto contexts before resetting
* srtp: free crypto contexts
* mainbuffer: remove unused method setMinimumAudioFormat
* rtp: repair broken fade in
* opus: use a 20ms buffer
* audio: use max format between audiolayer and codec
* codecs: minor refactoring
* audio: use codec frame size if fixed for codec
* audiocodec: distinct supported/current format
* audiorecord: init with main buffer format
* rtp: call codec with correct buffer size
* audiolayer: remove getPreferredAudioFormat()
* alsa: allow multichannel playback/recording
* alsa: c++11 update
* opus: fix borked log message
* daemon: introduce the VideoInputSelector class
* daemon: VideoControls: add getSettingsFor()
* * #41042 presence: cosmetics
* * #41042 presence: Don't send any presence request if presence is
disabled.
* video: include unknown pixel format name in error
* daemon: rename VideoCamera to VideoInput
* * audiorecord: remove unused variable
* * #40020: opensl: fix resampler name
* * #40020: audiortp: cleanup
* * #40020: audiortpfactory: cleanup
* * #40020: audiosrtp: cleanup
* * #40020: audiortp: remove one-liner
* * #40020: audiortp: merge update and setDestinationIP address
* * #40020: audio: move samplerateconverter* -> resampler *
* * #40020: audio: rename samplerateconverter->resampler
* * #40020: audiortp: rename files
* * #40787: audiosrtp: hide internals
* * #40020: audiortp: remove deprecated getCurrentCodec methods
* * #40020: audiortp: group audiortpcontext methods together
* * #40020: audiortp: use unique_ptr for resampler
* * #40020: audiortp: use unique_ptr for DSP
* * #40020: audiortp: cleanup
* * #40020: audiortp: cleanup
* * #40020: audiortp: AudioRtpSession is now a base class
* * #40020: audiortp: don't expose encoder/decoder outside of class
hierarchy
* * #40020: audiortp: rename AudioRtpRecord -> AudioRtpStream
* * #40020: audiortp: remove unused (and wrong) method
* * #40020: audiortp: don't force decoder and encoder to match
* * #40020: audiortp: merge audiortprecord and handler
* * #40020: audiortp: all methods can be private
* * #40020: audiortp: remove unused includes
* * #40020: audiortp: fix call ID ownership
* * #40020: audiortp: move dsp into AudioRtpContext
* * #40020: audiortp: move initBuffers() into AudioRtpContext
* * #40020: audiortp: define a single AudioRtpContext struct
* * #40020: audiortp: move resamplers
* * #40020: audiortp: move resampled data out of audiortprecord
* * #40020: audiortp: use raw buffer instead of decData
* * #40020: audiobuffer: don't use default arguments in constructor
* * #40020: audioformat: rename channel_num -> nb_channels
* * #40020: audiortp: make encoder and decoder sample rates and frame
sizes distinct
* * #40020: audiortp: move channels and sample rate into
AudioEncoder/Decoder
* * #40020: audiortp: move initDSP into audiortprecord
* * #40020: audiortp: move initBuffers into audiortprecord
* * #40020: audiortp: move setRtpMedia into audiortprecord
* * #40020: audiortp: move processDataEncode
* * #40020: audiortp: migrate processDataDecode into audioRtpRecord
* * #40020: audiortp: move methods
* * #40020: split AudioRtpRecord into AudioEncoder/Decoder
* * #40245: fileutils: fix get_cache_dir() for Android
* Revert "* #40245: remove .cache directory for get_cache_dir
fallback"
* Revert "* #39625: audio: pass AudioFormat by const reference"
* * #40245: remove .cache directory for get_cache_dir fallback
* * #40399: tls: remove unused variable
* * #39625: audio: fix make check
* * #39625: audio: pass AudioFormat by const reference
* * #39625: mainbuffer: fix signed/unsigned warning
* * #39625: pulse: cleanup
* * #40251: manager: remove commented-out code
* * #40251: audiobuffer: cleanup
* * #40251: manager: cleanup
* * #40251: opus: cleanup
* * #40251: audiocodec: add micro.micro version number for binary
changes
* * #40252: audiobuffer: cleanup
* * #40252: audiortprecordhandler: cleanup
* * #40252: do not hardcode decoder buffer size
* * #40252: multichannel bug fixes and cleanup
* * #40381: up-mixing and down-mixing logic for 1<->2ch
* * #40252: update RTP handler for multichannel codecs
* * #40251: allow codecs to change format at runtime.
* * #39625: continue audio layer switch to multichannel.
* * #40059 : allow multichannel recording
* * #39683: audio: SL cleanups and bug fixes.
* * #39683: audio: query android hardware infos.
* Android jni query of native sample rate and buffer size.
* * #39683: audio: use hardware output audio sampling rate.
* * #39625: audio: add AudioFormat struct.
* * #40399: tls: drop millisecond timeout parameter
* * #40388: dbus: deprecate getCurrentCodec methods
* * #40216: zrtp: ZrtpConfigure has been supported since 2.3.0
* * #40216: zrtp: fix quoting of chained PKG_CHECK_MODULES call
* * #40216: zrtp: fix support for older versions of zrtp
* * #40245: fileutils: decouple get_cache_dir() from zrtp path query
* * #40216: zrtp: don't crash on EC25 public key algorithm
* * #40216: zrtp: fix uninitialized variable
* * #40216: zrtp: don't call c_str() on returned variable
* * #38532: audiortp: remove constructor wrapper
* * #39984: audiortpfactory: rename ca_ -> call_
* * #40116: Add java callbacks in jni
* * #40116: Remove --without-zrtp and --without-tls flags (android)
* * #39984: audiortp: fix warning
* * #39984: audiortp: move dtmfpayloadtype out of AudioRtpRecord
* * #39984: audiortp: move dtmfQueue into audiortprecordhandler
* * #39984: audiortp: move DTMFEvent into its own files
* * #39984: audiortp: remove unused code
* * #39984: audiortp: use forward declarations
* * #39887: sdp: match codec by name if search by payload type fails
* * #39611: Added empty signals callback for zrtp (android-jni)
* * #39736: sdp: don't try and negotiate if in wrong state
* * #39611: zrtp: remove unused includes
* * #39576: g711: use alaw/ulaw functions from spandsp
* g722: add link to original public domain implementation
* * #39149: manager: fix empty config file case
* * #39387: sip: throw exception on transport error
* audio: c++11 and minor cleanup
* * #35083: pulse: add missing semicolon
* * #35083: audio: handle default cases for enum class
* * #39387: account: handle (unlikely) default case
* * #39387: sipaccount: Update registration state and notify client on
error
* * #39387: sip: use enum class for RegistrationState
* * #39248: sip: add warning for leaked transport
* * #38341: tests: update displayed copyright year
* * #39149: manager: remove duplicate call to registerVoipLink
* * #39149: manager: reuse new IP2IP loading code
* * #39149: IP2IP: unserialize before creating transport
* * #38991: alsalayer: cleanup
* * #38991: audiolayer: use enum class for audio device type
* * #38860: account_schema: fix include guard
* * #38518: sip: fix inverted logic
* * #38755: iax: don't memcpy from NULL ptr
* * #38679: sip: add more info to error messages
* android: added recordStateChanged callback (jni)
* * #38710: daemon: fix comment
* * #38710: daemon: fix deadlock in signal handler
-- Emmanuel Milou <email address hidden> Fri, 30 May 2014 23:07:41 -0400
Builds
Package files