| 1 | MODIFICATIONS FILE |
|---|
| 2 | ------------------ |
|---|
| 3 | |
|---|
| 4 | The modifications here include the development versions, not all of which |
|---|
| 5 | are released. This list is not intended to be comprehensive. The current |
|---|
| 6 | release is available at http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/ |
|---|
| 7 | |
|---|
| 8 | v0 Initial audio tool |
|---|
| 9 | Old VAT and RTPv2(5) compatibility |
|---|
| 10 | PCM DVI GSM LPC codecs |
|---|
| 11 | |
|---|
| 12 | v1 Vicky's restructuring |
|---|
| 13 | Dropped old VAT compat mode |
|---|
| 14 | Used in ReLaTe trials |
|---|
| 15 | New UI including small mode |
|---|
| 16 | Video Sync code added |
|---|
| 17 | |
|---|
| 18 | v2.0 Transmitter cleaned up |
|---|
| 19 | Lots of bugs fixed |
|---|
| 20 | Replaced DVI and LPC codecs with VAT4 versions |
|---|
| 21 | Released in Boston WWW4 |
|---|
| 22 | |
|---|
| 23 | v2.1 Ported to Tcl7.3/Tk4.0 |
|---|
| 24 | Added UI response slider |
|---|
| 25 | |
|---|
| 26 | v2.2 Added play and rec options |
|---|
| 27 | |
|---|
| 28 | v2.3 Port to Tk4.1/Tcl7.5 |
|---|
| 29 | |
|---|
| 30 | v2.4a0 Port to Windows95 |
|---|
| 31 | v2.4a1 Fixed active speaker indication |
|---|
| 32 | v2.4a2 Fixed GSM |
|---|
| 33 | v2.4a3 Release to MERCI partners for testing |
|---|
| 34 | v2.4a4 Fixed broken assertions... |
|---|
| 35 | v2.4a5 SGI fix |
|---|
| 36 | v2.4a6 Security holes fixed |
|---|
| 37 | Assertion handling improved |
|---|
| 38 | Start at encryption and multi-rate audio |
|---|
| 39 | v2.4a7 FreeBSD modifications |
|---|
| 40 | Fixed playout calculation (probably) |
|---|
| 41 | v2.4a8 Added RTCP SDES TOOL field to stats panel |
|---|
| 42 | Fixed version number |
|---|
| 43 | Made packet repetition an option and set default to OFF |
|---|
| 44 | Fixed encoding selection bugs |
|---|
| 45 | Misc bug fixes.... |
|---|
| 46 | v2.4a9 Fixed participant display when audio device is busy |
|---|
| 47 | When device is busy audio controls get disabled |
|---|
| 48 | Added code to set microphone gain under Win95 |
|---|
| 49 | Modified loop timing for win95 version so that it does not hog CPU |
|---|
| 50 | Made session title appear as window title with -C flag |
|---|
| 51 | v2.4a10 Added OS type to RTCP tool string |
|---|
| 52 | |
|---|
| 53 | v2.5a0 Fixed long DVI packet format. Now there is only one state (VAT comp). |
|---|
| 54 | Reduced UI window border width. New look! |
|---|
| 55 | Added scrollbar to participants window |
|---|
| 56 | New participant stats code. Allows multiple windows... |
|---|
| 57 | Attempt to fix some of the stats |
|---|
| 58 | Popup window to request RTP name if resource not set |
|---|
| 59 | v2.5a1 Changed redundancy packet format to conform to UCL-INRIA spec |
|---|
| 60 | Added error code to report use of old packet format |
|---|
| 61 | New code to do encoding name stats |
|---|
| 62 | Fixed RTCP RR packets to conform with latest spec |
|---|
| 63 | Made RAT look in .RTPdefaults for user name |
|---|
| 64 | Added IP address display in stats |
|---|
| 65 | v2.5a2 Highlight other RAT users in list of participants |
|---|
| 66 | Ignore audio until RTCP packet received |
|---|
| 67 | v2.5a3 Added encryption (Darren said it's compatible with vat) |
|---|
| 68 | |
|---|
| 69 | v2.6a0 Added command line option to set redundancy type |
|---|
| 70 | Started to change payload type to match draft-perkins-rtp-redundancy-01.txt |
|---|
| 71 | (Grouped headers, but haven't changed bit order yet...) |
|---|
| 72 | v2.6a1 Finished changing the payload type. |
|---|
| 73 | Default redundancy pt=121 |
|---|
| 74 | Send initial RTCP message as soon as we start up... |
|---|
| 75 | v2.6a2 Allow window to resize horizontally (requested by vilhuber@cs.colorado.edu) |
|---|
| 76 | Updated copyright notice. |
|---|
| 77 | Updated about panel. |
|---|
| 78 | Added -pt pt/codec/clock/channels command line option. |
|---|
| 79 | Example: "-pt 121/redundancy" to set redundancy payload type to 121 |
|---|
| 80 | Remove -rpt option (use -pt instead). |
|---|
| 81 | Remove -f2 option. |
|---|
| 82 | Change -f option to accept things like "-f pcm/dvi" to set redundancy type. |
|---|
| 83 | v2.6a3 Fixed packing order so it resizes horizontally correctly. |
|---|
| 84 | v2.6a4 New WIN32 version |
|---|
| 85 | Changed priority of thread |
|---|
| 86 | Fixed cushion code to work with I/O switching |
|---|
| 87 | Linked tcl and tk with WIN32 binary so no DLLs are needed |
|---|
| 88 | v2.6a5 Partial rewrite of win32 audio driver to use static buffers |
|---|
| 89 | Solved most win32 audio problems |
|---|
| 90 | v2.6a6 Made the prompt for .RTPdefaults information less user hostile |
|---|
| 91 | Fixed LPC decoding on SGIs (-fsigned-char does it!?!) |
|---|
| 92 | v2.6a7 Removed old bitmap from control panel |
|---|
| 93 | Rewrite of small user interface (command line option -smallui) |
|---|
| 94 | v2.6a8 Further rewrite of the small user interface |
|---|
| 95 | Fixed SO_REUSEADDR |
|---|
| 96 | HP-UX fixes |
|---|
| 97 | Added "-crypt <key>" command line option to enable encryption |
|---|
| 98 | v2.6a9 Fix m/cast power meters when encryption is turned on. |
|---|
| 99 | v2.6a10 HP-UX fixes |
|---|
| 100 | v2.6a11 Remove debugging malloc wh en NDEBUG is defined. |
|---|
| 101 | v2.6a12 Code cleanup in preparation for mixer |
|---|
| 102 | Corrected URL on the about panel |
|---|
| 103 | v2.6a13 Code cleanup in preparation for mixer |
|---|
| 104 | Added -li <local_interface> option for multihomed hosts |
|---|
| 105 | Removed annoying transient tag from pop-up windows. |
|---|
| 106 | v2.6a14 Added an icon |
|---|
| 107 | Win32 fixes |
|---|
| 108 | Removed -li stuff, since it broke the win32 port. |
|---|
| 109 | More HP-UX changes |
|---|
| 110 | |
|---|
| 111 | v3.0.0 Restructure code for audio translator/mixer |
|---|
| 112 | Extended ascii hostnames (>15 chars) - useful for unicast |
|---|
| 113 | Additional RTP header validation |
|---|
| 114 | v3.0.1 Major restucturing of main_rat.c, and split into several separate files. |
|---|
| 115 | Fixes for Linux. |
|---|
| 116 | Include full/half duplex stuff in all versions. |
|---|
| 117 | v3.0.2 Bug fixes to auddev_linux.c |
|---|
| 118 | Fixes to RTCP header checks on little-endian machines. |
|---|
| 119 | Now obeys xresources settings. |
|---|
| 120 | v3.0.3 Experimental release for Linux |
|---|
| 121 | Some fixes to encryption code: it still doesn't work though... |
|---|
| 122 | v3.0.4 Major mods to init_session.c |
|---|
| 123 | Added mixer code to linux port. |
|---|
| 124 | v3.0.5 Fake TS start if we TOG packets |
|---|
| 125 | Fix RTCP timestamp epoch to 1900 not 1970 to conform to RFC1889 |
|---|
| 126 | Fix display of group address in options panel. |
|---|
| 127 | Fix CNAME. |
|---|
| 128 | Extensive changes for the audio transcoder/mixer. |
|---|
| 129 | New HP-UX audio device driver from UiO added. |
|---|
| 130 | v3.0.6 More changes for the audio transcoder/mixer. |
|---|
| 131 | Fixes to Linux audio driver when in half-duplex mode. |
|---|
| 132 | Added the -version option. |
|---|
| 133 | v3.0.7 Major changes for the audio transcoder/mixer: First version to work at all! |
|---|
| 134 | Now sources $HOME/.rat as tcl on startup |
|---|
| 135 | Linux fixes |
|---|
| 136 | v3.0.8 CNAME now uses dotted-quad representation of the IP address, not FQDN. |
|---|
| 137 | 16bit linear audio throughout main code: not all device drivers fixed yet. |
|---|
| 138 | Make DVI the default primary encoding. |
|---|
| 139 | Added L16 (16bit linear, uncompressed) codec. |
|---|
| 140 | Both sides of transcoder/mixer use same SSRC/CNAME. |
|---|
| 141 | Calculate RTCP reporting interval, rather than using constant 6 seconds. |
|---|
| 142 | Major rewrite of transmitter and receiver code (supports multiple red) |
|---|
| 143 | Added CSRC processing to receiver |
|---|
| 144 | Fix indication of active speakers |
|---|
| 145 | Update device buffer cushion code |
|---|
| 146 | Removed small (ReLaTe) UI |
|---|
| 147 | Minor redisign of option UI |
|---|
| 148 | Added lecture mode |
|---|
| 149 | Linux port now works again |
|---|
| 150 | v3.0.9 Added minimal LBL conference bus support |
|---|
| 151 | Enabled voice-switching of video using LBL conference bus/vic |
|---|
| 152 | Fixed SGI 16 bit |
|---|
| 153 | Fixed WIN32 16 bit |
|---|
| 154 | Slight highlighting of participants after they stop speaking |
|---|
| 155 | Now uses tk4.2/tcl7.6 |
|---|
| 156 | v3.0.10 Prehang and posthang added to new code |
|---|
| 157 | IP_MULTICAST_LOOP is now on for the session port |
|---|
| 158 | We can now parse our BYE message although it is wrong |
|---|
| 159 | Packet repetition added to new code |
|---|
| 160 | Audio DC bias removal added for all platforms |
|---|
| 161 | v3.0.11 We can no longer parse our BYE message, since it is wrong! |
|---|
| 162 | More UI changes... (packet format uses pull down menus) |
|---|
| 163 | Disable powermeters option added |
|---|
| 164 | Selective muting of participants possible with middle mouse button. |
|---|
| 165 | Automatic bias removal (turns off if not needed) |
|---|
| 166 | Fix handling of RTP packets with CSRC data |
|---|
| 167 | Rewrite of RTCP handling code... |
|---|
| 168 | Fix RTCP BYE packet |
|---|
| 169 | Transcoder/mixer now passes RTCP packets |
|---|
| 170 | Exponential fade on packets (no good) |
|---|
| 171 | LPC redundancy alignment code (also no good) |
|---|
| 172 | v3.0.12 Linear fade on repeated packets |
|---|
| 173 | Fade on repeated LPC decoded packets |
|---|
| 174 | Prevention of mixing dummies with no decompressed data |
|---|
| 175 | Packet length shown in UI |
|---|
| 176 | Can select N-level redundancy from command line (-f pcm/dvi/lpc for example) |
|---|
| 177 | Fix parsing of command line options |
|---|
| 178 | Lecture mode is on by default |
|---|
| 179 | Turn off lecture mode as soon as we send data |
|---|
| 180 | Added -loopback_rtp option for loopback of the RTP packets (RTCP loopback is always on) |
|---|
| 181 | Added audio device trading via the LBL conference bus |
|---|
| 182 | Added flakeway operation |
|---|
| 183 | v3.0.13 Integrated transcoder/mixer into the main Rat code. |
|---|
| 184 | v3.0.14 Move to tcl-7.6p2/tk-4.2p2 |
|---|
| 185 | Fix linux/HP-UX ports |
|---|
| 186 | Fix for flakeaway |
|---|
| 187 | v3.0.15 Assorted bug fixes |
|---|
| 188 | Hang onto multiple encoded data in receiver |
|---|
| 189 | Logic into UI for redundant coding types |
|---|
| 190 | Fix LPC redundancy (Ho Ho) |
|---|
| 191 | Fix sending L16 with redundancy |
|---|
| 192 | Fix auto-select of "Mike mutes net" when running on a half-duplex machine |
|---|
| 193 | TCL_ALL_EVENTS in event processing loop (sockets from tcl scripts->fileevents) |
|---|
| 194 | v3.0.16 Bug fixes to the transmitter |
|---|
| 195 | Fix CSRC processing |
|---|
| 196 | v3.0.17 Fixes for Win32 |
|---|
| 197 | v3.0.18 Fix RTCP BYE packet on little-endian machines |
|---|
| 198 | Muting of output now frees data |
|---|
| 199 | Fix reception of 160ms packets |
|---|
| 200 | Fix uninitialised variable in rtcp_db |
|---|
| 201 | v3.0.19 Remove spurious debugging messages when we can't open the audio device |
|---|
| 202 | Cleanup HP-UX audio driver |
|---|
| 203 | v3.0.20 Can now select line-in/microne input on SGI machines |
|---|
| 204 | Added -K option to enable encryption (synonym for -crypt) |
|---|
| 205 | Cleanup Linux audio driver |
|---|
| 206 | Cleanup Sparc audio driver |
|---|
| 207 | Cleanup for draft-ietf-avt-profile-new-00 |
|---|
| 208 | Added -double_speed (16kHz) option |
|---|
| 209 | Transcoder no longer hits stdin/stdout with audio ioctls |
|---|
| 210 | Rewrite and optimize decryption of RTCP packets |
|---|
| 211 | RTCP timer reconsideration done for every RTCP packet received (following presentation at Memphis IETF...) |
|---|
| 212 | RTCP SR and SDES fixes |
|---|
| 213 | Can now send/display PHONE, LOC and EMAIL SDES items. |
|---|
| 214 | Fixed mike mutes net operation for half duplex cards. |
|---|
| 215 | FreeBSD port now works. |
|---|
| 216 | Win32 version uses registry to store defaults. |
|---|
| 217 | v3.0.21 Added signal handler, to catch SIGINT and exit cleanly (with RTCP BYE) |
|---|
| 218 | Linux device driver now accepts 16kHz operation. |
|---|
| 219 | Assorted bug fixes to Linux device driver. |
|---|
| 220 | Initialise device_time variable: prevents crash if we can't access the audio device. |
|---|
| 221 | The use of strdup() interacts badly with xmalloc(). Fixed. |
|---|
| 222 | Fixed transcoder RTCP BYE handling |
|---|
| 223 | * Branch here: v3.1 development starts, later v3.0 fixes will have to |
|---|
| 224 | * be forward ported |
|---|
| 225 | v3.0.22 Remove debugging messages in statistics.c |
|---|
| 226 | Remove WBS codec |
|---|
| 227 | Remove -double_speed option |
|---|
| 228 | v3.0.23 Linux port uses both audio channels, rather than just the left channel |
|---|
| 229 | Linux port no longer repeatedly resets the volume to 50% |
|---|
| 230 | Bug fix for HP-UX audio driver (Terje Vernly <terjeve@newlearning.no>) |
|---|
| 231 | Fix CPU usage on Win32 |
|---|
| 232 | v3.0.24 Fix encryption |
|---|
| 233 | Fix loopback of packts |
|---|
| 234 | Fix crash in LBL conference bus code, sending focus when the CNAME was NULL |
|---|
| 235 | Fix RTCP header validation |
|---|
| 236 | Fix RTP header validation when padding bit is set |
|---|
| 237 | Fix voice switching of video using LBL conference bus with vic |
|---|
| 238 | Modifications to WIN32 silence detection as PC hardware often breaks previous algorithm. |
|---|
| 239 | Assorted Win32 bug fixes |
|---|
| 240 | Win32 HOMEDIR bug fix. |
|---|
| 241 | 3.0.25 Assorted Win32 fixes. |
|---|
| 242 | 3.0.26 Fixed bug in net.c that caused packets to cease processing on some Win32 |
|---|
| 243 | boxes. |
|---|
| 244 | 3.0.27 Fix transcoder problems on half-duplex machines. Thanks to Sachin Sheth |
|---|
| 245 | for providing the fix. |
|---|
| 246 | Fix fonts for solaris 2.6. |
|---|
| 247 | * Released 15 August 1998 |
|---|
| 248 | 3.0.28 Update copyright notice (the dates were wrong!) |
|---|
| 249 | Endian fix to the RTCP packet forwarding code (Thanks to Sachin Sheth). |
|---|
| 250 | Fixed HOMEDIR problem introduced in 3.0.27 for Win32. |
|---|
| 251 | Fixed catch when sourcing ~/.rat |
|---|
| 252 | * Released 22 September 1998 |
|---|
| 253 | |
|---|
| 254 | 3.0.29 Added -smallui option to use relate interface and to enable power |
|---|
| 255 | messages via the lbl confbus |
|---|
| 256 | Fixed -drop option |
|---|
| 257 | * Released 21 December 1998 |
|---|
| 258 | |
|---|
| 259 | 3.0.30 Fix statistics in RTCP SR/RR packets |
|---|
| 260 | Fix copyright notice in small UI |
|---|
| 261 | Fix URL in the about panel |
|---|
| 262 | * Released 6 January 1999 |
|---|
| 263 | |
|---|
| 264 | 3.0.31 Remove obsolete tcl/tk library code |
|---|
| 265 | Fix tcl/tk configuration on win32 |
|---|
| 266 | Move to using winsock2.h on win32 |
|---|
| 267 | * Released 29 January 1999 |
|---|
| 268 | |
|---|
| 269 | 3.0.32 Fix Tk resource files on Win32 |
|---|
| 270 | * Released 4 February 1999 |
|---|
| 271 | |
|---|
| 272 | 3.0.33 Fix font in the statistics panel, which I broke in 3.0.31 (oops!) |
|---|
| 273 | Added A-law audio codec. Back port from 3.2x. |
|---|
| 274 | Added MMX mixing support. |
|---|
| 275 | Patch from Michael Wallbaum for transcoder on win32. |
|---|
| 276 | Made file processing use binary mode opens. Win32 cares. |
|---|
| 277 | * Released 1 March 1999 |
|---|
| 278 | |
|---|
| 279 | 3.0.34 Removed -D$(USER) from Makefile (Reported by Ola Borrebak). |
|---|
| 280 | Added alaw to command line codecs (Reported by Dimitris Terzis). |
|---|
| 281 | Winsock 1/2 detection and selection. |
|---|
| 282 | Bug fixes for Winsock 1 built with Winsock 2 headers. |
|---|
| 283 | |
|---|
| 284 | |
|---|
| 285 | v3.1.0 Added the wide-band speech codec (use with the -double_speed hack) |
|---|
| 286 | Cleanup statistics.c |
|---|
| 287 | Fixed Win32 cname |
|---|
| 288 | Made left mouse button on participants toggle stats on and off |
|---|
| 289 | Keep input/output mode selection and gain settings when device trading |
|---|
| 290 | Reorganize the codec_* files |
|---|
| 291 | Add indication of loss rat to UI |
|---|
| 292 | Add automatic gain control |
|---|
| 293 | Fix CPU usage on Win32 |
|---|
| 294 | GSM now implements 06.11 repair (so there) |
|---|
| 295 | Fixed self induced LPC bug :-) |
|---|
| 296 | Improved cushion code to give lower delay |
|---|
| 297 | Completely fixed highlighting (honest) |
|---|
| 298 | v3.1.1 Default RTP port is 5004 (draft-ietf-avt-profile-new-00) |
|---|
| 299 | Turn off automatic gain control in the transcoder |
|---|
| 300 | Linux port uses both audio channels, rather than just the left channel |
|---|
| 301 | Linux port no longer repeatedly resets the volume to 50% |
|---|
| 302 | UI user participant code now maintains sorted list |
|---|
| 303 | No longer source $HOME/.rat on startup |
|---|
| 304 | Separate the UI from the media engine (use conference bus for communication) |
|---|
| 305 | v3.1.2 Many changes to the conference bus protocol and support code |
|---|
| 306 | Allow multiple UI scripts (use -ui <name> to select) |
|---|
| 307 | Unify Linux/FreeBSD drivers into auddev_oss.c |
|---|
| 308 | Fix HP-UX audio driver (Terje Vernly <terjeve@newlearning.no>) |
|---|
| 309 | Fix encryption code on little-endian machines |
|---|
| 310 | Fix RTCP header validation code |
|---|
| 311 | Fix security hole in confbus (zap [] in strings send to tcl) |
|---|
| 312 | Add Anna Bouch's UI code (use "-ui anna" to enable) |
|---|
| 313 | Add ReLaTe UI code (use "-ui ReLaTe" to enable) |
|---|
| 314 | |
|---|
| 315 | v3.2.0 - Codec interface rewrite. Based on structure holding all codec |
|---|
| 316 | parameters and pointers to init/encode/decode functions. |
|---|
| 317 | - Multi rate support. Multiple clock support (one per participant plus |
|---|
| 318 | a few internal ones to keep RTCP etc working). |
|---|
| 319 | - Rewrite of transmit code. Circular buffer is gone and now a list of |
|---|
| 320 | minibufs is used instead. Within each minibuf the unit_size (which |
|---|
| 321 | is calculated from number of channels, freq etc) remains constant. |
|---|
| 322 | - Rewrite of receive code to support multiple unit_sizes. Now each |
|---|
| 323 | receiver has a separate receive buffer. Within each buffer units of |
|---|
| 324 | different length can be mixed without any problems. The only |
|---|
| 325 | restriction is that for any particular time segment all coded_units |
|---|
| 326 | must be compatible (i.e same length /frequency/channels etc). |
|---|
| 327 | - All the code understands number of channels, variable unit sizes and |
|---|
| 328 | multiple frequencies. This information is deduced from codec |
|---|
| 329 | information. This includes mix and statistics... |
|---|
| 330 | - Added hooks for up and down sampling of remote participant decoded |
|---|
| 331 | audio. |
|---|
| 332 | - Cleaned up include file mess. Now each source file includes only |
|---|
| 333 | required headers. In the process of doing so I cleaned up a few |
|---|
| 334 | interfaces so parts of the code that do not need to know about |
|---|
| 335 | structures don't see the definitions and work with pointers. |
|---|
| 336 | - Various old and new bug fixes :-) |
|---|
| 337 | - Probably some more changes that I can not remember now as I didn't |
|---|
| 338 | bother to write them down as I was doing them ;-) |
|---|
| 339 | - Reimplemented repair code from previous release and left hooks for |
|---|
| 340 | pitch repetition and pattern matching. Now repair is multi-channel |
|---|
| 341 | and multi-freq. |
|---|
| 342 | - Centralized allocation of rx_queue_element's. |
|---|
| 343 | - Added CD input support |
|---|
| 344 | - Assorted bug fixes to the original UI |
|---|
| 345 | - Add reception quality chart to the original UI |
|---|
| 346 | - Fix encryption code on little-endian machines (again) |
|---|
| 347 | - Cleanup RTCP code and headers |
|---|
| 348 | - Many changes to the conference bus (Mbus) code |
|---|
| 349 | - Assorted bug fixes to the transcoder |
|---|
| 350 | - SGI version now sets initial volume to something sensible |
|---|
| 351 | - Incorporated Luigi's mods to FreeBSD driver |
|---|
| 352 | - Added Pattern Matching repair |
|---|
| 353 | - Fix loopback of RTP packets |
|---|
| 354 | - Modified rules_based_silence to work at rates other than 8K. |
|---|
| 355 | - Add balloon help |
|---|
| 356 | - Fix RTP header validation for packets with P bit set [Bill Fenner] |
|---|
| 357 | - Fix transcoder timing (RTCP packets are sent much too often: |
|---|
| 358 | loopback problem...) |
|---|
| 359 | - Fix freeing of units held in the receive buffer, when an RTCP BYE |
|---|
| 360 | packet is received. |
|---|
| 361 | - Seems that FreeBSD (unlike the rest of the known universe...) has |
|---|
| 362 | a SO_REUSEPORT, which we need to set if we're doing TTL zero |
|---|
| 363 | multicast. Sigh. |
|---|
| 364 | - Fixed timer code - works with all freqs that divide into 96000. |
|---|
| 365 | - Added channel coding functionality - it should now be possible |
|---|
| 366 | to slot in any scheme. |
|---|
| 367 | - Reimplemented redundancy to comply with new channel coding regime. |
|---|
| 368 | - Added interleaving. |
|---|
| 369 | - Fix decoding of encrypted packet (no longer blocks...) |
|---|
| 370 | - Fix encryption code on little-endian machines (again, again!) |
|---|
| 371 | - Fix fragment size on Linux |
|---|
| 372 | - Added header extension support. |
|---|
| 373 | - Remove LBL conference bus support (exercise for the reader: write |
|---|
| 374 | an Mbus to LBL conference bus bridge, to allow device trading...) |
|---|
| 375 | - Add binding for Control-Button-1 to mute individual participants |
|---|
| 376 | - Add lip-sync support |
|---|
| 377 | - Major UI rewrite |
|---|
| 378 | - New silence detection algorithm. |
|---|
| 379 | - Fix parsing of RTCP SR/RR packets on little-endian machines |
|---|
| 380 | - Fix of decoding path - repair works again now. |
|---|
| 381 | - Separated out cushion code (cushion.[ch]) and cleaned a little. |
|---|
| 382 | - Separated out the UI update code from the Tcl/Tk maintainence code. |
|---|
| 383 | - Modularise Mbus code |
|---|
| 384 | - Stereo (?) |
|---|
| 385 | - Time code simplified. |
|---|
| 386 | - Multi-channel silence suppression. |
|---|
| 387 | - Misordered packets counted. |
|---|
| 388 | - Remove NET_MUTES_MIKE and MIKE_MUTES_NET options. We now require |
|---|
| 389 | a full duplex audio device to operate. This should not be a |
|---|
| 390 | problem, since such hardware is readily available for all |
|---|
| 391 | platforms we care about (and some we don't...). |
|---|
| 392 | - Minor memory allocation optimization for native units and mbus |
|---|
| 393 | block_alloc replacing xmalloc for fixed size allocations. |
|---|
| 394 | - Modularisation of silence detection and voice activity code. |
|---|
| 395 | - Transmit buffer simplification. |
|---|
| 396 | - Changes labels on preferences panel to match sdr, since it makes |
|---|
| 397 | sense that way, and the old labels were broken dammit! (and I |
|---|
| 398 | don't care if they were the ones Windows uses....) |
|---|
| 399 | - Remove flakeaway options (Cadbury's must hate us...) |
|---|
| 400 | - Create RTCP database entries for new sources when we find them |
|---|
| 401 | in SR/RR packets, rather than ignoring them. |
|---|
| 402 | - Fix operation with -no_ui. This is not very useful though... |
|---|
| 403 | - Hack the RTCP decryption code to accept encrypted packets from |
|---|
| 404 | vat, even though vat sets the padding bit incorrectly, and gets |
|---|
| 405 | the length of encrypted SDES packets off by one. |
|---|
| 406 | - Fix source address checking in the mbus code |
|---|
| 407 | - Added sampling options to transmission menu. |
|---|
| 408 | - Added destruction code to coders and channel coders. |
|---|
| 409 | - Make sure the random number generator is initialised before use. |
|---|
| 410 | - Rejigged code to allow hot swapping of sampling format mid-session. |
|---|
| 411 | - Fix RTCP reporting interval, when running at other than 8kHz |
|---|
| 412 | - Change of RTCP reporting interval when freq changes. |
|---|
| 413 | - Replaced old AGC code. |
|---|
| 414 | - UI tweaks, bitmaps, titling, about panel. |
|---|
| 415 | - Playout point limits now optional. |
|---|
| 416 | - Allow for remote ui, enable with "-ui <mbus_address>" |
|---|
| 417 | - Watch for transmitter device clock being slower than ours and |
|---|
| 418 | corrective action. |
|---|
| 419 | - Cushion decrease only when not playing audio - stops interruptions. |
|---|
| 420 | - Allow `wait for mbus init message' on startup with "-wait" |
|---|
| 421 | - Redundancy new format - mods to rfc to match implementation. |
|---|
| 422 | - Removed auto_path initialisation from init.tcl and aatk.tcl. |
|---|
| 423 | - Interleaver (mk II) no longer halts the system (or works). |
|---|
| 424 | - Powermeters frequency independent. |
|---|
| 425 | - Own activity only sent when changing state. |
|---|
| 426 | - Activity changes no longer refresh participant info. |
|---|
| 427 | - Playout buffer size monitoring and device drift bias correction. |
|---|
| 428 | - Fixed problem with codec recognition at startup when rate not 8k. |
|---|
| 429 | - UI displays correct encoding with interleaver and redundancy. |
|---|
| 430 | - Wrote a configure script |
|---|
| 431 | - Graceful failure/stasis when device not available. |
|---|
| 432 | - Bitmaps match audio i/o ports at start up. |
|---|
| 433 | * Released to CAIRN/MECCANO for testing, 8 June 1998 |
|---|
| 434 | |
|---|
| 435 | v3.2.1 - Assorted tweaks to the UI |
|---|
| 436 | - Cleanup mbus_encode_str interface |
|---|
| 437 | - a small change to function rx_source_playout in mbus_engine.c |
|---|
| 438 | - fixed bug in ui_update_video_playout |
|---|
| 439 | - lip-sync support |
|---|
| 440 | - play audio packets in no lip-synced mode when no RTCP SR is received |
|---|
| 441 | even if lip-sync is enabled. When SR is received, switch to lip-sync |
|---|
| 442 | mode |
|---|
| 443 | - bug in mbus resend code fixed. |
|---|
| 444 | - Cleanup parsing of command line options |
|---|
| 445 | - Add patches for HP-UX 10 from Dirk Meersman |
|---|
| 446 | - Remove HP-UX 9 compatibility: it makes the code cleaner, and |
|---|
| 447 | HP-UX 9 is completely obsolete anyway. Now if only we could do |
|---|
| 448 | the same with SunOS 4... |
|---|
| 449 | - Only allow lip-sync to be enabled if we are not running on the |
|---|
| 450 | Mbus base c hannel |
|---|
| 451 | - Table for format conversions. Windows ACM PCM Converter support. |
|---|
| 452 | * Released for testing, 10 July 1998 |
|---|
| 453 | |
|---|
| 454 | v3.2.2 - Fixes for command line option parsing |
|---|
| 455 | - Improvements to playout calculation (less togged) |
|---|
| 456 | - Increased audio in receive buffer to be 1 cushion's worth. This |
|---|
| 457 | makes handling "fast" senders easier and also reduces togged units |
|---|
| 458 | - tcl2c now strips comments, 10-40% size improvement on tcl strings |
|---|
| 459 | (UNIX only). |
|---|
| 460 | - Removed fixed tables for g711 conversion. Now calculated at start |
|---|
| 461 | time. |
|---|
| 462 | - Increased minimum pitch length in pattern match repair (less pings). |
|---|
| 463 | - Add support for TclX, and profiling of the tcl code |
|---|
| 464 | - Attempt to optimize some of the more intensive Tcl routines |
|---|
| 465 | - Reduce rate of power-meter updates, since profiling shows that is |
|---|
| 466 | an expensive operation. |
|---|
| 467 | - Added playout buffer size to participant info |
|---|
| 468 | - Converted jitter into ms for ui |
|---|
| 469 | - Increased initial estimate of jitter, and codec independent |
|---|
| 470 | - Reduced average playout delay, now just add/subtract cushion surplus |
|---|
| 471 | instead of whole cushion length to playout, i.e. we add exactly |
|---|
| 472 | the right amount. |
|---|
| 473 | - Rearranged files for more portable Windows configuration. |
|---|
| 474 | * Released for testing, 17 July 1998 |
|---|
| 475 | |
|---|
| 476 | v3.2.3 - Added button in the UI to enable sound externalisation (the |
|---|
| 477 | actual 3d audio code is not present yet). |
|---|
| 478 | - Fix display of loss rates in the participant list ("loss diamonds") |
|---|
| 479 | - Updated sdr plugin (in sdr v2.5a4) |
|---|
| 480 | - Change initial silence detection threshold, such that we transmit |
|---|
| 481 | until the detector has trained rather than suppressing. |
|---|
| 482 | - Win32 release configuration added. |
|---|
| 483 | - Added reset of saved settings when version change detected. |
|---|
| 484 | - Minor change to low jitter playout handling. |
|---|
| 485 | - Fix parsing of -K/-crypt options |
|---|
| 486 | - Endian fix to RTCP packet forwarding code |
|---|
| 487 | - Remove TclX support (as part of the planned move to using the |
|---|
| 488 | Tcl plus-patch to cleanup the initialisation code). |
|---|
| 489 | - Fixed playout point calculation problems. Playout buffer should |
|---|
| 490 | now have same order as source timestamps, no overlaps allowed. |
|---|
| 491 | - Powermeters tweak. |
|---|
| 492 | - Move to winsock2.h, in preparation for IPv6 port. NOTE: This now |
|---|
| 493 | requires that winsock2.dll is installed on Windows. |
|---|
| 494 | - Win32 ACM G.723.1 code. |
|---|
| 495 | * Release for testing, 24 August 1998 |
|---|
| 496 | |
|---|
| 497 | v3.2.4 - Cleanup networking code |
|---|
| 498 | - Cleanup RTCP code |
|---|
| 499 | - Only send an RTCP BYE packet if the number of members is less |
|---|
| 500 | than 50. This means we just-about comply with the latest RTP |
|---|
| 501 | draft, although we should really implement BYE reconsideration. |
|---|
| 502 | - Fixed bug introduced into repair code. |
|---|
| 503 | - Increased powermeter rate and added table to improve vu performance. |
|---|
| 504 | - RTCP timeout frequency independent. |
|---|
| 505 | - Got ride of speaker table code. Highlighting is now from when playout |
|---|
| 506 | buffer created destroyed. |
|---|
| 507 | - Fix GSM codec |
|---|
| 508 | * Release for testing, 10 September 1998 |
|---|
| 509 | |
|---|
| 510 | v3.2.5 - Fix transmission mute/unmute |
|---|
| 511 | * Release for testing, 10 September 1998 |
|---|
| 512 | |
|---|
| 513 | v3.2.6 - Move all system specific configuration options and includes into |
|---|
| 514 | config_unix.h and config_win32.h to ease porting. Should also |
|---|
| 515 | simplify things when we move to a common code library among the |
|---|
| 516 | UCL tools. |
|---|
| 517 | - Audio loopback in hardware for Solaris/SunOS and Windows. |
|---|
| 518 | - Moved select on audio_fd out of networking code. |
|---|
| 519 | - Centralized code that destroys and empties playout buffers. |
|---|
| 520 | - Added "net mutes mike" and called it "Silence Suppression". Works |
|---|
| 521 | off of creation and destruction of playout buffers. |
|---|
| 522 | - Assorted UI tweaks |
|---|
| 523 | - Move to using our own version of tcl/tk on unix machines, to |
|---|
| 524 | avoid the problems with initialisation scripts being sourced |
|---|
| 525 | from other installed versions. We no longer compile the tcl |
|---|
| 526 | or tk initialisation scripts into rat. |
|---|
| 527 | - Merge GSM codec into codec_gsm.[ch] |
|---|
| 528 | - Modularize networking code |
|---|
| 529 | - Mbus code now batches messages before transmission, to reduce |
|---|
| 530 | the number of packets sent |
|---|
| 531 | - Update Mbus command set to better match latest specification |
|---|
| 532 | - Add 3d audio code |
|---|
| 533 | - Add IPv6 support under Windows NT 4.0 using the stack from |
|---|
| 534 | Microsoft Research (http://www.research.microsoft.com/msripv6/) |
|---|
| 535 | * Release for testing, 9 October 1998 |
|---|
| 536 | |
|---|
| 537 | v3.3.0 - Audio interface revamp. Support for multiple cards. |
|---|
| 538 | - Osprey SunVideo Plus audio support added (buggy). |
|---|
| 539 | - PCA audio support added on FreeBSD (builtin speaker). |
|---|
| 540 | - Documented audio interface. |
|---|
| 541 | - Replaced audio_fd with audio_device to emphasize this is no longer |
|---|
| 542 | a file descriptor. |
|---|
| 543 | - Added null audio interface for devices not attainable. |
|---|
| 544 | - Safety net when opening an interfac - Fix LSR and DLSR in our reception report packets (maybe) |
|---|
| 545 | - Fix muting of individual participants |
|---|
| 546 | - Update mbus command set |
|---|
| 547 | - Added virtual externalisation (sound source emanating from outside |
|---|
| 548 | the head even when listened to with headphones) |
|---|
| 549 | - File loading and saving added. |
|---|
| 550 | - Playout calc refinements. |
|---|
| 551 | - Repair schemes given queryable interface (like other modules). |
|---|
| 552 | mbus and ui updated to reflect this. |
|---|
| 553 | - Fix for fatal bug in channel decoder arising from duplicates and |
|---|
| 554 | interaction with playout buffer. |
|---|
| 555 | - Merge in IPv6 fixes from Maryann Maher |
|---|
| 556 | - 3D rendering code added, debugged, and integrated into UI. |
|---|
| 557 | - Audio device interface changes - input format may differ |
|---|
| 558 | from output format. |
|---|
| 559 | - format conversion in audio |
|---|
| 560 | interface if dev does not |
|---|
| 561 | support required format. |
|---|
| 562 | - Win32 RTCP tool includes OS version of end host. |
|---|
| 563 | - Win32 Multiple audio device support bug fixed. Uses matching |
|---|
| 564 | card and mixer. |
|---|
| 565 | - Fix stereo powermeters (work). |
|---|
| 566 | - Convert to use the common code library |
|---|
| 567 | - Disposed of old packet queues, now use simpler buffer and no |
|---|
| 568 | nasty macros. (rx queue still there, when there's time it goes..) |
|---|
| 569 | - Re-wrote codec interface. Codec wrappers appear in files |
|---|
| 570 | codec_*.[ch] |
|---|
| 571 | and codec implementation files appear in cx_*.[ch]. |
|---|
| 572 | - codec_t axed and replaced with codec_id_t. Look at codec.h for |
|---|
| 573 | manipulation functions. |
|---|
| 574 | - Codec repair functions appear in codec interfaces rather than |
|---|
| 575 | reair function. |
|---|
| 576 | - Removed all RAT dependencies from codec code, repair code, 3d code, |
|---|
| 577 | appart from a few basic types i.e sample, audio format, and |
|---|
| 578 | coded_unit. |
|---|
| 579 | - Disabled all channel coding except vanilla. All to be |
|---|
| 580 | re-implemented. |
|---|
| 581 | - Added ability to read number of samples written to and read from |
|---|
| 582 | audio device. |
|---|
| 583 | - Made audio device id's (handles) mirror codec id's. We now always |
|---|
| 584 | have a valid handle for a device, and can read/write to it. |
|---|
| 585 | - Removed interfaces.[ch]. |
|---|
| 586 | - Replaced receive.[ch] with source.[ch] and replaced playout |
|---|
| 587 | buffer code with playout.c. |
|---|
| 588 | - Rewrote channel coder interface to be cleaner. |
|---|
| 589 | - Removed unnecessary dependencies in rate and channel conversion code. |
|---|
| 590 | Conversion routine now uses coded_units for input and output. |
|---|
| 591 | - Moved codec_state_list onto source structure and channel_coder_state. |
|---|
| 592 | - Fixed dependencies in repair and 3D rendering code. Their only |
|---|
| 593 | dependencies are now the codec files. |
|---|
| 594 | - Made converter interfaces same as audio device and codec interfaces. |
|---|
| 595 | - Changed 3d rendered to always output stereo. |
|---|
| 596 | - Fixed potential problem in 3D code where the audio frame size being |
|---|
| 597 | passed is smaller than the delay the render applies causing samples |
|---|
| 598 | to be shifted over the stack. |
|---|
| 599 | - Added tests directory where people can through tests for modules if |
|---|
| 600 | they care. So far have added test_3d.c which found the last problem |
|---|
| 601 | and native.c used to fix bug in native coding types. |
|---|
| 602 | - Fixed nasty bug in 3d rendered where at high sampling rates the delay |
|---|
| 603 | size is larger than the storage buffers between intervals causing |
|---|
| 604 | memcpy to overlap src and dst areas. |
|---|
| 605 | - Fixed bug in vdvi frame peek code and sizes returned by |
|---|
| 606 | vdvi_{en,de}code. All codecs pass tests in test_codecs. |
|---|
| 607 | - Wrote timestamp code that allows easy comparison between multi-rate |
|---|
| 608 | clocks. |
|---|
| 609 | - Added first order differencing for sequences of timestamps so |
|---|
| 610 | wraps in 32 bit clocks do not cause discontinuities in modulo m |
|---|
| 611 | clocks and vice versa. |
|---|
| 612 | - Added iterators to playout buffer. |
|---|
| 613 | - Updated transmitter to use playout buffer with multiple iterators |
|---|
| 614 | instead of former custom list code. |
|---|
| 615 | - Modified channel code and source code for playout buffer iterators. |
|---|
| 616 | - Fixed widgetabbing (due to missing tk library scripts). |
|---|
| 617 | - CNAME now uses the IPv6 host address, if running on IPv6. |
|---|
| 618 | - Move mbus heartbeat into the common code library. |
|---|
| 619 | - Repair and duplicate handling put back into new decode path. |
|---|
| 620 | - Separated sample ops into audio_util.[ch]. |
|---|
| 621 | - Added MMX mixing code for Win32. |
|---|
| 622 | - Moved bias control out of session pointer and into transmitter. |
|---|
| 623 | - Removed support for multiple mbus channels. |
|---|
| 624 | - Removed unnecessary include files from assorted source files. |
|---|
| 625 | - Cleaned up device reconfiguration code. |
|---|
| 626 | - Fixed l16 48k stereo name - was incorrect. |
|---|
| 627 | - Renamed certain functions to make names congruent to group of calls. |
|---|
| 628 | - Removed input_mode and output_mode from session_struct. |
|---|
| 629 | - Restored playout buffer length reporting functions. |
|---|
| 630 | - Added source flush if mix fails (source sample rate change). |
|---|
| 631 | - Added repair failure code, should only fail if sample rate changes. |
|---|
| 632 | - Added codec list option (-codecs) for launcher apps to know what is |
|---|
| 633 | available. |
|---|
| 634 | - Added payload mapping from UI. |
|---|
| 635 | - Added Sun's G726 public reference version. |
|---|
| 636 | - Redundancy encoder and decoder re-written but not linked in yet, |
|---|
| 637 | needs debugging. |
|---|
| 638 | - Rewrote win32 mixer interface code. No longer use string matching |
|---|
| 639 | with pre-defined english names. Still have to use some string |
|---|
| 640 | matching but only between names various controls from the driver |
|---|
| 641 | spit out. Took circuitous route since no two driver vendors |
|---|
| 642 | implement mixer functions in same way. Seems to be stable now. |
|---|
| 643 | - Modularized audio ports so that device interfaces now return |
|---|
| 644 | audio_port_details_t that contains string name and unique |
|---|
| 645 | input/output identifier to be used for port selection. |
|---|
| 646 | - Modified UI to have transmit and receive checkbuttons and replaced |
|---|
| 647 | bitmaps with string names since we cannot guarantee win32 port |
|---|
| 648 | names and changing between bitmaps and strings in the ui is ugly. |
|---|
| 649 | - Fixed transmitter bug where temporary audio_buffer iterator |
|---|
| 650 | was not being freed. |
|---|
| 651 | |
|---|
| 652 | v4.0.0 - Update license agreement -- we now use a standard Berkeley style |
|---|
| 653 | license for all files. See the file LICENSE for details. |
|---|
| 654 | - Removed output_gain and input_gain from session_struct. Should |
|---|
| 655 | fix output gain going to zero on some updates. |
|---|
| 656 | * Released 31 March 1999 |
|---|
| 657 | |
|---|
| 658 | v4.0.1 - Clarify license -- the LICENSE and COPYRIGHT files contradicted |
|---|
| 659 | each other, we now only have one file (COPYRIGHT) which is a |
|---|
| 660 | standard Berkeley style license. |
|---|
| 661 | - Fixed problem with pseudo-devices (auddev_null and |
|---|
| 662 | auddev_pca) that use gettimeofday to calculate how many samples are |
|---|
| 663 | available. They were failing to include number of samples included |
|---|
| 664 | in "device" buffer left over from previous reads. This meant device |
|---|
| 665 | time was always slow. |
|---|
| 666 | - Go back to ssrc rather than cname in UI for indexing entries. |
|---|
| 667 | Issues running multiple instances on single machine otherwise. |
|---|
| 668 | - Playout buffer skew adjustment added so when playout buffer |
|---|
| 669 | deviates from expected size because source clock is different and |
|---|
| 670 | signal is temporarily silent an adjustment is made. Only intervals |
|---|
| 671 | when adjustment made is when packet has arrived in current |
|---|
| 672 | processing interval so we do not adapt at the end of talkspurts. |
|---|
| 673 | - Made repair and converters communication like that of input and |
|---|
| 674 | output ports in ui. i.e. tool.rat.converters.flush, |
|---|
| 675 | tool.rat.converters.add, tool.rat.converter. Defaults for repair |
|---|
| 676 | and conversion are first type of module. |
|---|
| 677 | - Issues with mixing multi-rate fixed. Existing code was not |
|---|
| 678 | accounting properly for different sample rates when positioning new |
|---|
| 679 | mixer head time. This probably got introduced when the time |
|---|
| 680 | stamp method got changed since it definitely worked before (honest). |
|---|
| 681 | - Added status bar's to file window. Hopefully clearer what is going |
|---|
| 682 | on. Attempted fix button of state problems. |
|---|
| 683 | - Caching of previous talkspurt jitter. Previously a fresh guess was |
|---|
| 684 | made at the start of each spurt. |
|---|
| 685 | - source_get_playout_delay now includes audio we believe to be in |
|---|
| 686 | device buffer. |
|---|
| 687 | So buffer shifts now work with cushion...hopefully. |
|---|
| 688 | - Added counter for skew adjustments to make adjustments less |
|---|
| 689 | aggressive. |
|---|
| 690 | - Win32 mixer corrections - mixer control code now works with all |
|---|
| 691 | the cards we have. Let this be the end of it! |
|---|
| 692 | - Added read_and_discard for reading all available packets and |
|---|
| 693 | discarding them. This is needed because there is a long delay |
|---|
| 694 | between opening the socket and the first read (due to ui startup, |
|---|
| 695 | audio device startup, etc...). As a result lots of audio was |
|---|
| 696 | getting buffered at receiver with continuous sources at start up. |
|---|
| 697 | - Fixes to linux audio driver |
|---|
| 698 | - Fixed initial playout delay estimation. |
|---|
| 699 | - Stopped interaction between skew ajustment and repair. |
|---|
| 700 | - Assorted bug fixes to the UI |
|---|
| 701 | - Attempt to get participant highlighting correct |
|---|
| 702 | - Blending on samples dropped because of skew not quite there. |
|---|
| 703 | - Added unsigned 8 bit to device formats and added to conversion |
|---|
| 704 | routines. |
|---|
| 705 | - Partial SoundBlaster support on FreeBSD (out s16, in u8). |
|---|
| 706 | - Initial code for the move to using the RTP library - not used yet |
|---|
| 707 | - WAV file MAKEFOURCC bug fixed for non-Win32 little endian machines. |
|---|
| 708 | All platforms should be able to read WAV and AU files. |
|---|
| 709 | - Changed skew adjust back so it invokes repair to cover would-be |
|---|
| 710 | gap. |
|---|
| 711 | - Enhanced sample drop during skew detection. Period that can be |
|---|
| 712 | be dropped determined by pattern matching samples in frame to |
|---|
| 713 | to have samples dropped in. Then blend in start of what would |
|---|
| 714 | have been played to match point. Quality improvement |
|---|
| 715 | more than compensates for extra cpu cycles. |
|---|
| 716 | - Redundancy encoder working again (95% confidence :-). |
|---|
| 717 | - Added dismiss button to file dialog. |
|---|
| 718 | - Add support for DES encryption to the mbus (on by default). |
|---|
| 719 | - Fix encryption. |
|---|
| 720 | - Fix UI codec failure when changing sampling config and no codec |
|---|
| 721 | with same friendly name exists. Also fix for redundant codec |
|---|
| 722 | displayed when primary updated. |
|---|
| 723 | - Add timestamp to mbus packet headers |
|---|
| 724 | - Reorder initialisation sequence, to handle the new requirement |
|---|
| 725 | that the mbus can only send reliably to those entities we've |
|---|
| 726 | received a message from previously. This probably means that |
|---|
| 727 | the wait-on-startup hack for ReLaTe is broken, but we don't care |
|---|
| 728 | since the entire initialisation sequence needs redoing anyway |
|---|
| 729 | (the Bremen PSTN-to-Mbone gateway needs more fine grained control |
|---|
| 730 | than is possible with the current startup sequence). |
|---|
| 731 | - Fixed size of participant window so user can see 2 layers of |
|---|
| 732 | encoding when redundancy in use. |
|---|
| 733 | - Fixed channel coder reconfigure issue when changing sampling mode. |
|---|
| 734 | - The name of the RAT binary now includes the version number. |
|---|
| 735 | - Fix muting of individual participants. |
|---|
| 736 | - Added G726-16 using code from Marc Randolph's patch on comp.speech. |
|---|
| 737 | - Add sdr plugin (not tested) |
|---|
| 738 | - Fixed decoding preference problem when redundancy used. |
|---|
| 739 | - Fixed source muting (we discard the packets in statistics, rather |
|---|
| 740 | than not mixing source). |
|---|
| 741 | - Removed -drop command line option. |
|---|
| 742 | - Moved codecs that had CODEC_PAYLOAD_DYNAMIC into unassigned and |
|---|
| 743 | dynamic range so they are available in transmission panel. |
|---|
| 744 | - Removed half-duplex cards appear in devices list on Win32. |
|---|
| 745 | - Fixed ui update when switching channel coder. |
|---|
| 746 | * Released 14 May 1999 |
|---|
| 747 | |
|---|
| 748 | v4.0.2 - Added message box for win32 users who launch with no command line |
|---|
| 749 | options, giving usage instructions. |
|---|
| 750 | - Added WSACleanup() to shutdown win32 sockets nicely. |
|---|
| 751 | - Fix inet_aton(), which prevents a crash on startup on Windows NT |
|---|
| 752 | service pack 3 and some versions of Windows 95. |
|---|
| 753 | * Released 15 May 1999 |
|---|
| 754 | |
|---|
| 755 | v4.0.3 - Fix compilation with v1.2 of the Microsoft Research IPv6 stack. |
|---|
| 756 | - Catch WM_DELETE for preferences window. Reported by Atanu Ghosh. |
|---|
| 757 | - Check address and port is valid in command line parsing so |
|---|
| 758 | we don't dump core later. Reported by Lorenzo Vicisano. |
|---|
| 759 | - Unrecognized options are ignored, but no longer stop processing other |
|---|
| 760 | options. This means that "rat-4.0.3 -f pcm -t 64 224.1.2.3/1234" now |
|---|
| 761 | sets the TTL correctly, even though the -f is unrecognized, meaning |
|---|
| 762 | that we can start rat via sdr. Reported by Terry Gibbons. |
|---|
| 763 | - Fix occasional assertion failure in mix.c:133 `len < ms->buf_len' |
|---|
| 764 | (it looks like the condition in the assert is off by one, should |
|---|
| 765 | be 'len <= ms->buf_len'. If this doesn't fix it, there's a check |
|---|
| 766 | around line 242 of mix.c which sets things up so we don't overflow |
|---|
| 767 | the buffer - we just decrease the amount we write by one sample |
|---|
| 768 | there instead. Reported by Roy Bennett and others. |
|---|
| 769 | - Fix payload type mapping for PCMA-16K-Stereo. |
|---|
| 770 | - Mapping for existing rat/vat codec names. |
|---|
| 771 | - Primary payload type mapping using -f. |
|---|
| 772 | - Secondary payload type mapping using -f also. |
|---|
| 773 | - Fix restoration of previous audio port settings from saved values. |
|---|
| 774 | - Separated sound file handling into sndfile_wav.[ch] and |
|---|
| 775 | sndfile_au.[ch] |
|---|
| 776 | - Added support for default sndfile extension if none specified. |
|---|
| 777 | Win32 -> wav, others -> au. |
|---|
| 778 | - Added support for writing alaw and ulaw. |
|---|
| 779 | - Updated man page. |
|---|
| 780 | - Added sndfile_raw.[ch] for handling raw files. |
|---|
| 781 | - Added sndfile_valid_format. |
|---|
| 782 | - Fixed spurious debugging code in the windows audio driver which |
|---|
| 783 | would cause an infinite loop if activated (rare, but could happen). |
|---|
| 784 | - Split converter code up into convert_*.[ch] and added convert_types.h |
|---|
| 785 | - Fixed repair when next unit on playout buffer is less than expected |
|---|
| 786 | length away. |
|---|
| 787 | - Compilation fixes for Irix 5.3 contributed by David Balazic. |
|---|
| 788 | - Some linux audio drivers, in particular the ES1370 used in the |
|---|
| 789 | SoundBlaster PCI 128, don't support /dev/sndstat. Rewrite the |
|---|
| 790 | query functions to work with /dev/mixer instead. |
|---|
| 791 | - Handle known skew in the audio sampling rate for those linux audio |
|---|
| 792 | drivers which report it. |
|---|
| 793 | - Added 'high quality' converter, sinc filter. |
|---|
| 794 | * Released 2 June 1999 |
|---|
| 795 | |
|---|
| 796 | v4.0.4 - Add ability to receive on one port yet send to another, requested |
|---|
| 797 | by Henning Schulzrinne. Usage: "rat addr/rx_port/tx_port" |
|---|
| 798 | - Compilation fixes for Irix 6.5 contributed by Bob Olson. |
|---|
| 799 | - Fix core dump caused by calling sndfile_write_audio with buffer |
|---|
| 800 | length of 0. |
|---|
| 801 | - Fix core dump when called with invalid command line arguments, |
|---|
| 802 | reported by Marcus Meissner. |
|---|
| 803 | - Fix passing of encryption key across mbus, reported by Ed Whelan. |
|---|
| 804 | - Remove support for the -wait option. This means we can't work with the |
|---|
| 805 | ReLaTe interface anymore but, once the split into multiple processes |
|---|
| 806 | is complete, ReLaTe will be able to drive the media engine directly. |
|---|
| 807 | - Remove most of the transcoder support - it didn't work anyway, and |
|---|
| 808 | needs to be reimplemented from scratch. |
|---|
| 809 | - Start the split into multiple processes: media engine, user interface |
|---|
| 810 | and controller. |
|---|
| 811 | - Added basic layered channel coder. Usage: rat -l n <address>/<port> |
|---|
| 812 | <address>/<port>, where n = no of layers and there is an address and |
|---|
| 813 | port for each layer. Only works with the WBS codec at present, and |
|---|
| 814 | probably not very well at that. |
|---|
| 815 | - Move the code to load and save settings into the media engine, and |
|---|
| 816 | out of the user interface. |
|---|
| 817 | - Fixed WBS codec so that it works with different endian machines. |
|---|
| 818 | - Added hash table to settings_load. |
|---|
| 819 | - Fixes for 64 bit IRIX from Peter Orbaek |
|---|
| 820 | - Some codecs' default payload values clashed with RTP spec: |
|---|
| 821 | PCM-16-K Stereo was 76, now 124; GSM-16K was 72, now 118; |
|---|
| 822 | GSM-32K was 73, now 119; GSM-48K was 76, now 123. |
|---|
| 823 | * Released 7 July 1999 |
|---|
| 824 | |
|---|
| 825 | v4.1.0 - Fixed slow memory leak reported by Emmanuel Duros. Vanilla |
|---|
| 826 | decoder was not checking all pb_add functions returned success |
|---|
| 827 | and so pointer was getting trashed. |
|---|
| 828 | - Fix RTCP RR DLSR field when reporting on a source from which |
|---|
| 829 | we've received no SR packets. |
|---|
| 830 | - Changed drop preference for incoming packet buffer overflows. Now |
|---|
| 831 | drop incoming packet rather than earliest packet in buffer - makes |
|---|
| 832 | source packet processing better ordered. |
|---|
| 833 | - Remove address sanity checking for the layered coder from the |
|---|
| 834 | command line parser: it should be done when the socket is opened |
|---|
| 835 | since that makes the code address format agnostic. |
|---|
| 836 | - Added network_exit. |
|---|
| 837 | - Added per source gain control. Now appears in participant panel |
|---|
| 838 | on audio pane. Suggested by Jerry Isdale. |
|---|
| 839 | - Fixes for the Detexis Musica IPv6 stack on Windows NT. |
|---|
| 840 | - Send rtp.source.cname messages to the video tool when lip-sync is |
|---|
| 841 | enabled, so it can match sources up to those in the video session. |
|---|
| 842 | - Cleanup documentation of the audev_*.c files |
|---|
| 843 | - Fix loading of preferences: powermeter, lip-sync |
|---|
| 844 | - Fix the fileboxes on the Windows release version. |
|---|
| 845 | - Fix spurious transmission of tool.rat.lecture.mode() mbus messages |
|---|
| 846 | - Fix spurious transmission of rtp.source.active() mbus messages when |
|---|
| 847 | we are sending. |
|---|
| 848 | - Fix (hopefully) assertion failure in the mixer when trying to zero |
|---|
| 849 | blocks longer than the buffer. |
|---|
| 850 | - Improved layered channel coder, thereby making it incompatible with |
|---|
| 851 | 4.0.4. |
|---|
| 852 | - Added persistent database pdb.[ch]. |
|---|
| 853 | - Moved render_3D_data from the rtcp database into persistent database |
|---|
| 854 | as first step towards using common rtp code. Lots of other fields to |
|---|
| 855 | do, but looks to work in principle. |
|---|
| 856 | - Add RPM spec file for RedHat Linux. Based on that contributed by |
|---|
| 857 | Stephen Adler |
|---|
| 858 | - Convert to using the RTP code in the common library. |
|---|
| 859 | - Fixed getenv not checking for null string after getenv in |
|---|
| 860 | auddev_osprey.c. Reported by Dirk Kutscher |
|---|
| 861 | <dku@informatik.uni-bremen.de>. |
|---|
| 862 | - Add playout_calc.[ch]. |
|---|
| 863 | - Add ts_mul and ts_div to keep playout calc clean. |
|---|
| 864 | - Change default units per packet to 1, since PIPVIC2 says that the |
|---|
| 865 | end to end delay is too large otherwise. |
|---|
| 866 | - Rewrite the reception quality matrix |
|---|
| 867 | - Consistency changes: audio device and repair query now consistent |
|---|
| 868 | with the majority of interfaces. |
|---|
| 869 | - More consistency changes: channel_get_coder now consistent with |
|---|
| 870 | other interfaces. |
|---|
| 871 | - Add ability to mtrace between participants by clicking on the squares |
|---|
| 872 | in the reception quality matrix |
|---|
| 873 | - Split setting load between .RTPdefaults and .RATdefaults. |
|---|
| 874 | - Add cutesy popup boxes to the reception quality matrix |
|---|
| 875 | - Add device buffer occupancy check to auddev_luigi to try to fix |
|---|
| 876 | sb16 problems. |
|---|
| 877 | - Add toged and cont_toged back. |
|---|
| 878 | - Move source_check_buffering into rtp_callback. |
|---|
| 879 | - Fix mixer handling overlapping blocks. |
|---|
| 880 | - Changed win32 audio read and write methods, added audio event to |
|---|
| 881 | reduce CPU usage. Fixed handling of non-blocksize writes. |
|---|
| 882 | - Modified auddev_null on Win32 to use WaitForSingleObject rather |
|---|
| 883 | than Sleep on Win32. Reduces CPU considerably. |
|---|
| 884 | - Added colour to powermeters. |
|---|
| 885 | - Add fixed size packet buffer to make for easy discards when media |
|---|
| 886 | engine has blocked for an inordinate period. |
|---|
| 887 | - Added source_get_bps (bits per second :-). |
|---|
| 888 | - Removed gain setting stuff from luigi_audio_open. Problems reported |
|---|
| 889 | by Bill Fenner and code purpose is defunct. |
|---|
| 890 | - Complete split into media engine, user interface and controller |
|---|
| 891 | processes. Only works on Unix at present, still debugging the |
|---|
| 892 | Windows port. |
|---|
| 893 | * 5 October 1999 |
|---|
| 894 | |
|---|
| 895 | v4.1.1 - Added transcoder audio device. Contributed by Michael Wallbaum |
|---|
| 896 | <wallbaum@informatik.rwth-aachen.de> |
|---|
| 897 | - Now send RTP BYE packets on exit |
|---|
| 898 | - Fixed converter table initialization. Was not initializing |
|---|
| 899 | interpolation and extrapolation correctly after last consistency |
|---|
| 900 | update. |
|---|
| 901 | - Unrolled loops in extrapolation converter. |
|---|
| 902 | - Replaced divisions in interpolation converter that were not powers |
|---|
| 903 | of two with a multiplication scaling factor and a power of 2 |
|---|
| 904 | denominator. Improves performance 3-4 for upsampling by 3,5,6. |
|---|
| 905 | - Fixed 2 step sample rate conversion support. |
|---|
| 906 | - Fixed Windows port. |
|---|
| 907 | - Initialize sp->cur_ts in main_engine, before tx_start. Should fix |
|---|
| 908 | occasional assert failure during transmitter startup. |
|---|
| 909 | - Put cont_toged check into source_process packets. Added check for |
|---|
| 910 | cont_toged in rtp_callback. |
|---|
| 911 | - Added time constants and replaced lots of ts_map32 functions with |
|---|
| 912 | them in source.c. |
|---|
| 913 | - Rewrite initialization and rendezvous code between the controller |
|---|
| 914 | and the user interface and media engine. This should remove many |
|---|
| 915 | race conditions and generally clean things up and make them more |
|---|
| 916 | reliable. |
|---|
| 917 | - use mbus_rendezvous_waiting() and mbus_rendezvous_go() |
|---|
| 918 | - do a real handshake between controller and the subprocesses |
|---|
| 919 | - Fix parsing of many command line options. NOTE: many of the options |
|---|
| 920 | are parsed in a backwards incompatible manner now, to make the code |
|---|
| 921 | cleaner. |
|---|
| 922 | |
|---|
| 923 | |
|---|
| 924 | |
|---|
| 925 | TODO -- They're features not bugs dammit! |
|---|
| 926 | ---- |
|---|
| 927 | |
|---|
| 928 | - Assorted audio driver problems: |
|---|
| 929 | - FreeBSD driver bug on SoundBlaster 16 has small write buffers |
|---|
| 930 | and stops working full duplex mode after a time. Hard to fix because |
|---|
| 931 | of cushion. |
|---|
| 932 | - Broken auddev_pca with adding of audio interface conversion code. |
|---|
| 933 | FreeBSD 3.1 pca audio does not seem to work anymore. |
|---|
| 934 | - SunVideoPlus interface code does not work (have tried nearly all |
|---|
| 935 | options but current driver is v. unstable). Has only worked in 8k |
|---|
| 936 | mono. New driver is coming soon... |
|---|
| 937 | - SGI O2's don't have autosensing audio interface selection like |
|---|
| 938 | Indy's. |
|---|
| 939 | - Need to allow manual input and output switching. |
|---|
| 940 | - 3d renderer should decimate when using sampling rates other than |
|---|
| 941 | that for which it was originally designed for. |
|---|
| 942 | - 3d renderer could use finite precision maths for better performance |
|---|
| 943 | (eliminate type conversions). |
|---|
| 944 | - sndfile routines should use conversion functions in audio_fmt.c, not their |
|---|
| 945 | own. |
|---|
| 946 | - Bias estimate should be sample continuous, not block stepped. |
|---|
| 947 | - Channel coders need intelligent bail out fn's for when units overflow |
|---|
| 948 | (rare, but real problem). |
|---|
| 949 | - UI lets you select packets larger than the MTU, which can't be sent |
|---|
| 950 | - Release audio option |
|---|
| 951 | - Add/restore audio device trading |
|---|
| 952 | - Disabling participant list doesn't work if the window has been resized: |
|---|
| 953 | not sure if this is a feature of Tk or the window manager, but there's |
|---|
| 954 | little we can do about it. |
|---|
| 955 | - Playout delays may be out of date in both tools (rat & vic) when lip-sync |
|---|
| 956 | is enabled and when no talkspurt has been sent/received for a while (e.g |
|---|
| 957 | when the speaker stops talking for a while) |
|---|
| 958 | - When silence suppression is off, then no mbus lip-sync messages are exchanged |
|---|
| 959 | between rat & vic since this is done on a per-talkspurt basis by rat. We |
|---|
| 960 | may use a timer to send such messages every so often. |
|---|
| 961 | - Streaming option -S from command line to stream files, raw and sample based |
|---|
| 962 | files would be good. |
|---|
| 963 | - All supported codecs should have payload types by default. |
|---|
| 964 | - Reimplement transcoder. |
|---|
| 965 | - Add support for conversion between m*8000 and n*11025 |
|---|
| 966 | - n*11025 sampling isn't well supported in general |
|---|
| 967 | - Add mp3 decoder. xaudio and ms acm decoders look v. easy to add. |
|---|
| 968 | - Playout bug with overlapping audio reception. Pushes incoming audio too |
|---|
| 969 | far back. Mute source briefly to get around this. |
|---|
| 970 | - Better code documentation. |
|---|
| 971 | - Sample based codecs should accept frame lengths of 0-200ms, not just |
|---|
| 972 | multiples of frame lengths in tables. Should add codec_is_sample_based |
|---|
| 973 | test and data to codec tables and relax receiver sanity checking so that |
|---|
| 974 | sample based frames do not have to be n * codec__peek_frame_size. |
|---|
| 975 | - Should use the empty RRs coming back from receivers who are not seeing |
|---|
| 976 | traffic, and display this in the loss matrix. |
|---|
| 977 | - The new loading of settings isn't quite complete yet - some variables |
|---|
| 978 | need to be activated in the user interface (they are loaded fine; it's |
|---|
| 979 | just not made evident to the user) |
|---|
| 980 | |
|---|