#13795: Initial commit for sflphone-android
includes: libexpat libyaml libdbus-c++ commoncpp ccrtp
libdbus (from android-4.0.4 sources)
TODO:
- git ignores "/jni/sflphone", sflphone repo should be cloned.
- sflphone-android only needs daemon directory. Ideally it should be possible
to clone it without cloning the whole sflphone project.
into sfl-android (commit 6a0fa7a "#13961: Fix cipher handling" has been used here)
- add pjsip-android project as a git submodule
- sflphone-android needs pjsip android project. Ideally daemon git repository
should not embed pjsip. Instead pjsip should be clone from official repositories.
Considering this, structure should have three distincts git repos:
sflphone-android/.git
sflphone-android/jni/ccrtp-1.8.0-android
sflphone-android/jni/commoncpp2-1.8.1-android
sflphone-android/jni/dbus
sflphone-android/jni/libdbus-c++-0.9.0-android
sflphone-android/jni/libexpat
sflphone-android/jni/libyaml
sflphone-android/jni/sflphone-daemon/.git
sflphone-android/jni/sflphone-daemon/src/audio
sflphone-android/jni/sflphone-daemon/src/config
sflphone-android/jni/sflphone-daemon/src/dbus
sflphone-android/jni/sflphone-daemon/src/history
sflphone-android/jni/sflphone-daemon/src/hooks
sflphone-android/jni/sflphone-daemon/src/iax
sflphone-android/jni/sflphone-daemon/src/sip
sflphone-android/jni/sflphone-daemon/src/video
sflphone-android/jni/pjsip-android/.git
Signed-off-by: Emeric Vigier <emeric.vigier@savoirfairelinux.com>
diff --git a/jni/ccrtp-1.8.0-android/ChangeLog b/jni/ccrtp-1.8.0-android/ChangeLog
new file mode 100644
index 0000000..a761dee
--- /dev/null
+++ b/jni/ccrtp-1.8.0-android/ChangeLog
@@ -0,0 +1,960 @@
+2010-12-04 Werner Dittmann
+
+ Added a new method to RTPPacket and modified the takeInData to fix
+ the handling of padding in case SRTP is active. SRTP encrypts the
+ full payload including the padded bytes thus at the receiving end
+ this would give the wrong number of bytes added to the payload.
+
+2010-10-04 David Sugar <dyfet@gnutelephony.org>
+
+ More code cleanup for new 1.7.1 release.
+
+2008-12-12 David Sugar <dyfet@gnutelephony.org>
+
+ General code cleanup and pedantic check for what will be release 1.7.0.
+
+2008-08-20 David Sugar <dyfet@gnutelephony.org>
+
+ Taking in debian gcc-4.3 cleanness patch and upstream patches...
+
+2008-06-01 David Sugar <dyfet@gnutelephony.org>
+
+ For release 1.6.1: Crypto context fixes and updates from Werner
+ Dittmann, timestamp calculation issues as reported on list, and a gcc
+ 4.3 issue I found.
+
+2007-11-16 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtcppkt.cpp: fixed switched member in
+ RTCPSenderInfo::getPacketCount and RTCPSenderInfo::getOctetCount
+ (patch from Mattias Seeman). Added better constructor to
+ RTCPReceiverInfo and RTCPSenderInfo.
+
+2007-10-29 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/rtcppkt.cpp: (NTP2Timeval(uint32, uint32): fixed bug in
+ tf_usec field computation (reported by Martin Runge).
+
+2007-10-24 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/outqueue.cpp: fixed removeDestinationFromList and
+ removeDestinationFromListIPV6 (ncrement on an undefined iterator
+ bug reported by Martin Mainka).
+
+2006-12-30 David Sugar <dyfet@gnutelephony.org>
+
+ Recent changes known: SRTP support can now be disabled cleanly in
+ configure; support for sending packets to IPV6 networks (IPV6
+ receive not working yet). This will be part of a 1.5.1 release.
+
+2006-10-01 David Sugar <dyfet@gnutelephony.org>
+
+ Prep for release 1.5.0 with Werner Dittman's SRTP changes merged.
+
+2006-09-16 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtp.h: (Template class TRTPSessionBase): setMcastTTL
+ moved to public section so that users have a way of setting TTL
+ (pointed out by Tom Anwyll). joinGroup() and leaveGroup() moved to
+ the protected section.
+
+ * src/ccrtp/channel.h: (Template classes DualRTPChannel and
+ DualRTPChannelIPV6): fixed bugs in setMulticast (only recv socket
+ was set) and setTimeToLive (ttl of the recv socket was changed
+ instead of changing the send ttl).
+
+2006-09-11 David Sugar <dyfet@gnutelephony.org>
+
+ * configure: Updated to use pkgconfig instead of older Common C++
+ macro.
+
+2006-07-25 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * Added 2 fixes from Yaniv Levy:
+
+ * src/ccrtp/cqueue.h: added missing implementation of
+ QueueRTCPManager::setMinRTCPInterval.
+
+ * src/ccrtp/oqueue.h: added two new methods to class
+ OutgoingDataQueue: setNextSeqNum and getCurrentSeqNum (for RTSP
+ PLAY).
+
+2006-07-03 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: (QueueRTCPManager::packReportBlocks): fixed
+ byte ordering bug in report blocks SSRC field. Reported by Yaniv
+ Levy.
+
+2006-05-16 David Sugar <dyfet@gnutelephony.org>
+
+ * src/ccrtp/ioqueue.h: make endQueue protected.
+
+ * src/outqueue.cpp, src/ccrtp/oqueue.h: support added to send
+ immediate RTP data packet with new sendImmediate method.
+
+ * src/ccrtp/rtp.h: endSocket validates dso/cso correctly
+
+ * configure.in: updated for 1.4.1.
+
+2006-05-02 David Sugar <dyfet@gnutelephony.org>
+
+ * configure.in: updated for 1.4.0.
+
+2006-05-16 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/pool.h, src/pool.cpp: applied patch in Savannah
+ support request #105229 (by Jorgen Terner) for session pools
+ thread safety. New classes: SessionListElement and PredEquals.
+
+ * src/ccrtp/pool.h, src/pool.cpp: applied patch in Savannah
+ support request #105156 (by Jorgen Terner) for scheduling packets
+ by timeout (as in single threaded RTP sessions).
+
+ * src/outqueue.cpp: (OutgoingDataQueue::purgeOutgoingQueue)
+ nullify sendLast (fix by Jorgen Terner)
+
+2006-05-02 David Sugar <dyfet@gnutelephony.org>
+
+ * configure.in: updated for 1.4.0.
+
+2006-03-27 David Sugar <dyfet@gnutelephony.org>
+
+ * src/queue.cpp: 64 bit friendly...
+
+2006-03-08 David Sugar <dyfet@gnutelephony.org>
+
+ * src/ccrtp/rtp.h, src/ccrtp/channel.h, src/pool.cpp: added
+ preliminary IPV6 RTP support.
+
+2005-12-08 David Sugar <dyfet@gnutelephony.org>
+
+ * src/ccrtp/iqueue.h, src/ccrtp/rtppkt.h: minor header fixes for
+ doxygen generated documentation.
+
+ * configure.ac: updated for new release.
+
+2005-12-01 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/source.cpp: (RTPApplication::findCNAME) fixed to avoid
+ crashes when no user name and hostname is available (fix by Michel
+ de Boer).
+
+ * src/pool.cpp: (SingleRTPSessionPool::run) fix to make it run by
+ Guillaume FRAYSSE.
+
+2005-10-10 David Sugar <dyfet@gnutelephony.org>
+
+ * configure.ac: updated for new release
+
+2005-10-10 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/members.cpp:
+ (MembershipBookkeeping::SyncSourceLink::initStats) fixed
+ initialization of timestamps.
+
+2005-09-20 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * Fixes for jitter calculation (bug report by Greg Silverman):
+
+ * src/ccrtp/iqueue.h, src/incqueue.cpp:
+ (IncomingDataQueue::recordReception) now also records
+ lastPacketTime.
+
+ * src/ccrtp/iqueue.h, src/incqueue.cpp: (struct SyncSourceLink)
+ renamed initialTime, initialTimestamp, getInitialTime,
+ setInitialTime, getInitialTimestamp, setInitialTimestamp to
+ initialDataTime, initialDataTimestamp and so on.
+
+ * src/control.cpp: (QueueRTCPManager::takeInControlPacket): do not
+ call srcLink->setInitialTime.
+
+ * src/ccrtp/rtcppkt.h: doc. fix.
+
+2005-08-21 David Sugar <dyfet@gnutelephony.org>
+
+ * src/queue.cpp: needs <cstdio> for sprintf...
+
+2005-07-29 David Sugar <dyfet@gnutelephony.org>
+
+ * src/control.cpp: fix for pointer skip
+
+ * configurr.ac: updated for release 1.3.4.
+
+2005-07-27 David Sugar <dyfet@gnutelephony.org>
+
+ * configure.ac: updated for release 1.3.3.
+
+2005-07-27 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: Added length checks while processing RTCP
+ received packets, patch from Michel de Boer.
+
+2005-06-13 David Sugar <dyfet@gnutelephony.org>
+
+ * configure.ac: updated for release 1.3.2.
+
+2005-06-11 David Sugar <dyfet@gnutelephony.org>
+
+ * src/ccrtp/base.h, src/ccrtp/rtppkt.h, src/ccrtp/rtcpptk.h:
+ use of CCXX_PACKED to control use of pack() pragma.
+
+2005-05-03 David Sugar <dyfet@gnutelephony.org>
+
+ * src/ccrtp/rtppkt.h: 2833 methods must be public
+
+2005-05-01 David Sugar <dyfet@gnutelephony.org>
+
+ * configure.ac: updated for May 1 release, 1.3.1.
+
+2005-04-29 David Sugar <dyfet@gnutelephony.org>
+
+ * src/ccrtp/rtp.h: gcc 4.0 pickyness and passing of ~0 to sleep.
+
+2005-04-27 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: (packReportBlocks) use correct SSRC from remote
+ source, fix from Takegami takashi.
+
+ * src/rtcppkt.cpp: (timevalIntervalTo65536) fixed signed/unsigned
+ issue, reported by Takegami Takashi.
+
+2005-04-19 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * doc/ccrtp.texi: notes on padding and redundancy. Added
+ clarification on linking exception.
+
+ * src/rtcppkt.cpp: (NTP2Timeval) fixed conversion (-
+ NTP_EPOCH_OFFSET instead of +), reported by Takegami Takashi.
+
+ * fixed dlsr computation (reported by Takegami Takashi):
+
+ * src/ccrtp/iqueue.h, src/members.cpp: added lastRTCPPacketTime
+ and lastRTCPSRTime to SyncSourceLink
+
+ * src/control.cpp: (QueueRTCPManager::takeInControlPacket) record
+ lastRTCPPacketTime and lastRTCPSRTime. (packReportBlocks) use
+ lastRTCPSRTime to compute dlsr (instead of NTP time)
+
+2005-03-24 David Sugar <dyfet@ostel.com>
+
+ * src/queue.cpp: some fix on digest to kill embedded class export
+ and fix for compilers weak (broken) on namespace support.
+
+2005-03-23 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/oqueue.h, src/outqueue.cpp: destinationCounter
+ eventually replaced with the size method of std::list.
+
+ * src/rtppkt.cpp: padding calculation fixed.
+
+2005-03-22 David Sugar <dyfet@ostel.com>
+
+ * configure.ac: bumped version up for next release to 1.3.0, rather
+ than 1.2.3 since library dependencies are now different, and
+ with list changes, class abi also will be different. Also
+ happens to match commoncpp2 1.3.x release versions nicely!
+
+ * src/ccrtp/oqueue.h, src/outqueue.cpp: added appearently
+ missing "destinationCounter" to DestinationList object, init 0,
+ inc on add, sub on remove.
+
+2005-03-20 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtppkt.h, src/rtppkt.cpp: added 'padsize' parameter to
+ OutgoingRTPPkt and RTPPacket constructors. RTPPacket::RTPPacket
+ modified for variable padding lengths.
+
+ * src/ccrtp/oqueue.h, src/outqueue.cpp: added setPadding(uint8),
+ modified OutgoingDataQueue::OutgoingDataQueue().
+
+ * src/ccrtp/oqueue.h, src/outqueue.cpp, src/control.cpp: applied
+ the patch from Dan Weber to use std::list instead of the
+ handcrafted destinationList (destinationCounter also replaced with
+ size()). The minimal std::list-like template is still TODO!
+
+ * Some work to remove dependency on libccext by copying the md5
+ code from Common C++ to ccRTP:
+ - src/private.h: do not include <cc++/digest.h>
+ - src/queue.cpp: copy (and minor tweaks) md5 parts of digest.h and md5.cpp from cc++
+ - libccrtp1.pc.in: require libccgnu2 instead of libccext2
+ - src/Makefile.am: added LIBS= @GNULIBS@ to avoid linking to libccext2
+ - Directory w32/cape/: ccrtp1.vcproj, ccrtp1.dsp, rtphello.vcproj,
+ rtphello.dsp, rtplisten.vcproj, rtplisten.dsp, rtpsend.vcproj,
+ rtpsend.dsp: removed ccext2.lib
+
+2005-03-02 David Sugar <dyfet@ostel.com>
+ * libccrtp1.pc.in: updated for cc++ >= 1.3.0
+
+2005-02-28 Federico Montesino Pouzols <fedemp@altern.org>
+ * configure.ac: require cc++ >= 1.3.0.
+
+ * src/outqueue.cpp:
+ (DestinationListHandler::removeDestinationFromList) fixed removal
+ of destination addresses.
+
+2005-02-11 David Sugar <dyfet@ostel.com>
+ * configure.ac: version bumped to 1.2.2
+
+ * w32/cape{...}: support for CAPE debug project installs
+
+ * src/ccrtp/rtp.h, src/pool.cpp: "startRunning" is also virtual
+ and requires some special handling or it will not link in vs.net
+ when using debug mode options...
+
+2005-02-10 Federico Montesino Pouzols <fedemp@altern.org>
+ * doc/ccrtp.texi: 'Clossing Sessions' extended and clarified.
+
+ * src/ccrtp/rtp.h, src/control.cpp: doc clarifications and updates
+ to RFC 3550/3551.
+
+2005-02-07 David Sugar <dyfet@ostel.com>
+ * configure.ac: release 1.2.1
+
+2005-02-06 David Sugar <dyfet@ostel.com>
+ * cape vs.net projects added.
+
+ * src/control.cpp: some casting fixups for fixed size data types. fractionLost is a uint8 and so does
+ not need to pass through htonx stuff.
+
+ * src/ccrtp/ioqueue.h: satisfy dominenance by asserting RTPDataQueue which inherets renewLocalSSRC
+ through both iqueue and oqueue now refers explicity to the iqueue one.
+
+ * src/ccrtp/rtp.h: inheritence issues for gcc 3.4 support in templated
+ RTP class.
+
+ * src/ccrtp/rtppkt.h, queuebase.h: some explicit type conversions added.
+
+ * src/ccrtp/channel.h: ccioctl now uses "SOCKET" rather than pure int type, w32 returns 0.
+
+ * src/incqueue.cpp: explicit type casts added. "count" seems unused in getData.
+
+ * src/queue.cpp: should we avoid casting address to 32 bit object??
+
+ * src/rtppkt.cpp: explicit typecasts added as needed.
+
+2005-01-28 David Sugar <dyfet@ostel.com>
+ * libccrtp1.pc.in: fix for pkgconfig dependency on libccext2.
+
+2005-01-24 David Sugar <dyfet@ostel.com>
+ * reconfig: getting to work generically and rh7 specific
+
+ * updated headers/source files with "runtime" exception notice
+ for consistency in exception language.
+
+2005-01-20 David Sugar <dyfet@ostel.com>
+ * libccrtp1.pc[.in], configure.ac: pkgconfig file generated for
+ libccrtp1
+
+ * Makefile.am, w32/Makefile.am, doc/Makefile.am: stripped out
+ symlink stuff for w32 since "cape.exe" installer provides known
+ directory location for w32 installed versions of GNU Common C++.
+
+ * configure.ac: version bumped to 1.2.0.
+
+ * getRawTimestamp() was not needed after all, change unmade.
+
+ * src/ccrtp/rtppkt.h: definitions for rfc2833 telephony payloads.
+
+2005-01-16 David Sugar <dyfet@ostel.com>
+ * src/ccrtp/iqueue.h: virtual methods for packet filtering were
+ hidden as private; made protected so they can be used.
+
+ * src/ccrtp/rtppkt.h: getRawTimestamp needed for packet filtering.
+
+2005-01-10 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: (QueueRTCPManager::getBYE) patch from Michel de
+ Boer to avoid calling onGotGoodbye with NULL as value for reason.
+
+ * doc/ccrtp.texi: added note on threads, sockets, and sessions.
+
+2004-11-28 David Sugar <dyfet@ostel.com>
+ * src/private.h: ignore config.h if pure w32 unpack from cvs
+
+ * w32/cape/...: new w32 build tree for combined CAPE Framework
+ installer.
+
+2004-11-22 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtp.h: fixed bug in error handling,
+ TRTPSessionbase::leaveGroup
+
+ * src/ccrtp/channel.h: fixed to compile with cc++ ipv6 support.
+
+ * src/outqueue.cpp: fixed two bugs in
+ DestinationListHandler::removeDestinationFromList (reported by
+ Sigrid Thijs).
+
+ * src/ccrtp/formats.h, src/rtppkt.cpp: fixed
+ PayloadFormat::setPayloadType (reported by Sigrid Thijs) that
+ failed with dynamic types. The static range is now enforced in
+ StaticPayloadFormat::StaticPayloadFormat.
+
+2004-11-14 David Sugar <dyfet@ostel.com>
+ * configure.ac: standardized autoconfiguring a bit including
+ shell issues with freebsd.
+
+2004-11-11 David Sugar <dyfet@ostel.com>
+ * m4/ost_debug.m4 and debug support added.
+ * configure.in moved to configure.ac.
+
+2004-06-01 Federico Montesino Pouzols <fedemp@altern.org>
+ * src/ccrtp/queuebase.h: doc clarifications.
+
+2004-05-19 David Sugar <dyfet@ostel.com>
+ * ccrtp.spec.in: allow .la files to be included.
+
+2004-05-09 David Sugar <dyfet@ostel.com>
+ * src/ccrtp/channel.h: use UDPSocket::setPeer with cast rather
+ than re-impliment to support future merged ipv4/ipv6 release.
+
+2004-05-05 David Sugar <dyfet@ostel.com>
+ * reconfig: can use $ACLOCALDIR for extra m4 path.
+
+2004-04-21 David Sugar <dyfet@ostel.com>
+ * all sources; fixed namespace ending on }; for pedonic gcc-3.4
+
+2004-04-15 David Sugar <dyfet@ostel.com>
+
+ * src/Makefile.am: changes for unsupported autoconf AM_LDFLAGS.
+
+2004-03-30 David Sugar <dyfet@ostel.com>
+
+ * src/rtppkt.cpp, src/members.cpp, src/outqueue.cpp,
+ src/queue.cpp, src/rtcppkt.cpp, src/source.cpp: support source
+ build where exceptions have been disabled.
+
+ * src/pool.cpp: header file include order changed for qnx6
+ build.
+
+2004-03-15 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/source.cpp: (findusername): fixed username initialization,
+ from Guillaume Glodas.
+
+ * src/ccrtp/rtp.h: SingleThreadRTPSession::run: fixed timeout
+ checks, from Guillaume Glodas.
+
+2004-03-10 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * demo/rtplisten.cpp: print payload type field.
+
+2004-01-28 David Sugar <dyfet@ostel.com>
+
+ * configure: use ~/.configure as means to hold default configure
+ options when configure invoked without options.
+
+2004-01-24 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtp.h: (TRTPSessionBase and SingleThreadRTPSession):
+ added iface optional parameter to multicast RTP session
+ constructors, so that it is possible to specify which interface to
+ add to multicast groups.
+
+ * src/ccrtp/iqueue.h, src/incqueue.cpp: added
+ IncomingDataQueue::getDefaultMembersSize().
+
+ * doc/ccrtp.texi: more docs.
+
+2004-01-18 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/sources.h, src/source.cpp, src/control.cpp: added
+ RTPApplication::getParticipant, used in
+ QueueRTCPManager::onGotSDESChunk to lookup participants by CNAME.
+
+ * demo/ccrtptest.cpp: added the class PacketsPattern.
+
+ * doc/ccrtp.texi: more explanations on headers.
+
+ * src/ccrtp/cqueue.h, src/ccrtp/oqueue.h, src/ccrtp/rtcppkt.h,
+ src/control.cpp: doc cleanup (@todos).
+
+ * demo/audiorx.cpp, demo/rtplisten.cpp: small additions.
+
+2004-01-17 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/oqueue.h: added to OutgoingDataQueue methods for CSRC
+ handling (addContributor and removeContributor).
+
+ * src/ccrtp/queuebase.h: added to AppDataUnit methods for
+ accessing CSRC (getContributorsCount and getContributorsID)
+
+ * src/ccrtp/rtp.h, src/ccrtp/channel.h: added support for
+ symmetric RTP (SymmetricRTPSession).
+
+ * src/ccrtp/ioqueue.h, src/ccrtp/rtp.h: startStack renamed to
+ enableStack to avoid confussion with startRunning.
+
+ * src/control.cpp: fixed a bug in SDES items type and length
+ processing (QueueRTCPManager::onGotSDESChunk). This bug could
+ cause crashes when iterating through the participants list.
+
+ * src/incqueue.cpp: fixed jitter computation in
+ IncomingDataQueue::recordReception.
+
+ * doc/ccrtp.texi: updated to new RFCs 355x
+
+ * demo/ccrtptest.cpp, demo/Makefile.am, src/private.h: added a
+ simple test program.
+
+2003-12-26 David Sugar <dyfet@ostel.com>
+ * configure.in, w32/Makefile.am: support for new configure
+ --with-commoncpp=dir option to link Common C++ source files for
+ w32 specific builds, and ability to "make dist" either with or
+ without extra w32 files linked in. One can also "disable"
+ redistribution of Common C++ files in ccrtp by using either
+ --without-commoncpp, or by specifying an invalid directory.
+
+2003-12-20 David Sugar <dyfet@ostel.com>
+ * Makefile.am, doc/Makefile.am, configure.in: we now regerate
+ doxygen documentation automatically as part of "make" if doxygen
+ is installed. Hence, we no longer distribute pre-generated doxy
+ stuff in the tarball.
+
+2003-11-15 David Sugar <dyfet@ostel.com>
+ * src/private.h, src/queue.cpp, src/source.cpp,
+ src/ccrtp/base.h src/ccrtp/ext.h: re-arranged headers and
+ dependencies on common C++ headers so use of includes and
+ symbol exports would be correct per Common C++ 1.1.
+
+2003-10-30 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/iqueue.h, src/incqueue.cpp: corrected members counter
+ initialization.
+
+2003-10-21 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: (QueueRTCPManager::computeRTCPInterval): fixed
+ the RTCP interval randomization code.
+
+2003-10-20 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp, src/queue.cpp: added checks for extreme control
+ bandwidth values that can cause divided by zero exceptions.
+
+2003-09-23 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/source.cpp: (RTPApplication::removeParticipant): fixed a bug
+ at first participant addition.
+ * src/ccrtp/rtp.h, src/incqueue.cpp, src/outqueue.cpp: fixed minor
+ signed/unsigned inconsistencies
+
+2003-07-03 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtp.h: (TRTPSessionBase::build, mcast version): fixed
+ multicast bind/join, from Luuk van Dijk.
+
+2003-06-20 David Sugar <dyfet@ostel.com>
+
+ * src/Makefile.am, phone/Makefile.am, demo/Makefile.am: fix
+ for current automake/autoconf systems
+
+2003-06-09 David Sugar <dyfet@ostel.com>
+
+ * m4/ost_endian.m4: updated for modern autoconf/automake systems
+ * acconfig.h: eliminated
+ * configure.in: updated based on modern autoconf issues
+ * reconfig: support for macosx and multi-version autoconf
+ * Release 1.0.2
+
+2003-05-14 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/sources.h: SyncSource::isSender made const.
+ * doc/ccrtp.texi: fixes and additions.
+
+2003-05-10 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * configure.in, acconfig.h, src/queue.cpp: removed the
+ AC_CHECK_FILE for /dev/urandom so as to allow cross-compilation.
+ * demo/rtplisten.cpp: modified to recognize mcast addresses.
+ * src/ccrtp/ext.h: fixed RTPDuplex::getNextDataPacketSize so that
+ it compiles even though UDPReceive::getReceiver is not const,
+ which will not be an issue with cc++2 versions newer than 1.0.9.
+
+2003-04-24 David Sugar <dyfet@gnu.org>
+
+ * Some compile checks and 1.0.1 release (corrected timeline).
+
+2003-04-04 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/channel.h: (RTPBaseUDPIPv4Socket::join): call
+ Socket::join, instead of UDPSocket::join in order to avoid
+ conflicts with the new join added to releases of common c++ later
+ than 1.0.8.
+ * win32/msvcpp/demo/rtphello.dsp, win32/msvcpp/demo/rtpsend.cpp,
+ win32/msvcpp/demo/rtplisten.dsp: link ws2_32.lib.
+ * src/source.cpp: avoid access violation in the win32 version of
+ findusername, from Christian Steindl.
+
+2003-04-02 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtp.h: (TRTPSocketBase::endSocket): free cso and dso.
+
+2003-03-24 David Sugar <dyfet@gnu.org>
+
+ * What the heck, it's long overdue...1.0.0 release
+
+2003-03-22 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * win32/msvcpp/ccrtp1.dsp: fixed debug project linking settings.
+ * src/outqueue.cpp: (OutgoingDataQueue::getSchedulingTimeout)
+ avoid overflow when calculating next send time.
+
+2003-02-03 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/ccrtp/rtp.h: fixes for multicast methods of TRTPSessionBase.
+
+2003-01-25 David Sugar <dyfet@gnu.org>
+ * configure.in updated for new pre-release
+ * ext.h fixed for older gcc compile
+
+2003-01-12 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * doc/fdl.texi, doc/fdlnotice.texi: updated to FDL 1.2.
+ * src/ccrtp/formats.h, src/ccrtp/rtppkt.h, src/ccrtp/rtcppkt.h,
+ src/ccrtp/iqueue.h, src/ccrtp/oqueue.h, src/queue.cpp: fixes for
+ ANSI C++ warnings.
+ * src/ccrtp/rtp.h, src/ccrtp/ext.h, src/socket.cpp,
+ src/ccrtp/channel.h, src/ccrtp/socket.h: socket.h renamed to
+ channel.h in order to avoid name conflict with cc++2/socket.h's
+ man page.
+ * src/queue.cpp: (RTPDataQueue::getCurrentTimestamp): fixed
+ signed/unsigned bug, reported by Guillaume Fraysse.
+ * configure.in, src/Makefile.am, demo/Makefile.am,
+ phone/Makefile.am: gcc flags for ANSI C++.
+
+2002-11-27 David Sugar <sugar@gnu.org>
+ * modify spec file for rpm build
+ * release 1.0pre1 prep work
+
+2002-11-24 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/cc++/rtp is now src/ccrtp.
+ * src/queue.cpp, src/control.cpp, src/cc++/rtp/ioqueue.h: use size
+ parameter for IncomingDataQueue constructor.
+ * demo/rtplisten.cpp: added onNewSyncSource redefinition.
+ * src/incqueue, src/controll.cpp: check that onNewSyncSource is
+ called only once for any source.
+
+2002-11-03 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: (takeInControlPacket): source stats init.
+ * src/cc++/rtp/rtcppkt.h, src/control.cpp: new methods for
+ RTCPPacket: getLength and getSSRC.
+
+2002-10-31 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/cc++/rtp/queuebase.h, src/queue.cpp, src/outqueue.cpp,
+ src/control.cpp: added localSSRCNetwork and reladed methods.
+ * demo/rtplisten.cpp: added onGotGoodbye virtual redefinition.
+ * src/control.cpp: (takeInControlPacket), (getOnlyBye), (getBye)
+ fixed.
+
+2002-10-28 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/source.cpp, src/cc++/rtp/sources.h: participants
+ implementation completed.
+ * src/cc++/rtp/rtp.h: send BYE in session destructor.
+ * src/control.cpp: fixed RTCP header init. bug in dispatchBYE.
+
+2002-10-27 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/cc++/rtp/iqueue.h, src/members.cpp: SR and RR info are
+ stores as unsigned char* instead of void*
+ * src/private.h: added tags for rtpsend and rtplisten demos.
+
+2002-10-26 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/cc++/queuebase.h: include only pointer.h instead of template.h.
+ * src/cc++/iqueue.h, src/incqueue.h, src/control.h: store jitter
+ as float.
+
+2002-10-24 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/cc++/queuebase.h: added getDefaultMaxSendSegmentSize() and
+ getMaxSendSegmentSize() to OutgoingDataQueueBase.
+ * src/outqueue.cpp: (OutgoingDataQueue::putData) segment data blocks
+ depending on getMaxSendSegmentSize.
+ * doc/ccrtp.texi: extended "Sending Data" subsection.
+ * src/cc++/rtp/iqueue.h: initSequence now inits maxSeqNum and
+ badSeqNum.
+
+2002-10-23 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * src/control.cpp: BYE packets are now correctly sent with a
+ preceding RR in the compound.
+ * src/cc++/cqueue.h, src/control.cpp: new method
+ QueueRTCPManager::sendControlToDestinations.
+ * src/cc++/iqueue.h: initialize Members::members to 1.
+
+2002-10-22 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * doc/Makefile.am, doc/srcmodel.txt, doc/srcmodel.dia,
+ doc/ccrtp.texi: added initial manual.
+ * doc/Doxyfile: added ../demo to EXAMPLE_PATH.
+
+ * src/cc++/rtp/ioqueue.h: added getDefaultSessionBandwidth and
+ getSessionBandwidth to QueueRTCPManager.
+ * src/queue.cpp: added defaultSessionBw constant.
+ * src/control.cpp computeRTCPInterval now takes into account the
+ session total bandwith.
+
+2002-10-21 Federico Montesino Pouzols <fedemp@altern.org>
+
+ * ccRTP has been rewritten. This changelog summarizes the most
+ important changes. Read it from bottom up.
+
+ * src/cc++/rtp/cqueue.h, src/control.cpp: getSDES splitted into
+ onGotSDES and a new virtual: onGotSDESChunk.
+ * src/cc++/rtp.h, control.cpp: added/updated onGotSR, onGotRR,
+ onGotAPP, onGotRRSRExtension and onSSRCCollision plug-in to
+ QueueRTCPManager class.
+
+ * src/cc++/rtp/oqueue.h, src/cc++/rtp/iqueue.h, src/cc++/cqueue.h:
+ readData, writeData, readControl and writeControl virtuals from
+ RTPQueue renamed to recvData, sendData, recvControl and
+ sendControl, respectively. recvData now provided the source
+ transport address. Added new getNextDataPacketSize virtual.
+
+ * src/cc++/rtp/pool.h, src/pool.cpp: added experimental "RTP
+ session pool" implementation.
+
+ * src/cc++/rtp/rtp.h: T_RTPSocket has been replaced with
+ TRTPSessionBase, which does not include any threading mechanism
+ and uses the new socket classes defined in
+ src/cc++/rtp/socket.h. New template class
+ SingleThreadRTPSession. Its run method is implemented using the
+ new QueueRTCPManager::controlReceptionService,
+ QueueRTCPManager::controlTransmissionService,
+ IncomingDataQueue::takeInDataPacket
+ OutgoingDataQueue::dispatchDataPacket.
+
+ * src/cc++/rtp/cqueue.h: added class AVPQueue.
+ * src/cc++/rtp/socket.h: new class RTPBaseUDPIPv4Socket, and template
+ class DualRTPChannel.
+ * src/cc++/rtp/oqueue.h, src/outqueue.cpp: new class
+ DestinationListHandler.
+ * src/cc++/rtp/iqueue.h, src/incqueue.cpp: class IncomingDataQueue
+ splitted from the old RTPQueue class.
+ * src/cc++/rtp/iqueue.h, src/outqueue.cpp: class OutgoingDataQueue
+ spllited from the old RTPQueue class.
+ * src/cc++/rtp/iqueue.h: MembershipControl is now
+ MembershipBookkeeping, inherits from the xxxHandler classes and
+ defines nested structures IncomingRTPPktLink and SyncSourceLink,
+ for packets/sources lists and hash table.
+ * src/cc++/rtp/iqueue.h: new classes SyncSourceHandler,
+ ParticipantHandler, ApplicationHandler and ConflictHandler.
+ * src/cc++/rtp/queuebase.h, src/data.cpp: new class AppDataUnit
+ * src/cc++/rtp/queuebase.h, src/queue.cpp: new class RTPQueueBase.
+ * src/cc++/rtp/queuebase.h, src/outqueue.cpp: new class
+ OutgoingDataQueueBase.
+ * src/cc++/rtp/queuebase.h, src/incqueue.cpp: new class
+ IncomingDataQueueBase.
+
+ * src/cc++/rtp/sources.h, src/source.cpp: new classes SDESItemsHolder,
+ RTPApplication and Participant. RTPSource has been replaced with
+ SyncSource.
+ * src/cc++/rtp/rtcppkt.h, src/rtcppkt.cpp: RTCPCompoundHandler
+ moved and updated. New classes RTCPReceiverInfo and
+ RTCPSenderInfo.
+ * src/c++/rtp/rtppkt.h, src/rtppkt.cpp: RTPPacket, IncomingRTPPkt and
+ OutgoingRTPPkt moved and updated.
+ * src/cc++/rtp/formats.h, src/rtppkt.cpp: Added new PayloadType
+ typedef, and classes PayloadFormat, DynamicPayloadFormat and
+ StaticPayloadFormat. The old PayloadType enumeration is now called
+ StaticPayloadType and has been changed.
+ * src/cc++/rtp/base.h: common consts and routines.
+
+ * src/incqueue.cpp, src/outqueue.cpp: splitted from queue.cpp with
+ a lot of new stuff.
+ * src/packet.cpp: splitted into rtppkt.cpp and rtcppkt.cpp
+ * win32/msvcpp/: added GNUccRTP workspace for ccRTP, and ccRTPdemo
+ workspace for demos.
+ * win32/mingw32/: added mingw32 cross-compiling makefile.
+ * demo/: Makefile.am and demos updated for CC++ 2 and ccRTP 1.0.
+ * phone/: updated for 1.0.
+ * doc/Doxyfile, doc/Doxyman: added src/cc++/rtp to INPUT.
+ * doc/fdl.texi, fdlnotice.texi, doc/gpl.texi, doc/srcmodel.txt,
+ doc/srcmodel.dia: added for ccRTP manual.
+ * Makefile.am: added COPYING.addendum to EXTRA_DIST, and -Wall.
+ * acconfig.h: HAVE_DEV_URANDOM.
+ * configure.in, src/Makefile.am, src/rtp.h, src/rtpext.h:
+ public headers splitted and moved to src/cc++/rtp/.
+ * configure.in: REQUIRES="1.0.0", check for /dev/urandom and
+ cleaned up some headers checks.
+
+2002-07-29 David Sugar <dyfet@ostel.com> (from 0.9.1 to 0.9.2)
+
+ * Updated build for Hammer (x86-64) support.
+
+2002-02-18 David Sugar <dyfet@ostel.com> (from 0.7.2 to 0.7.3)
+
+ * Solaris target compile support.
+
+2001-12-28 David Sugar <dufet@ostel.com> (from 0.7.1 to 0.7.2)
+
+ * src/rtp.h: header fixups for newer Common C++
+
+ * application of Debian patch for gcc 3.0.
+
+2001-11-28 Federico Montesino <p5087@quintero.fie.us.es> (from 0.6.2 to 0.6.3)
+
+ * src/members.cpp: fixed a bug in RTPSource::addNewSource(uint32)
+ (the collision list was wrongly modified when inserting new
+ sources).
+
+ * src/queue.cpp: fixed a serious bug (incomplete initialization)
+ in RTPQueue::RTPQueue(int, uint32) and RTPQueue::initQueue.
+
+ * UDPIPv4Socket now inherits from both UDPReceive and UDPTransmit,
+ instead of only UDPSocket. Inheriting only from UDPSocket is an
+ error I introduced in 0.6.0. This change is necessary to avoid
+ receiving/transmitting collisions, specially when two applications
+ in the same host talk to each other through the same port numbers.
+
+ * src/socket.cpp: UDPIPv4Socket::Connect(const InetAddress&,
+ tpport_t) removed as a result of the change listed up here.
+
+ * demo/Makefile.am, demo/rtpsend.cpp and demo/rtplisten.cpp: added
+ new demo apps
+
+ * COPYING.addendum: added (the same as the Common C++ one)
+
+ * src/rtp.h: rearranged Members class.
+
+ * src/control.cpp: QueueRTCPManager::getOnlyBye() has been filled
+ in.
+
+ * src/rtp.h, src/control.cpp: static const data members initialization
+ moved from rtp.h to control.cpp to avoid VC++ complaints.
+
+ * src/rtp.h: T_RTPSocket::leaveGroup(const InetMcastAddress&) fixed
+ (now calls to setMulticast(false), instead of setMulticast(true)).
+
+ * src/rtp.h: Template T_RTPSocket updated from __EXPORT to
+ CCXX_CLASS_EXPORT
+
+ * src/rtp.h, control.cpp and packet.cpp: RTP_VERSION is now called
+ CCRTP_VERSION to avoid name conflicts with other stacks
+
+ * src/rtp.h and src/queue.h: the "data" parameter of putPacket is
+ now const.
+
+2001-11-27 David Sugar <dyfet@ostel.com> (from 0.7.0 to 0.7.1)
+ * fixed memory leaks in sdes and bye string builds.
+ * added functional virtuals for session control start and stop.
+ * created start of "phone" user agent.
+
+2001-11-02 David Sugar <dyfet@ostel.com> (from 0.6.2 to 0.7.0)
+ * addition of namespace support and changes for Common C++ 1.9.0.
+
+2001-10-15 David Sugar <dyfet@ostel.com> (from 0.6.1 to 0.6.2)
+ * fixed include files in demo apps.
+
+2001-10-14 E. Stuart Hicks <eshicks@hotmail.com> (from 0.6.1 to 0.6.2)
+ * minor patch to compile on older gcc releases.
+
+2001-10-07 David Sugar <dyfet@ostel.com> (from 0.6.0 to 0.6.1)
+ * ccRTP becomes a GNU package.
+
+2001-09-20 David Sugar <dyfet@ostel.com> (from 0.6.0 to 0.6.1)
+ * new virtuals to trap and filter packet queue expiration.
+
+2001-09-02 Federico Montesino <p5087@quintero.fie.us.es> (from 0.5.1 to 0.6.0)
+
+ * configure.in: added check for nana support
+ (configure --with-nana, for testing), stdlib.h and sys/utsname.h
+
+ * src/Makefile.am: updated to make the following:
+
+ * src/rtpext.h: new public header containing the declarations
+ needed to make low level packet filtering and stack extensions.
+
+ * rtp.h: many new methods and changes in the class hierarchy (to
+ add MembershipControl, QueueRTCPManager and the template
+ T_RTPSocket)
+
+ * New files src/members.cpp, src/data.cpp and src/source.cpp with
+ the implementation of MembershipControl, RTPData and RTPSource
+ classes, respectively
+
+ * src/control.cpp: now includes the implementation of
+ QueueRTCPManager.
+
+ * src/socket.cpp: now includes the implementation of UDPIPv4Socket
+ and could include the implementation of other kind of socket
+ classes used to instantiate T_RTPSocket.
+
+ * Rearranged the doxygen tags and configuration (and changes in
+ src/private.h) so that the introductory README, the TODO list and
+ the examples under demo/ are included in the documentation. Added
+ some comments both for API and implementation.
+
+2001-08-22 David Sugar <dyfet@ostel.com> (from 0.5.0 to 0.5.1)
+
+ * expose private packet structures externally.
+
+2001-06-21 David Sugar <dyfet@ostel.com> (from 0.4.1 to 0.5.0)
+
+ * added const for address handlers.
+ * added queue Purge function.
+ * extended queue i/o services and support for sequence and
+ timestamp initialization/signatures.
+ * added millisecond timeclock for stack time synhronization.
+ * added RTCP event messages as virtuals.
+
+2001-04-23 David Sugar <dyfet@ostel.com> (from 0.4.0 to 0.4.1)
+
+ * added virtual handler for timer tick driven code.
+ * added patches and demo apps from Federico.
+
+from 0.3.2 to 0.4.0 David Sugar <dyfet@ostel.com>
+
+ * fixed version test.
+ * added virtual handler to process packet "events".
+
+from 0.3.1 to 0.3.2 David Sugar <dyfet@ostel.com>
+
+ * some win32 things.
+ * new common c++ version check.
+
+from 0.3.0 to 0.3.1 David Sugar <dyfet@ostel.com>
+
+ * some header fixups.
+
+from 0.2.2 to 0.3.0 David Sugar <dyfet@ostel.com>
+
+ * merged with Common C++ updates and new Common C++ UDP classes.
+
+from 0.2.1 to 0.2.2 David Sugar <dyfet@ostel.com>
+
+ * use of sequence and marker checks to allow application to
+ determine if assembled multi-sequence packets are "complete" or
+ missing data.
+
+ * reorganized class structure to allow more malleable assembly of
+ different kinds of RTP session classes.
+
+from 0.2.0 to 0.2.1 David Sugar <dyfet@ostel.com>
+
+ * add support to strip "padding" on receiver side.
+ * add packet reassembly of multi-segment packets.
+ * add getPayloadSize capability.
+ * add setPartial to update a pending (multi-channel) frame.
+ * RTPSocket "broken" constructor fixed.
+
+from 0.1.0 to 0.2.0 David Sugar <dyfet@ostel.com>
+
+ * set SO_REUSEADDR for rtcp socket.
+ * added RTCP scheduling points to service thread.
+ * added expiration of outgoing packets which have been "delayed"
+ or "blocked".
+ * handling of sending to blocked or conjested outbound socket
+ queues.
+ * RTPSocket uses non-blocking send for conjuestion test.
+
+from 0.0.1 to 0.1.0 David Sugar <dyfet@ostel.com>
+
+ * restructured class hierarchy to add new RTPQueue so that we have
+ a generic base for creating different RTP socket types.
+ * RTPDuplex added.