2014-04-14  David Sugar (for 2.0.9)

	Merged fix from Alexandre Lision for initial rtcp seq #

2014-03-24  David Sugar (for 2.0.8)

	Fixed for gcrypt >= 1.6.0...

2014-01-15  Tristen Matthew (for 2.0.8)

	Improved demos

2014-01-05  Tristen Matthew

	Clang fixes & code cleanup from static analysis

2014-01-05  David Sugar

	Cleanup of configure

2013-06-30  David Sugar

	Fixed texinfo errors

2013-06-08  Jan Engelhardt

	Modernized automake

2013-06-03  Tristan Matthew

	Uninitialized control message and rtcp messages.

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.
