blob: a761dee42f2074f74f9aa77bf8f76eff578ac96e [file] [log] [blame]
Emeric Vigier2f625822012-08-06 11:09:52 -040012010-12-04 Werner Dittmann
2
3 Added a new method to RTPPacket and modified the takeInData to fix
4 the handling of padding in case SRTP is active. SRTP encrypts the
5 full payload including the padded bytes thus at the receiving end
6 this would give the wrong number of bytes added to the payload.
7
82010-10-04 David Sugar <dyfet@gnutelephony.org>
9
10 More code cleanup for new 1.7.1 release.
11
122008-12-12 David Sugar <dyfet@gnutelephony.org>
13
14 General code cleanup and pedantic check for what will be release 1.7.0.
15
162008-08-20 David Sugar <dyfet@gnutelephony.org>
17
18 Taking in debian gcc-4.3 cleanness patch and upstream patches...
19
202008-06-01 David Sugar <dyfet@gnutelephony.org>
21
22 For release 1.6.1: Crypto context fixes and updates from Werner
23 Dittmann, timestamp calculation issues as reported on list, and a gcc
24 4.3 issue I found.
25
262007-11-16 Federico Montesino Pouzols <fedemp@altern.org>
27
28 * src/ccrtp/rtcppkt.cpp: fixed switched member in
29 RTCPSenderInfo::getPacketCount and RTCPSenderInfo::getOctetCount
30 (patch from Mattias Seeman). Added better constructor to
31 RTCPReceiverInfo and RTCPSenderInfo.
32
332007-10-29 Federico Montesino Pouzols <fedemp@altern.org>
34
35 * src/rtcppkt.cpp: (NTP2Timeval(uint32, uint32): fixed bug in
36 tf_usec field computation (reported by Martin Runge).
37
382007-10-24 Federico Montesino Pouzols <fedemp@altern.org>
39
40 * src/outqueue.cpp: fixed removeDestinationFromList and
41 removeDestinationFromListIPV6 (ncrement on an undefined iterator
42 bug reported by Martin Mainka).
43
442006-12-30 David Sugar <dyfet@gnutelephony.org>
45
46 Recent changes known: SRTP support can now be disabled cleanly in
47 configure; support for sending packets to IPV6 networks (IPV6
48 receive not working yet). This will be part of a 1.5.1 release.
49
502006-10-01 David Sugar <dyfet@gnutelephony.org>
51
52 Prep for release 1.5.0 with Werner Dittman's SRTP changes merged.
53
542006-09-16 Federico Montesino Pouzols <fedemp@altern.org>
55
56 * src/ccrtp/rtp.h: (Template class TRTPSessionBase): setMcastTTL
57 moved to public section so that users have a way of setting TTL
58 (pointed out by Tom Anwyll). joinGroup() and leaveGroup() moved to
59 the protected section.
60
61 * src/ccrtp/channel.h: (Template classes DualRTPChannel and
62 DualRTPChannelIPV6): fixed bugs in setMulticast (only recv socket
63 was set) and setTimeToLive (ttl of the recv socket was changed
64 instead of changing the send ttl).
65
662006-09-11 David Sugar <dyfet@gnutelephony.org>
67
68 * configure: Updated to use pkgconfig instead of older Common C++
69 macro.
70
712006-07-25 Federico Montesino Pouzols <fedemp@altern.org>
72
73 * Added 2 fixes from Yaniv Levy:
74
75 * src/ccrtp/cqueue.h: added missing implementation of
76 QueueRTCPManager::setMinRTCPInterval.
77
78 * src/ccrtp/oqueue.h: added two new methods to class
79 OutgoingDataQueue: setNextSeqNum and getCurrentSeqNum (for RTSP
80 PLAY).
81
822006-07-03 Federico Montesino Pouzols <fedemp@altern.org>
83
84 * src/control.cpp: (QueueRTCPManager::packReportBlocks): fixed
85 byte ordering bug in report blocks SSRC field. Reported by Yaniv
86 Levy.
87
882006-05-16 David Sugar <dyfet@gnutelephony.org>
89
90 * src/ccrtp/ioqueue.h: make endQueue protected.
91
92 * src/outqueue.cpp, src/ccrtp/oqueue.h: support added to send
93 immediate RTP data packet with new sendImmediate method.
94
95 * src/ccrtp/rtp.h: endSocket validates dso/cso correctly
96
97 * configure.in: updated for 1.4.1.
98
992006-05-02 David Sugar <dyfet@gnutelephony.org>
100
101 * configure.in: updated for 1.4.0.
102
1032006-05-16 Federico Montesino Pouzols <fedemp@altern.org>
104
105 * src/ccrtp/pool.h, src/pool.cpp: applied patch in Savannah
106 support request #105229 (by Jorgen Terner) for session pools
107 thread safety. New classes: SessionListElement and PredEquals.
108
109 * src/ccrtp/pool.h, src/pool.cpp: applied patch in Savannah
110 support request #105156 (by Jorgen Terner) for scheduling packets
111 by timeout (as in single threaded RTP sessions).
112
113 * src/outqueue.cpp: (OutgoingDataQueue::purgeOutgoingQueue)
114 nullify sendLast (fix by Jorgen Terner)
115
1162006-05-02 David Sugar <dyfet@gnutelephony.org>
117
118 * configure.in: updated for 1.4.0.
119
1202006-03-27 David Sugar <dyfet@gnutelephony.org>
121
122 * src/queue.cpp: 64 bit friendly...
123
1242006-03-08 David Sugar <dyfet@gnutelephony.org>
125
126 * src/ccrtp/rtp.h, src/ccrtp/channel.h, src/pool.cpp: added
127 preliminary IPV6 RTP support.
128
1292005-12-08 David Sugar <dyfet@gnutelephony.org>
130
131 * src/ccrtp/iqueue.h, src/ccrtp/rtppkt.h: minor header fixes for
132 doxygen generated documentation.
133
134 * configure.ac: updated for new release.
135
1362005-12-01 Federico Montesino Pouzols <fedemp@altern.org>
137
138 * src/source.cpp: (RTPApplication::findCNAME) fixed to avoid
139 crashes when no user name and hostname is available (fix by Michel
140 de Boer).
141
142 * src/pool.cpp: (SingleRTPSessionPool::run) fix to make it run by
143 Guillaume FRAYSSE.
144
1452005-10-10 David Sugar <dyfet@gnutelephony.org>
146
147 * configure.ac: updated for new release
148
1492005-10-10 Federico Montesino Pouzols <fedemp@altern.org>
150
151 * src/members.cpp:
152 (MembershipBookkeeping::SyncSourceLink::initStats) fixed
153 initialization of timestamps.
154
1552005-09-20 Federico Montesino Pouzols <fedemp@altern.org>
156
157 * Fixes for jitter calculation (bug report by Greg Silverman):
158
159 * src/ccrtp/iqueue.h, src/incqueue.cpp:
160 (IncomingDataQueue::recordReception) now also records
161 lastPacketTime.
162
163 * src/ccrtp/iqueue.h, src/incqueue.cpp: (struct SyncSourceLink)
164 renamed initialTime, initialTimestamp, getInitialTime,
165 setInitialTime, getInitialTimestamp, setInitialTimestamp to
166 initialDataTime, initialDataTimestamp and so on.
167
168 * src/control.cpp: (QueueRTCPManager::takeInControlPacket): do not
169 call srcLink->setInitialTime.
170
171 * src/ccrtp/rtcppkt.h: doc. fix.
172
1732005-08-21 David Sugar <dyfet@gnutelephony.org>
174
175 * src/queue.cpp: needs <cstdio> for sprintf...
176
1772005-07-29 David Sugar <dyfet@gnutelephony.org>
178
179 * src/control.cpp: fix for pointer skip
180
181 * configurr.ac: updated for release 1.3.4.
182
1832005-07-27 David Sugar <dyfet@gnutelephony.org>
184
185 * configure.ac: updated for release 1.3.3.
186
1872005-07-27 Federico Montesino Pouzols <fedemp@altern.org>
188
189 * src/control.cpp: Added length checks while processing RTCP
190 received packets, patch from Michel de Boer.
191
1922005-06-13 David Sugar <dyfet@gnutelephony.org>
193
194 * configure.ac: updated for release 1.3.2.
195
1962005-06-11 David Sugar <dyfet@gnutelephony.org>
197
198 * src/ccrtp/base.h, src/ccrtp/rtppkt.h, src/ccrtp/rtcpptk.h:
199 use of CCXX_PACKED to control use of pack() pragma.
200
2012005-05-03 David Sugar <dyfet@gnutelephony.org>
202
203 * src/ccrtp/rtppkt.h: 2833 methods must be public
204
2052005-05-01 David Sugar <dyfet@gnutelephony.org>
206
207 * configure.ac: updated for May 1 release, 1.3.1.
208
2092005-04-29 David Sugar <dyfet@gnutelephony.org>
210
211 * src/ccrtp/rtp.h: gcc 4.0 pickyness and passing of ~0 to sleep.
212
2132005-04-27 Federico Montesino Pouzols <fedemp@altern.org>
214
215 * src/control.cpp: (packReportBlocks) use correct SSRC from remote
216 source, fix from Takegami takashi.
217
218 * src/rtcppkt.cpp: (timevalIntervalTo65536) fixed signed/unsigned
219 issue, reported by Takegami Takashi.
220
2212005-04-19 Federico Montesino Pouzols <fedemp@altern.org>
222
223 * doc/ccrtp.texi: notes on padding and redundancy. Added
224 clarification on linking exception.
225
226 * src/rtcppkt.cpp: (NTP2Timeval) fixed conversion (-
227 NTP_EPOCH_OFFSET instead of +), reported by Takegami Takashi.
228
229 * fixed dlsr computation (reported by Takegami Takashi):
230
231 * src/ccrtp/iqueue.h, src/members.cpp: added lastRTCPPacketTime
232 and lastRTCPSRTime to SyncSourceLink
233
234 * src/control.cpp: (QueueRTCPManager::takeInControlPacket) record
235 lastRTCPPacketTime and lastRTCPSRTime. (packReportBlocks) use
236 lastRTCPSRTime to compute dlsr (instead of NTP time)
237
2382005-03-24 David Sugar <dyfet@ostel.com>
239
240 * src/queue.cpp: some fix on digest to kill embedded class export
241 and fix for compilers weak (broken) on namespace support.
242
2432005-03-23 Federico Montesino Pouzols <fedemp@altern.org>
244
245 * src/ccrtp/oqueue.h, src/outqueue.cpp: destinationCounter
246 eventually replaced with the size method of std::list.
247
248 * src/rtppkt.cpp: padding calculation fixed.
249
2502005-03-22 David Sugar <dyfet@ostel.com>
251
252 * configure.ac: bumped version up for next release to 1.3.0, rather
253 than 1.2.3 since library dependencies are now different, and
254 with list changes, class abi also will be different. Also
255 happens to match commoncpp2 1.3.x release versions nicely!
256
257 * src/ccrtp/oqueue.h, src/outqueue.cpp: added appearently
258 missing "destinationCounter" to DestinationList object, init 0,
259 inc on add, sub on remove.
260
2612005-03-20 Federico Montesino Pouzols <fedemp@altern.org>
262
263 * src/ccrtp/rtppkt.h, src/rtppkt.cpp: added 'padsize' parameter to
264 OutgoingRTPPkt and RTPPacket constructors. RTPPacket::RTPPacket
265 modified for variable padding lengths.
266
267 * src/ccrtp/oqueue.h, src/outqueue.cpp: added setPadding(uint8),
268 modified OutgoingDataQueue::OutgoingDataQueue().
269
270 * src/ccrtp/oqueue.h, src/outqueue.cpp, src/control.cpp: applied
271 the patch from Dan Weber to use std::list instead of the
272 handcrafted destinationList (destinationCounter also replaced with
273 size()). The minimal std::list-like template is still TODO!
274
275 * Some work to remove dependency on libccext by copying the md5
276 code from Common C++ to ccRTP:
277 - src/private.h: do not include <cc++/digest.h>
278 - src/queue.cpp: copy (and minor tweaks) md5 parts of digest.h and md5.cpp from cc++
279 - libccrtp1.pc.in: require libccgnu2 instead of libccext2
280 - src/Makefile.am: added LIBS= @GNULIBS@ to avoid linking to libccext2
281 - Directory w32/cape/: ccrtp1.vcproj, ccrtp1.dsp, rtphello.vcproj,
282 rtphello.dsp, rtplisten.vcproj, rtplisten.dsp, rtpsend.vcproj,
283 rtpsend.dsp: removed ccext2.lib
284
2852005-03-02 David Sugar <dyfet@ostel.com>
286 * libccrtp1.pc.in: updated for cc++ >= 1.3.0
287
2882005-02-28 Federico Montesino Pouzols <fedemp@altern.org>
289 * configure.ac: require cc++ >= 1.3.0.
290
291 * src/outqueue.cpp:
292 (DestinationListHandler::removeDestinationFromList) fixed removal
293 of destination addresses.
294
2952005-02-11 David Sugar <dyfet@ostel.com>
296 * configure.ac: version bumped to 1.2.2
297
298 * w32/cape{...}: support for CAPE debug project installs
299
300 * src/ccrtp/rtp.h, src/pool.cpp: "startRunning" is also virtual
301 and requires some special handling or it will not link in vs.net
302 when using debug mode options...
303
3042005-02-10 Federico Montesino Pouzols <fedemp@altern.org>
305 * doc/ccrtp.texi: 'Clossing Sessions' extended and clarified.
306
307 * src/ccrtp/rtp.h, src/control.cpp: doc clarifications and updates
308 to RFC 3550/3551.
309
3102005-02-07 David Sugar <dyfet@ostel.com>
311 * configure.ac: release 1.2.1
312
3132005-02-06 David Sugar <dyfet@ostel.com>
314 * cape vs.net projects added.
315
316 * src/control.cpp: some casting fixups for fixed size data types. fractionLost is a uint8 and so does
317 not need to pass through htonx stuff.
318
319 * src/ccrtp/ioqueue.h: satisfy dominenance by asserting RTPDataQueue which inherets renewLocalSSRC
320 through both iqueue and oqueue now refers explicity to the iqueue one.
321
322 * src/ccrtp/rtp.h: inheritence issues for gcc 3.4 support in templated
323 RTP class.
324
325 * src/ccrtp/rtppkt.h, queuebase.h: some explicit type conversions added.
326
327 * src/ccrtp/channel.h: ccioctl now uses "SOCKET" rather than pure int type, w32 returns 0.
328
329 * src/incqueue.cpp: explicit type casts added. "count" seems unused in getData.
330
331 * src/queue.cpp: should we avoid casting address to 32 bit object??
332
333 * src/rtppkt.cpp: explicit typecasts added as needed.
334
3352005-01-28 David Sugar <dyfet@ostel.com>
336 * libccrtp1.pc.in: fix for pkgconfig dependency on libccext2.
337
3382005-01-24 David Sugar <dyfet@ostel.com>
339 * reconfig: getting to work generically and rh7 specific
340
341 * updated headers/source files with "runtime" exception notice
342 for consistency in exception language.
343
3442005-01-20 David Sugar <dyfet@ostel.com>
345 * libccrtp1.pc[.in], configure.ac: pkgconfig file generated for
346 libccrtp1
347
348 * Makefile.am, w32/Makefile.am, doc/Makefile.am: stripped out
349 symlink stuff for w32 since "cape.exe" installer provides known
350 directory location for w32 installed versions of GNU Common C++.
351
352 * configure.ac: version bumped to 1.2.0.
353
354 * getRawTimestamp() was not needed after all, change unmade.
355
356 * src/ccrtp/rtppkt.h: definitions for rfc2833 telephony payloads.
357
3582005-01-16 David Sugar <dyfet@ostel.com>
359 * src/ccrtp/iqueue.h: virtual methods for packet filtering were
360 hidden as private; made protected so they can be used.
361
362 * src/ccrtp/rtppkt.h: getRawTimestamp needed for packet filtering.
363
3642005-01-10 Federico Montesino Pouzols <fedemp@altern.org>
365
366 * src/control.cpp: (QueueRTCPManager::getBYE) patch from Michel de
367 Boer to avoid calling onGotGoodbye with NULL as value for reason.
368
369 * doc/ccrtp.texi: added note on threads, sockets, and sessions.
370
3712004-11-28 David Sugar <dyfet@ostel.com>
372 * src/private.h: ignore config.h if pure w32 unpack from cvs
373
374 * w32/cape/...: new w32 build tree for combined CAPE Framework
375 installer.
376
3772004-11-22 Federico Montesino Pouzols <fedemp@altern.org>
378
379 * src/ccrtp/rtp.h: fixed bug in error handling,
380 TRTPSessionbase::leaveGroup
381
382 * src/ccrtp/channel.h: fixed to compile with cc++ ipv6 support.
383
384 * src/outqueue.cpp: fixed two bugs in
385 DestinationListHandler::removeDestinationFromList (reported by
386 Sigrid Thijs).
387
388 * src/ccrtp/formats.h, src/rtppkt.cpp: fixed
389 PayloadFormat::setPayloadType (reported by Sigrid Thijs) that
390 failed with dynamic types. The static range is now enforced in
391 StaticPayloadFormat::StaticPayloadFormat.
392
3932004-11-14 David Sugar <dyfet@ostel.com>
394 * configure.ac: standardized autoconfiguring a bit including
395 shell issues with freebsd.
396
3972004-11-11 David Sugar <dyfet@ostel.com>
398 * m4/ost_debug.m4 and debug support added.
399 * configure.in moved to configure.ac.
400
4012004-06-01 Federico Montesino Pouzols <fedemp@altern.org>
402 * src/ccrtp/queuebase.h: doc clarifications.
403
4042004-05-19 David Sugar <dyfet@ostel.com>
405 * ccrtp.spec.in: allow .la files to be included.
406
4072004-05-09 David Sugar <dyfet@ostel.com>
408 * src/ccrtp/channel.h: use UDPSocket::setPeer with cast rather
409 than re-impliment to support future merged ipv4/ipv6 release.
410
4112004-05-05 David Sugar <dyfet@ostel.com>
412 * reconfig: can use $ACLOCALDIR for extra m4 path.
413
4142004-04-21 David Sugar <dyfet@ostel.com>
415 * all sources; fixed namespace ending on }; for pedonic gcc-3.4
416
4172004-04-15 David Sugar <dyfet@ostel.com>
418
419 * src/Makefile.am: changes for unsupported autoconf AM_LDFLAGS.
420
4212004-03-30 David Sugar <dyfet@ostel.com>
422
423 * src/rtppkt.cpp, src/members.cpp, src/outqueue.cpp,
424 src/queue.cpp, src/rtcppkt.cpp, src/source.cpp: support source
425 build where exceptions have been disabled.
426
427 * src/pool.cpp: header file include order changed for qnx6
428 build.
429
4302004-03-15 Federico Montesino Pouzols <fedemp@altern.org>
431
432 * src/source.cpp: (findusername): fixed username initialization,
433 from Guillaume Glodas.
434
435 * src/ccrtp/rtp.h: SingleThreadRTPSession::run: fixed timeout
436 checks, from Guillaume Glodas.
437
4382004-03-10 Federico Montesino Pouzols <fedemp@altern.org>
439
440 * demo/rtplisten.cpp: print payload type field.
441
4422004-01-28 David Sugar <dyfet@ostel.com>
443
444 * configure: use ~/.configure as means to hold default configure
445 options when configure invoked without options.
446
4472004-01-24 Federico Montesino Pouzols <fedemp@altern.org>
448
449 * src/ccrtp/rtp.h: (TRTPSessionBase and SingleThreadRTPSession):
450 added iface optional parameter to multicast RTP session
451 constructors, so that it is possible to specify which interface to
452 add to multicast groups.
453
454 * src/ccrtp/iqueue.h, src/incqueue.cpp: added
455 IncomingDataQueue::getDefaultMembersSize().
456
457 * doc/ccrtp.texi: more docs.
458
4592004-01-18 Federico Montesino Pouzols <fedemp@altern.org>
460
461 * src/ccrtp/sources.h, src/source.cpp, src/control.cpp: added
462 RTPApplication::getParticipant, used in
463 QueueRTCPManager::onGotSDESChunk to lookup participants by CNAME.
464
465 * demo/ccrtptest.cpp: added the class PacketsPattern.
466
467 * doc/ccrtp.texi: more explanations on headers.
468
469 * src/ccrtp/cqueue.h, src/ccrtp/oqueue.h, src/ccrtp/rtcppkt.h,
470 src/control.cpp: doc cleanup (@todos).
471
472 * demo/audiorx.cpp, demo/rtplisten.cpp: small additions.
473
4742004-01-17 Federico Montesino Pouzols <fedemp@altern.org>
475
476 * src/ccrtp/oqueue.h: added to OutgoingDataQueue methods for CSRC
477 handling (addContributor and removeContributor).
478
479 * src/ccrtp/queuebase.h: added to AppDataUnit methods for
480 accessing CSRC (getContributorsCount and getContributorsID)
481
482 * src/ccrtp/rtp.h, src/ccrtp/channel.h: added support for
483 symmetric RTP (SymmetricRTPSession).
484
485 * src/ccrtp/ioqueue.h, src/ccrtp/rtp.h: startStack renamed to
486 enableStack to avoid confussion with startRunning.
487
488 * src/control.cpp: fixed a bug in SDES items type and length
489 processing (QueueRTCPManager::onGotSDESChunk). This bug could
490 cause crashes when iterating through the participants list.
491
492 * src/incqueue.cpp: fixed jitter computation in
493 IncomingDataQueue::recordReception.
494
495 * doc/ccrtp.texi: updated to new RFCs 355x
496
497 * demo/ccrtptest.cpp, demo/Makefile.am, src/private.h: added a
498 simple test program.
499
5002003-12-26 David Sugar <dyfet@ostel.com>
501 * configure.in, w32/Makefile.am: support for new configure
502 --with-commoncpp=dir option to link Common C++ source files for
503 w32 specific builds, and ability to "make dist" either with or
504 without extra w32 files linked in. One can also "disable"
505 redistribution of Common C++ files in ccrtp by using either
506 --without-commoncpp, or by specifying an invalid directory.
507
5082003-12-20 David Sugar <dyfet@ostel.com>
509 * Makefile.am, doc/Makefile.am, configure.in: we now regerate
510 doxygen documentation automatically as part of "make" if doxygen
511 is installed. Hence, we no longer distribute pre-generated doxy
512 stuff in the tarball.
513
5142003-11-15 David Sugar <dyfet@ostel.com>
515 * src/private.h, src/queue.cpp, src/source.cpp,
516 src/ccrtp/base.h src/ccrtp/ext.h: re-arranged headers and
517 dependencies on common C++ headers so use of includes and
518 symbol exports would be correct per Common C++ 1.1.
519
5202003-10-30 Federico Montesino Pouzols <fedemp@altern.org>
521
522 * src/ccrtp/iqueue.h, src/incqueue.cpp: corrected members counter
523 initialization.
524
5252003-10-21 Federico Montesino Pouzols <fedemp@altern.org>
526
527 * src/control.cpp: (QueueRTCPManager::computeRTCPInterval): fixed
528 the RTCP interval randomization code.
529
5302003-10-20 Federico Montesino Pouzols <fedemp@altern.org>
531
532 * src/control.cpp, src/queue.cpp: added checks for extreme control
533 bandwidth values that can cause divided by zero exceptions.
534
5352003-09-23 Federico Montesino Pouzols <fedemp@altern.org>
536
537 * src/source.cpp: (RTPApplication::removeParticipant): fixed a bug
538 at first participant addition.
539 * src/ccrtp/rtp.h, src/incqueue.cpp, src/outqueue.cpp: fixed minor
540 signed/unsigned inconsistencies
541
5422003-07-03 Federico Montesino Pouzols <fedemp@altern.org>
543
544 * src/ccrtp/rtp.h: (TRTPSessionBase::build, mcast version): fixed
545 multicast bind/join, from Luuk van Dijk.
546
5472003-06-20 David Sugar <dyfet@ostel.com>
548
549 * src/Makefile.am, phone/Makefile.am, demo/Makefile.am: fix
550 for current automake/autoconf systems
551
5522003-06-09 David Sugar <dyfet@ostel.com>
553
554 * m4/ost_endian.m4: updated for modern autoconf/automake systems
555 * acconfig.h: eliminated
556 * configure.in: updated based on modern autoconf issues
557 * reconfig: support for macosx and multi-version autoconf
558 * Release 1.0.2
559
5602003-05-14 Federico Montesino Pouzols <fedemp@altern.org>
561
562 * src/ccrtp/sources.h: SyncSource::isSender made const.
563 * doc/ccrtp.texi: fixes and additions.
564
5652003-05-10 Federico Montesino Pouzols <fedemp@altern.org>
566
567 * configure.in, acconfig.h, src/queue.cpp: removed the
568 AC_CHECK_FILE for /dev/urandom so as to allow cross-compilation.
569 * demo/rtplisten.cpp: modified to recognize mcast addresses.
570 * src/ccrtp/ext.h: fixed RTPDuplex::getNextDataPacketSize so that
571 it compiles even though UDPReceive::getReceiver is not const,
572 which will not be an issue with cc++2 versions newer than 1.0.9.
573
5742003-04-24 David Sugar <dyfet@gnu.org>
575
576 * Some compile checks and 1.0.1 release (corrected timeline).
577
5782003-04-04 Federico Montesino Pouzols <fedemp@altern.org>
579
580 * src/ccrtp/channel.h: (RTPBaseUDPIPv4Socket::join): call
581 Socket::join, instead of UDPSocket::join in order to avoid
582 conflicts with the new join added to releases of common c++ later
583 than 1.0.8.
584 * win32/msvcpp/demo/rtphello.dsp, win32/msvcpp/demo/rtpsend.cpp,
585 win32/msvcpp/demo/rtplisten.dsp: link ws2_32.lib.
586 * src/source.cpp: avoid access violation in the win32 version of
587 findusername, from Christian Steindl.
588
5892003-04-02 Federico Montesino Pouzols <fedemp@altern.org>
590
591 * src/ccrtp/rtp.h: (TRTPSocketBase::endSocket): free cso and dso.
592
5932003-03-24 David Sugar <dyfet@gnu.org>
594
595 * What the heck, it's long overdue...1.0.0 release
596
5972003-03-22 Federico Montesino Pouzols <fedemp@altern.org>
598
599 * win32/msvcpp/ccrtp1.dsp: fixed debug project linking settings.
600 * src/outqueue.cpp: (OutgoingDataQueue::getSchedulingTimeout)
601 avoid overflow when calculating next send time.
602
6032003-02-03 Federico Montesino Pouzols <fedemp@altern.org>
604
605 * src/ccrtp/rtp.h: fixes for multicast methods of TRTPSessionBase.
606
6072003-01-25 David Sugar <dyfet@gnu.org>
608 * configure.in updated for new pre-release
609 * ext.h fixed for older gcc compile
610
6112003-01-12 Federico Montesino Pouzols <fedemp@altern.org>
612
613 * doc/fdl.texi, doc/fdlnotice.texi: updated to FDL 1.2.
614 * src/ccrtp/formats.h, src/ccrtp/rtppkt.h, src/ccrtp/rtcppkt.h,
615 src/ccrtp/iqueue.h, src/ccrtp/oqueue.h, src/queue.cpp: fixes for
616 ANSI C++ warnings.
617 * src/ccrtp/rtp.h, src/ccrtp/ext.h, src/socket.cpp,
618 src/ccrtp/channel.h, src/ccrtp/socket.h: socket.h renamed to
619 channel.h in order to avoid name conflict with cc++2/socket.h's
620 man page.
621 * src/queue.cpp: (RTPDataQueue::getCurrentTimestamp): fixed
622 signed/unsigned bug, reported by Guillaume Fraysse.
623 * configure.in, src/Makefile.am, demo/Makefile.am,
624 phone/Makefile.am: gcc flags for ANSI C++.
625
6262002-11-27 David Sugar <sugar@gnu.org>
627 * modify spec file for rpm build
628 * release 1.0pre1 prep work
629
6302002-11-24 Federico Montesino Pouzols <fedemp@altern.org>
631
632 * src/cc++/rtp is now src/ccrtp.
633 * src/queue.cpp, src/control.cpp, src/cc++/rtp/ioqueue.h: use size
634 parameter for IncomingDataQueue constructor.
635 * demo/rtplisten.cpp: added onNewSyncSource redefinition.
636 * src/incqueue, src/controll.cpp: check that onNewSyncSource is
637 called only once for any source.
638
6392002-11-03 Federico Montesino Pouzols <fedemp@altern.org>
640
641 * src/control.cpp: (takeInControlPacket): source stats init.
642 * src/cc++/rtp/rtcppkt.h, src/control.cpp: new methods for
643 RTCPPacket: getLength and getSSRC.
644
6452002-10-31 Federico Montesino Pouzols <fedemp@altern.org>
646
647 * src/cc++/rtp/queuebase.h, src/queue.cpp, src/outqueue.cpp,
648 src/control.cpp: added localSSRCNetwork and reladed methods.
649 * demo/rtplisten.cpp: added onGotGoodbye virtual redefinition.
650 * src/control.cpp: (takeInControlPacket), (getOnlyBye), (getBye)
651 fixed.
652
6532002-10-28 Federico Montesino Pouzols <fedemp@altern.org>
654
655 * src/source.cpp, src/cc++/rtp/sources.h: participants
656 implementation completed.
657 * src/cc++/rtp/rtp.h: send BYE in session destructor.
658 * src/control.cpp: fixed RTCP header init. bug in dispatchBYE.
659
6602002-10-27 Federico Montesino Pouzols <fedemp@altern.org>
661
662 * src/cc++/rtp/iqueue.h, src/members.cpp: SR and RR info are
663 stores as unsigned char* instead of void*
664 * src/private.h: added tags for rtpsend and rtplisten demos.
665
6662002-10-26 Federico Montesino Pouzols <fedemp@altern.org>
667
668 * src/cc++/queuebase.h: include only pointer.h instead of template.h.
669 * src/cc++/iqueue.h, src/incqueue.h, src/control.h: store jitter
670 as float.
671
6722002-10-24 Federico Montesino Pouzols <fedemp@altern.org>
673
674 * src/cc++/queuebase.h: added getDefaultMaxSendSegmentSize() and
675 getMaxSendSegmentSize() to OutgoingDataQueueBase.
676 * src/outqueue.cpp: (OutgoingDataQueue::putData) segment data blocks
677 depending on getMaxSendSegmentSize.
678 * doc/ccrtp.texi: extended "Sending Data" subsection.
679 * src/cc++/rtp/iqueue.h: initSequence now inits maxSeqNum and
680 badSeqNum.
681
6822002-10-23 Federico Montesino Pouzols <fedemp@altern.org>
683
684 * src/control.cpp: BYE packets are now correctly sent with a
685 preceding RR in the compound.
686 * src/cc++/cqueue.h, src/control.cpp: new method
687 QueueRTCPManager::sendControlToDestinations.
688 * src/cc++/iqueue.h: initialize Members::members to 1.
689
6902002-10-22 Federico Montesino Pouzols <fedemp@altern.org>
691
692 * doc/Makefile.am, doc/srcmodel.txt, doc/srcmodel.dia,
693 doc/ccrtp.texi: added initial manual.
694 * doc/Doxyfile: added ../demo to EXAMPLE_PATH.
695
696 * src/cc++/rtp/ioqueue.h: added getDefaultSessionBandwidth and
697 getSessionBandwidth to QueueRTCPManager.
698 * src/queue.cpp: added defaultSessionBw constant.
699 * src/control.cpp computeRTCPInterval now takes into account the
700 session total bandwith.
701
7022002-10-21 Federico Montesino Pouzols <fedemp@altern.org>
703
704 * ccRTP has been rewritten. This changelog summarizes the most
705 important changes. Read it from bottom up.
706
707 * src/cc++/rtp/cqueue.h, src/control.cpp: getSDES splitted into
708 onGotSDES and a new virtual: onGotSDESChunk.
709 * src/cc++/rtp.h, control.cpp: added/updated onGotSR, onGotRR,
710 onGotAPP, onGotRRSRExtension and onSSRCCollision plug-in to
711 QueueRTCPManager class.
712
713 * src/cc++/rtp/oqueue.h, src/cc++/rtp/iqueue.h, src/cc++/cqueue.h:
714 readData, writeData, readControl and writeControl virtuals from
715 RTPQueue renamed to recvData, sendData, recvControl and
716 sendControl, respectively. recvData now provided the source
717 transport address. Added new getNextDataPacketSize virtual.
718
719 * src/cc++/rtp/pool.h, src/pool.cpp: added experimental "RTP
720 session pool" implementation.
721
722 * src/cc++/rtp/rtp.h: T_RTPSocket has been replaced with
723 TRTPSessionBase, which does not include any threading mechanism
724 and uses the new socket classes defined in
725 src/cc++/rtp/socket.h. New template class
726 SingleThreadRTPSession. Its run method is implemented using the
727 new QueueRTCPManager::controlReceptionService,
728 QueueRTCPManager::controlTransmissionService,
729 IncomingDataQueue::takeInDataPacket
730 OutgoingDataQueue::dispatchDataPacket.
731
732 * src/cc++/rtp/cqueue.h: added class AVPQueue.
733 * src/cc++/rtp/socket.h: new class RTPBaseUDPIPv4Socket, and template
734 class DualRTPChannel.
735 * src/cc++/rtp/oqueue.h, src/outqueue.cpp: new class
736 DestinationListHandler.
737 * src/cc++/rtp/iqueue.h, src/incqueue.cpp: class IncomingDataQueue
738 splitted from the old RTPQueue class.
739 * src/cc++/rtp/iqueue.h, src/outqueue.cpp: class OutgoingDataQueue
740 spllited from the old RTPQueue class.
741 * src/cc++/rtp/iqueue.h: MembershipControl is now
742 MembershipBookkeeping, inherits from the xxxHandler classes and
743 defines nested structures IncomingRTPPktLink and SyncSourceLink,
744 for packets/sources lists and hash table.
745 * src/cc++/rtp/iqueue.h: new classes SyncSourceHandler,
746 ParticipantHandler, ApplicationHandler and ConflictHandler.
747 * src/cc++/rtp/queuebase.h, src/data.cpp: new class AppDataUnit
748 * src/cc++/rtp/queuebase.h, src/queue.cpp: new class RTPQueueBase.
749 * src/cc++/rtp/queuebase.h, src/outqueue.cpp: new class
750 OutgoingDataQueueBase.
751 * src/cc++/rtp/queuebase.h, src/incqueue.cpp: new class
752 IncomingDataQueueBase.
753
754 * src/cc++/rtp/sources.h, src/source.cpp: new classes SDESItemsHolder,
755 RTPApplication and Participant. RTPSource has been replaced with
756 SyncSource.
757 * src/cc++/rtp/rtcppkt.h, src/rtcppkt.cpp: RTCPCompoundHandler
758 moved and updated. New classes RTCPReceiverInfo and
759 RTCPSenderInfo.
760 * src/c++/rtp/rtppkt.h, src/rtppkt.cpp: RTPPacket, IncomingRTPPkt and
761 OutgoingRTPPkt moved and updated.
762 * src/cc++/rtp/formats.h, src/rtppkt.cpp: Added new PayloadType
763 typedef, and classes PayloadFormat, DynamicPayloadFormat and
764 StaticPayloadFormat. The old PayloadType enumeration is now called
765 StaticPayloadType and has been changed.
766 * src/cc++/rtp/base.h: common consts and routines.
767
768 * src/incqueue.cpp, src/outqueue.cpp: splitted from queue.cpp with
769 a lot of new stuff.
770 * src/packet.cpp: splitted into rtppkt.cpp and rtcppkt.cpp
771 * win32/msvcpp/: added GNUccRTP workspace for ccRTP, and ccRTPdemo
772 workspace for demos.
773 * win32/mingw32/: added mingw32 cross-compiling makefile.
774 * demo/: Makefile.am and demos updated for CC++ 2 and ccRTP 1.0.
775 * phone/: updated for 1.0.
776 * doc/Doxyfile, doc/Doxyman: added src/cc++/rtp to INPUT.
777 * doc/fdl.texi, fdlnotice.texi, doc/gpl.texi, doc/srcmodel.txt,
778 doc/srcmodel.dia: added for ccRTP manual.
779 * Makefile.am: added COPYING.addendum to EXTRA_DIST, and -Wall.
780 * acconfig.h: HAVE_DEV_URANDOM.
781 * configure.in, src/Makefile.am, src/rtp.h, src/rtpext.h:
782 public headers splitted and moved to src/cc++/rtp/.
783 * configure.in: REQUIRES="1.0.0", check for /dev/urandom and
784 cleaned up some headers checks.
785
7862002-07-29 David Sugar <dyfet@ostel.com> (from 0.9.1 to 0.9.2)
787
788 * Updated build for Hammer (x86-64) support.
789
7902002-02-18 David Sugar <dyfet@ostel.com> (from 0.7.2 to 0.7.3)
791
792 * Solaris target compile support.
793
7942001-12-28 David Sugar <dufet@ostel.com> (from 0.7.1 to 0.7.2)
795
796 * src/rtp.h: header fixups for newer Common C++
797
798 * application of Debian patch for gcc 3.0.
799
8002001-11-28 Federico Montesino <p5087@quintero.fie.us.es> (from 0.6.2 to 0.6.3)
801
802 * src/members.cpp: fixed a bug in RTPSource::addNewSource(uint32)
803 (the collision list was wrongly modified when inserting new
804 sources).
805
806 * src/queue.cpp: fixed a serious bug (incomplete initialization)
807 in RTPQueue::RTPQueue(int, uint32) and RTPQueue::initQueue.
808
809 * UDPIPv4Socket now inherits from both UDPReceive and UDPTransmit,
810 instead of only UDPSocket. Inheriting only from UDPSocket is an
811 error I introduced in 0.6.0. This change is necessary to avoid
812 receiving/transmitting collisions, specially when two applications
813 in the same host talk to each other through the same port numbers.
814
815 * src/socket.cpp: UDPIPv4Socket::Connect(const InetAddress&,
816 tpport_t) removed as a result of the change listed up here.
817
818 * demo/Makefile.am, demo/rtpsend.cpp and demo/rtplisten.cpp: added
819 new demo apps
820
821 * COPYING.addendum: added (the same as the Common C++ one)
822
823 * src/rtp.h: rearranged Members class.
824
825 * src/control.cpp: QueueRTCPManager::getOnlyBye() has been filled
826 in.
827
828 * src/rtp.h, src/control.cpp: static const data members initialization
829 moved from rtp.h to control.cpp to avoid VC++ complaints.
830
831 * src/rtp.h: T_RTPSocket::leaveGroup(const InetMcastAddress&) fixed
832 (now calls to setMulticast(false), instead of setMulticast(true)).
833
834 * src/rtp.h: Template T_RTPSocket updated from __EXPORT to
835 CCXX_CLASS_EXPORT
836
837 * src/rtp.h, control.cpp and packet.cpp: RTP_VERSION is now called
838 CCRTP_VERSION to avoid name conflicts with other stacks
839
840 * src/rtp.h and src/queue.h: the "data" parameter of putPacket is
841 now const.
842
8432001-11-27 David Sugar <dyfet@ostel.com> (from 0.7.0 to 0.7.1)
844 * fixed memory leaks in sdes and bye string builds.
845 * added functional virtuals for session control start and stop.
846 * created start of "phone" user agent.
847
8482001-11-02 David Sugar <dyfet@ostel.com> (from 0.6.2 to 0.7.0)
849 * addition of namespace support and changes for Common C++ 1.9.0.
850
8512001-10-15 David Sugar <dyfet@ostel.com> (from 0.6.1 to 0.6.2)
852 * fixed include files in demo apps.
853
8542001-10-14 E. Stuart Hicks <eshicks@hotmail.com> (from 0.6.1 to 0.6.2)
855 * minor patch to compile on older gcc releases.
856
8572001-10-07 David Sugar <dyfet@ostel.com> (from 0.6.0 to 0.6.1)
858 * ccRTP becomes a GNU package.
859
8602001-09-20 David Sugar <dyfet@ostel.com> (from 0.6.0 to 0.6.1)
861 * new virtuals to trap and filter packet queue expiration.
862
8632001-09-02 Federico Montesino <p5087@quintero.fie.us.es> (from 0.5.1 to 0.6.0)
864
865 * configure.in: added check for nana support
866 (configure --with-nana, for testing), stdlib.h and sys/utsname.h
867
868 * src/Makefile.am: updated to make the following:
869
870 * src/rtpext.h: new public header containing the declarations
871 needed to make low level packet filtering and stack extensions.
872
873 * rtp.h: many new methods and changes in the class hierarchy (to
874 add MembershipControl, QueueRTCPManager and the template
875 T_RTPSocket)
876
877 * New files src/members.cpp, src/data.cpp and src/source.cpp with
878 the implementation of MembershipControl, RTPData and RTPSource
879 classes, respectively
880
881 * src/control.cpp: now includes the implementation of
882 QueueRTCPManager.
883
884 * src/socket.cpp: now includes the implementation of UDPIPv4Socket
885 and could include the implementation of other kind of socket
886 classes used to instantiate T_RTPSocket.
887
888 * Rearranged the doxygen tags and configuration (and changes in
889 src/private.h) so that the introductory README, the TODO list and
890 the examples under demo/ are included in the documentation. Added
891 some comments both for API and implementation.
892
8932001-08-22 David Sugar <dyfet@ostel.com> (from 0.5.0 to 0.5.1)
894
895 * expose private packet structures externally.
896
8972001-06-21 David Sugar <dyfet@ostel.com> (from 0.4.1 to 0.5.0)
898
899 * added const for address handlers.
900 * added queue Purge function.
901 * extended queue i/o services and support for sequence and
902 timestamp initialization/signatures.
903 * added millisecond timeclock for stack time synhronization.
904 * added RTCP event messages as virtuals.
905
9062001-04-23 David Sugar <dyfet@ostel.com> (from 0.4.0 to 0.4.1)
907
908 * added virtual handler for timer tick driven code.
909 * added patches and demo apps from Federico.
910
911from 0.3.2 to 0.4.0 David Sugar <dyfet@ostel.com>
912
913 * fixed version test.
914 * added virtual handler to process packet "events".
915
916from 0.3.1 to 0.3.2 David Sugar <dyfet@ostel.com>
917
918 * some win32 things.
919 * new common c++ version check.
920
921from 0.3.0 to 0.3.1 David Sugar <dyfet@ostel.com>
922
923 * some header fixups.
924
925from 0.2.2 to 0.3.0 David Sugar <dyfet@ostel.com>
926
927 * merged with Common C++ updates and new Common C++ UDP classes.
928
929from 0.2.1 to 0.2.2 David Sugar <dyfet@ostel.com>
930
931 * use of sequence and marker checks to allow application to
932 determine if assembled multi-sequence packets are "complete" or
933 missing data.
934
935 * reorganized class structure to allow more malleable assembly of
936 different kinds of RTP session classes.
937
938from 0.2.0 to 0.2.1 David Sugar <dyfet@ostel.com>
939
940 * add support to strip "padding" on receiver side.
941 * add packet reassembly of multi-segment packets.
942 * add getPayloadSize capability.
943 * add setPartial to update a pending (multi-channel) frame.
944 * RTPSocket "broken" constructor fixed.
945
946from 0.1.0 to 0.2.0 David Sugar <dyfet@ostel.com>
947
948 * set SO_REUSEADDR for rtcp socket.
949 * added RTCP scheduling points to service thread.
950 * added expiration of outgoing packets which have been "delayed"
951 or "blocked".
952 * handling of sending to blocked or conjested outbound socket
953 queues.
954 * RTPSocket uses non-blocking send for conjuestion test.
955
956from 0.0.1 to 0.1.0 David Sugar <dyfet@ostel.com>
957
958 * restructured class hierarchy to add new RTPQueue so that we have
959 a generic base for creating different RTP socket types.
960 * RTPDuplex added.