File: ChangeLog

package info (click to toggle)
svxlink 15.11-2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 14,296 kB
  • ctags: 7,558
  • sloc: cpp: 48,996; tcl: 3,273; ansic: 2,831; sh: 1,054; perl: 335; ruby: 160; makefile: 96
file content (428 lines) | stat: -rw-r--r-- 13,254 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
 1.4.0 -- 22 Nov 2015
----------------------

* New class Async::Pty used to communicate over UNIX 98 PTY:s.

* Bugfix in Async::CppApplication: The max_desc variable used in the call to
  pselect was not correctly set up in some cases after a removal of a file
  descriptor watch.

* Fixed issues reported by the Coverity scan static analysis tool.

* The AudioSplitter now also is a source itself so that it can be used to
  pipe audio through to the next stage in the pipe instead of having to
  use addSink to register all sinks. This make the splitter easier to
  handle in an audio pipe where there is a main path and you just want
  to split off a branch.

* The NULL audio codec now encode and decode a sample count which is used
  by the decoder to write the correct number of samples to its audio sink.
  All written samples will be zero-samples.

* Bugfix in Async::AudioRecorder: If a write error occurred, the audio pipe
  could be blocked indefinitely. Error handling was improved all over. There
  now is a "errorOccurred" signal and a "errorMsg" function.

* Bugfix in Async::AudioEncoder{Opus,Speex,Gsm}: Applications using the Opus,
  Speex or Gsm audio encoders could crash due to some dangerous coding.

* Async::Config: Removed error message printed on open failure. Printing an
  error message must be done by the caller.

* Async::Timer: Now possible to create a timer object that is disabled from
  the beginning.

* Async::Application: New function runTask which can be used to delay
  execution of a function until control is returned to the Async main loop.

* New class Async::AudioGenerator that can generate sine and square waves.

* Now possible to create an Async::FdWatch without an associated file
  descriptor and then set it later using the new setFd function.



 1.3.1 -- 02 Apr 2015
----------------------

* New functions Async::TcpClient::idIdle and Async::TcpConnection::idle



 1.3.0 -- 02 Aug 2014
----------------------

* Fixed Async::AudioDeviceUDP so that audio output is paced instead of writing
  as fast as possible.

* Added a NULL audio encoder and decoder that can be used when one does not
  want audio to be sent at all.

* Added the ability to bind TCP client and server sockets to a specific
  IP-address.

* Serial port settings are now not restored unless they have been explicitly
  changed using the Serial::setParams function.

* The serial port TX/RX buffers are now only flushed if explicitly specified
  in the open call.

* The IpAddress class now have an input stream operator.

* Bugfix in Async::{AudioSelector,DnsLookup,AudioSplitter}: Important code had
  been placed within assert statements. By default CMake set compiler options
  that remove all assert statements when compiling in release mode. This
  caused some things to stop working when compiling for release.

* Now possible to change the buffer size of a TCP connection using
  TcpConnection::setRecvBufLen.



 1.2.1 -- 30 Jun 2014
----------------------

* Some sound hardware cause an Alsa failure which SvxLink previously handled
  as a fatal error (assert) and aborted the application. A warning is now
  printed instead and the sound device is closed and reopened.

* Support added for Opus version < 1.0.

* Bugfix for Async::Config::getValue. The std::ws operator set the fail bit on
  FreeBSD at end of string. This caused some config options to not be read
  correctly.



 1.2.0 -- 01 Dec 2013
----------------------

* The Async::AudioRecorder class now have some added features. In addition to
  the hard filesize limit there now is a soft limit at which the file will be
  closed when the audio source call flushSamples. A signal will be emitted
  when either of the limits are hit. Also, begin and end timestamps now are
  available.

* The Async::AudioFilter setOutputGain method now take a dB value as argument.

* Added support for the Opus audio codec.

* New class Async::Exec for executing external programs.



 1.1.1 -- 29 Jul 2013
----------------------

* Fixed some include directives for Async::CppApplication.

* The Async::TcpClient class now always do a name lookup before trying to
  connect. Previously, when the old lookup was cached, IP addresses that
  changed over time was not handled.



 1.1.0 -- 06 Jun 2013
----------------------

* New class AtTimer to set a timer that expires at the specified time of day.

* Now using clock_gettime instead of gettimeofday to get the time for timers
  since the former provides monotonically increasing time which the
  latter don't.

* Async::DnsLookup: New method resultsAreReady with which it is possible
  to check if the DNS lookup is done or if it's still pending.

* Fixed a buffer overflow bug in the AudioInterpolator.

* Async::TcpClient: Added two new constructors, one which take an IpAddress
  object instead of a host name which is good if you already have the IP
  address. The other only take an optional buffer size. The hostname or ip
  address is given later to the new connect method.

* There now is an overloaded Config::getValue function which can take a
  container, like an std::vector, to read in a number of space separated values
  from a configuration variable.



 1.0.0 -- 08 Mar 2013
-----------------------

* Moved from sigc++ version 1.2 to version 2.
  Patch contributed by Felix/WU8K.

* Now possible to bind a UDP socket to a given interface.

* New "audio device" which read and write audio from a UDP socket.
  This can for example be used to stream audio to/from GNU Radio.

* Now possible to set config variables in memory using the Config::setValue
  function. It is not possible to write the change back to the config
  file though.

* New class FileReader to read a file in non blocking mode. Contributed
  by Steve / DH1DM.



 0.18.2 -- 27 Nov 2011
-----------------------

* Bugfix in Async::AudioDeviceAlsa: There were problems when reopening
  the audio device in another mode, like when going from WR to RDWR.
  In some cases the audio output would hang.



 0.18.1 -- 05 Nov 2011
-----------------------

* Bugfix in Async::AudioDelayLine: Calling "clear" while a "mute" was in
  effect would cancel the mute.

* New methods IpAddress::isEmpty() and IpAddress::clear().

* Bugfix in the OSS code: The audio device would not open when not using stdout
  as the logging output due to an obscure bug in the OSS code. When not using
  stdout, the audio device would open with fd 0, which was interpreted as and
  error.



 0.18.0 -- 14 May 2011
-----------------------

* The Async::AudioRecorder can now auto detect the file format from the
  filename extension.

* Improved audio device handling which makes it easier to add support for
  different kinds of audio subsystems.

* Added support for the ALSA audio subsystem.

* Bugfix in AudioFifo: The clear method did not work properly. Under some
  circumstances, allSamplesFlushed was not called which caused problems
  upstream.

* Bugfix in AudioDelayLine: Mute and clear did not do the right thing
  with the buffer pointer so it didn't behave properly.

* The AudioDelayLine now fade in and out when muting and clearing to
  avoid creating pops in the audio stream.



 0.17.0 -- 26 Apr 2009
-----------------------

* The Async internal sample rate is now configurable by a compile time
  define (INTERNAL_SAMPLE_RATE in makefile.cfg).

* Added the Async::AudioStreamStateDetector contributed by Steve / DH1DM.

* Implemented an audio codec framework that is meant to be used when
  streaming audio over a network.

* Bugfixes in Async::AudioPacer: Using a prebuf size of zero millisecods
  did not work. DH1DM: Fixed a buffer calculation error. Gaps could be
  introduced in some situations.

* Moved the audio recorder class from the SvxLink server application
  to Async (Async::AudioRecorder).

* The AudioRecorder can now write WAV files.

* Bugfix in AudioFilter: Filters was not properly created under som locales,
  like german (de_DE).



 0.16.1 -- 30 Jul 2008
-----------------------

* Bugfix and rewrite of the sound card code (AudioIO and AudioDevice classes).

* Bugfix and rewrite of the Async::AudioPacer class.

* Bugfix in Async::Timer: At destruction of a timer, a check was not made
  to see if it really existed.

* Bugfix in Async::CppDnsLookupWorker: The DNS code had a bug which showed
  itself under Ubuntu. A local variable was called "h_addr" which is defined
  in netdb.h as "h_addr_list[0]".



 0.16.0 -- 18 May 2008
-----------------------

* Lots of changes to adapt everything to the audio pipe infrastructure.

* Decreased buffers to improve audio latency.

* New method: AudioSplitter::enableSink make it possible to enable/disable
  branches in the splitter.

* Cleanup: Removed obsolete files and fixed files with wrong names.

* New method AudioFifo::enableBuffering: Use this method to enable/disable
  the buffering in the fifo. When disabled, this will effectively just make
  it a passthrough.

* Now possible to open left/right stereo channels as separate mono
  channels.

* Now possible to set sample rate, block size, channels and buffer size for
  a sound card.

* Made Async::CppDnsLookupWorker thread safe.



 0.15.0 -- 02 Jan 2008
-----------------------

* Now compile under CentOS 5.0, Fedora 8, Ubuntu 7.10 and Gentoo.

* Inserting repeated audio fragments if incoming audio pase is too slow.
  Good when using two sound cards with slightly different sampling rate.

* Fixes for 64 bit platforms.



 0.14.0 -- 15 Apr 2007
-----------------------

* Async::Config: Now possible to use the "open" method more than once to
  read multiple configuration files.

* It is now possible to read the sampling rate the audio device is using
  method Async::AudioIO::sampleRate.

* It is now possible to set the gain to use on an audio stream.

* New method: TcpConnection::isConnected.

* Now using float instead of short int to represent samples. This make it
  easier to apply audio processing on them.

* Created a new audio-lib where all the audio related classes have been put.

* A lot of new audio handling classes have been added.

* Now using libsigc++ version 1.2 instead of the old and outdated 1.0.

* ASYNC_AUDIO_NOTRIGGER=1 is now the default.



 0.13.0 -- 02 Dec 2005
-----------------------

* Merged Serial::InPin and Serial::OutPin to a new typedef Serial::Pin.
  Also added PIN_NONE.

* Bugfix in Config: It was not possible to specify an empty configuration
  variable using "".

* Fixed the makefile problem where it was not possible to compile SvxLink
  when a previous "make install" had been done. It tried to link against
  the installed libraries instead of the ones just compiled.



 0.12.1 -- 09 Oct 2005
-----------------------

* Bugfix in Async::TcpClient: In some situations sockets could be leaked
  and functions could be called twice instead of once. This may have caused
  crashes.



 0.12.0 -- 14 Aug 2005
-----------------------

* Bugfixes for multi open of sound device.

* New method in AudioIO to clear all samples in the buffer.

* Bugfix: Handling flushing when already flushed correctly.

* Bugfix: CPU could go up to 100% when writing audio to the
  sound card.

* DNS lookups are now asynchronous (well, threaded anyway)
  so no more blocking DNS lookup calls.

* Start and end of sound playback is now amplitude shaped
  to not create noise at end of playback.

* Bugfix: Forgot to clean up everything when the
  Async::TcpClient::disconnect method was called.

* Added an unequality operator to the Async::IpAddress class.



 0.11.0 -- 25 Mar 2005
-----------------------

* Added some code to AsyncTcpServer to broadcast data to connected
  clients. Contribution by SM0LCB / Ulf.

* Now possible to list all tags in a config section.

* The Serial class can now handle multiple users per port.

* Bugfix: The AudioIO class did not handle mutiple users correctly.



 0.10.0 -- 26 Sep 2004
----------------------

* Now the AudioIO object is really checking for full duplex capablility.

* Bugfix: The application would crash if the AudioIO object were deleted
  and then recreated.

* New class "Serial" for serial port usage.

* Bugfix: The DnsLookup class did not delete its DnsLookupWorker object
  and other memory handling was a mess as well. Thank you "valgrind"
  for helping me find this!



 0.9.0 -- 27 May 2004
----------------------

* Separate reader and writer in the same application can now open the audio
  device at the same time. The device is automatically set to full duplex
  operation. Previously, only one AudioIO object could have the device opened
  at a time.

* Added an environment variable that make it possible to disable the use
  of the trigger functionality when opening an audio device. This was necessary
  to make Alsa OSS emulation work. Set ASYNC_AUDIO_NOTRIGGER=1 to disable the
  use of the trigger functionality.

* Decreased the audio buffers in the audio device to make audio playback
  more responsive.



 0.8.0 -- 04 Apr 2004
----------------------

* Audio handling rewritten to handle a separate reader and writer within
  the same application.

* Split the async lib into core, cpp, qt and demo parts.

* Earlier log entries for the async library can be found in ../qtel/ChangeLog.