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

Available diffs

Builds

Package files