2007-11-16 Federico Montesino Pouzols * 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 * src/rtcppkt.cpp: (NTP2Timeval(uint32, uint32): fixed bug in tf_usec field computation (reported by Martin Runge). 2007-10-24 Federico Montesino Pouzols * src/outqueue.cpp: fixed removeDestinationFromList and removeDestinationFromListIPV6 (ncrement on an undefined iterator bug reported by Martin Mainka). 2006-12-30 David Sugar 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 Prep for release 1.5.0 with Werner Dittman's SRTP changes merged. 2006-09-16 Federico Montesino Pouzols * 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 * configure: Updated to use pkgconfig instead of older Common C++ macro. 2006-07-25 Federico Montesino Pouzols * 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 * src/control.cpp: (QueueRTCPManager::packReportBlocks): fixed byte ordering bug in report blocks SSRC field. Reported by Yaniv Levy. 2006-05-16 David Sugar * 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 * configure.in: updated for 1.4.0. 2006-05-16 Federico Montesino Pouzols * 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 * configure.in: updated for 1.4.0. 2006-03-27 David Sugar * src/queue.cpp: 64 bit friendly... 2006-03-08 David Sugar * src/ccrtp/rtp.h, src/ccrtp/channel.h, src/pool.cpp: added preliminary IPV6 RTP support. 2005-12-08 David Sugar * 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 * 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 * configure.ac: updated for new release 2005-10-10 Federico Montesino Pouzols * src/members.cpp: (MembershipBookkeeping::SyncSourceLink::initStats) fixed initialization of timestamps. 2005-09-20 Federico Montesino Pouzols * 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 * src/queue.cpp: needs for sprintf... 2005-07-29 David Sugar * src/control.cpp: fix for pointer skip * configurr.ac: updated for release 1.3.4. 2005-07-27 David Sugar * configure.ac: updated for release 1.3.3. 2005-07-27 Federico Montesino Pouzols * src/control.cpp: Added length checks while processing RTCP received packets, patch from Michel de Boer. 2005-06-13 David Sugar * configure.ac: updated for release 1.3.2. 2005-06-11 David Sugar * 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 * src/ccrtp/rtppkt.h: 2833 methods must be public 2005-05-01 David Sugar * configure.ac: updated for May 1 release, 1.3.1. 2005-04-29 David Sugar * src/ccrtp/rtp.h: gcc 4.0 pickyness and passing of ~0 to sleep. 2005-04-27 Federico Montesino Pouzols * 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 * 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 * 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 * 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 * 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 * 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 - 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 * libccrtp1.pc.in: updated for cc++ >= 1.3.0 2005-02-28 Federico Montesino Pouzols * configure.ac: require cc++ >= 1.3.0. * src/outqueue.cpp: (DestinationListHandler::removeDestinationFromList) fixed removal of destination addresses. 2005-02-11 David Sugar * 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 * 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 * configure.ac: release 1.2.1 2005-02-06 David Sugar * 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 * libccrtp1.pc.in: fix for pkgconfig dependency on libccext2. 2005-01-24 David Sugar * 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 * 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 * 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 * 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 * 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 * 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 * configure.ac: standardized autoconfiguring a bit including shell issues with freebsd. 2004-11-11 David Sugar * m4/ost_debug.m4 and debug support added. * configure.in moved to configure.ac. 2004-06-01 Federico Montesino Pouzols * src/ccrtp/queuebase.h: doc clarifications. 2004-05-19 David Sugar * ccrtp.spec.in: allow .la files to be included. 2004-05-09 David Sugar * 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 * reconfig: can use $ACLOCALDIR for extra m4 path. 2004-04-21 David Sugar * all sources; fixed namespace ending on }; for pedonic gcc-3.4 2004-04-15 David Sugar * src/Makefile.am: changes for unsupported autoconf AM_LDFLAGS. 2004-03-30 David Sugar * 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 * 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 * demo/rtplisten.cpp: print payload type field. 2004-01-28 David Sugar * configure: use ~/.configure as means to hold default configure options when configure invoked without options. 2004-01-24 Federico Montesino Pouzols * 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 * 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 * 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 * 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 * 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 * 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 * src/ccrtp/iqueue.h, src/incqueue.cpp: corrected members counter initialization. 2003-10-21 Federico Montesino Pouzols * src/control.cpp: (QueueRTCPManager::computeRTCPInterval): fixed the RTCP interval randomization code. 2003-10-20 Federico Montesino Pouzols * 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 * 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 * src/ccrtp/rtp.h: (TRTPSessionBase::build, mcast version): fixed multicast bind/join, from Luuk van Dijk. 2003-06-20 David Sugar * src/Makefile.am, phone/Makefile.am, demo/Makefile.am: fix for current automake/autoconf systems 2003-06-09 David Sugar * 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 * src/ccrtp/sources.h: SyncSource::isSender made const. * doc/ccrtp.texi: fixes and additions. 2003-05-10 Federico Montesino Pouzols * 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 * Some compile checks and 1.0.1 release (corrected timeline). 2003-04-04 Federico Montesino Pouzols * 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 * src/ccrtp/rtp.h: (TRTPSocketBase::endSocket): free cso and dso. 2003-03-24 David Sugar * What the heck, it's long overdue...1.0.0 release 2003-03-22 Federico Montesino Pouzols * 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 * src/ccrtp/rtp.h: fixes for multicast methods of TRTPSessionBase. 2003-01-25 David Sugar * configure.in updated for new pre-release * ext.h fixed for older gcc compile 2003-01-12 Federico Montesino Pouzols * 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 * modify spec file for rpm build * release 1.0pre1 prep work 2002-11-24 Federico Montesino Pouzols * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 (from 0.9.1 to 0.9.2) * Updated build for Hammer (x86-64) support. 2002-02-18 David Sugar (from 0.7.2 to 0.7.3) * Solaris target compile support. 2001-12-28 David Sugar (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 (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 (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 (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 (from 0.6.1 to 0.6.2) * fixed include files in demo apps. 2001-10-14 E. Stuart Hicks (from 0.6.1 to 0.6.2) * minor patch to compile on older gcc releases. 2001-10-07 David Sugar (from 0.6.0 to 0.6.1) * ccRTP becomes a GNU package. 2001-09-20 David Sugar (from 0.6.0 to 0.6.1) * new virtuals to trap and filter packet queue expiration. 2001-09-02 Federico Montesino (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 (from 0.5.0 to 0.5.1) * expose private packet structures externally. 2001-06-21 David Sugar (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 (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 * fixed version test. * added virtual handler to process packet "events". from 0.3.1 to 0.3.2 David Sugar * some win32 things. * new common c++ version check. from 0.3.0 to 0.3.1 David Sugar * some header fixups. from 0.2.2 to 0.3.0 David Sugar * merged with Common C++ updates and new Common C++ UDP classes. from 0.2.1 to 0.2.2 David Sugar * 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 * 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 * 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 * restructured class hierarchy to add new RTPQueue so that we have a generic base for creating different RTP socket types. * RTPDuplex added.