Commit Graph

50 Commits

Author SHA1 Message Date
Pierre Ossman
25b8412333 Avoid poking around in STREAM internals
It's easy to make mistakes this way, and bypassed the normal bounds
checking. So make sure we always use macros or functions.
2019-05-06 14:33:38 +02:00
Pierre Ossman
489c43f382 Return STREAM objects from data generating functions
Use a consistent style of returning a new STREAM object from functions
that output data, rather than requiring an existing structure to be
passed in. This generally makes the memory management more straight
forward and allows us to do more proper bounds checking of everything.

This also adds some new STREAM macros to make it easier to manage
them without poking around in the internal structure.
2019-05-06 14:33:11 +02:00
Pierre Ossman
6268b44f06 Add macro to check remaining length of STREAM
Avoids poking around in the internals, and also makes the code
easier to read.
2019-05-06 14:33:05 +02:00
Karl Mikaelsson
d6a8f145c4 Remove compiler warnings from rdpsnd_libao
A couple of unused variables and a signed/unsigned fix.
2017-11-13 17:00:53 +01:00
Henrik Andersson
87d8d123b8 Rework the logging system
This commit will add a logging system to solve the problem that
one actually need to recompile rdesktop from source to enable
different debug logging.

- Same logging api  for all kind of logging and messages to
   end user.

- Adding -v for verbose output when running rdesktop.

- All messages are logged into a subject and with a type, eg:

     logger(Keyboard, Notice, "Autos-electing %s based on locale.", locale);

- Debug logging is enabled trough a environment variable RDEKSTOP_DEBUG,
  which specifies subjects of interest, comma separated. There is a special
  subject named All which includes all subject for debug loggin. There is also
  a simple logic opeartor '!' = NOT which can be used in combination like:

    RDESKTOP_DEBUG=All,!Graphics,!Sound

  Which would give debug log output for All subject except Graphics and Sound.
2017-01-26 14:19:40 +01:00
Henrik Andersson
a224721795 Zero memory of format struct to prevent sigsegv.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1730 423420c4-83ab-492f-b58f-81f9feb106b5
2013-08-14 12:56:52 +00:00
Henrik Andersson
d0bf92a9c3 Zero out format struct before use.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1704 423420c4-83ab-492f-b58f-81f9feb106b5
2013-03-22 12:47:03 +00:00
Peter Åstrand
b47063c74f Consistent formatting of emails in copyright headers.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1616 423420c4-83ab-492f-b58f-81f9feb106b5
2011-04-13 11:28:19 +00:00
Peter Åstrand
b638882347 Include emails in copyright statements.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1615 423420c4-83ab-492f-b58f-81f9feb106b5
2011-04-13 11:13:04 +00:00
Peter Åstrand
281d7c9f06 Changed license to GPLv3
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1534 423420c4-83ab-492f-b58f-81f9feb106b5
2010-01-12 08:31:06 +00:00
Jay Sorg
88855ddcbf update the copyright year
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1474 423420c4-83ab-492f-b58f-81f9feb106b5
2008-07-11 03:51:23 +00:00
Michael Gernoth
ac49af5c6a reduce CPU usage in libao and sgi sound driver
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1421 423420c4-83ab-492f-b58f-81f9feb106b5
2007-10-30 13:57:31 +00:00
Michael Gernoth
9769d751ee some more RD_BOOL
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1372 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-08 12:38:34 +00:00
Jay Sorg
797df4fa02 copyright year update
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1364 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-04 05:39:39 +00:00
Jay Sorg
b670bdacfa RD_ prefix and win32 compatibility for core files
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1363 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-04 04:55:56 +00:00
Pierre Ossman
f0c0188404 Fix audio_driver initialisation to avoid problem with uninitialised
variables and reduce the memory leakage.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1355 423420c4-83ab-492f-b58f-81f9feb106b5
2007-01-02 11:39:56 +00:00
Michael Gernoth
c9c3ab52e3 indent fixes
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1353 423420c4-83ab-492f-b58f-81f9feb106b5
2006-12-24 15:23:00 +00:00
Michael Gernoth
e0cad6bc61 let libao output work again
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1351 423420c4-83ab-492f-b58f-81f9feb106b5
2006-12-24 15:16:45 +00:00
Michael Gernoth
2086e83814 Make code compile with C89 compilers again
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1350 423420c4-83ab-492f-b58f-81f9feb106b5
2006-12-24 13:53:23 +00:00
Pierre Ossman
c6712a8945 Abstract select() handling in rdpsnd so that backends can do their thing
more correctly.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1345 423420c4-83ab-492f-b58f-81f9feb106b5
2006-12-07 15:23:45 +00:00
Pierre Ossman
139e42d9ef Restructure driver registration structures a bit so it is easier to add
new fields (and also reduce some memory usage/leaks).


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1344 423420c4-83ab-492f-b58f-81f9feb106b5
2006-12-07 11:54:29 +00:00
Michael Gernoth
392b8f0d1a sometimes libao corrupts memory, so don't call ao_initialize and ao_shutdown
when it's not really needed


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1333 423420c4-83ab-492f-b58f-81f9feb106b5
2006-11-07 16:48:48 +00:00
Pierre Ossman
22d88645ff Rewrite the queue management a bit so that blocks are not completed until
they have finished playing. This also makes the queue system mandatory for
all backends.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1301 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-26 09:47:17 +00:00
Michael Gernoth
fb206f958b reset WAVEOUTLEN back to 16 as gui becomes unresponsive with higher values
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1294 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-14 22:12:47 +00:00
Michael Gernoth
188b928bfa rename WAVEOUTBUF to WAVEOUTLEN and increase it to 1024 bytes
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1289 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-01 22:30:34 +00:00
Michael Gernoth
23ea0a9173 make libao a bit more efficient on big endian
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1288 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-01 22:27:11 +00:00
Michael Gernoth
e82b81576b make it possible for the driver to switch resampling on and off
dynamically. this will be needed for the OSS driver.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1278 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-01 14:03:43 +00:00
Michael Gernoth
b7b4327927 move simple resample algorithm from rdpsnd_libao.c to rdpsnd_dsp.c to
provide a base for a better resample-algorithm


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1275 423420c4-83ab-492f-b58f-81f9feb106b5
2006-10-01 12:16:50 +00:00
Michael Gernoth
c66055ab22 do not segfault when no libao default-driver is defined
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1267 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-18 09:34:34 +00:00
Michael Gernoth
7522bc310c indent fixes
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1266 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-18 09:28:42 +00:00
Michael Gernoth
4d7ffa4faa make it possible to select libao output driver
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1265 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-18 09:27:58 +00:00
Michael Gernoth
7ef82f75c7 unify audio-byteswapping as a dsp-function
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1259 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-17 15:25:10 +00:00
Michael Gernoth
76459e4005 add software volume control (currently only for libao but will be
used for alsa, too)


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1257 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-17 14:41:16 +00:00
Michael Gernoth
99afd6a9f1 fix SunCC errors/warnings and configure-variable-usage (LIBS/LDFLAGS)
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1255 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-17 11:42:22 +00:00
Michael Gernoth
07b5b9e41c allow multiple sound-drivers to be compiled in simultaneously and
make the runtime selectable


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1254 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-17 11:04:50 +00:00
Michael Gernoth
ec4862937f unify queue-handling in rdpsnd.c (remove private copies from all
drivers)


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1253 423420c4-83ab-492f-b58f-81f9feb106b5
2006-09-17 10:32:18 +00:00
Michael Gernoth
98a51ac1ab declare local variables static and remove g_prefix.
this removes a clash with another global variable...


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1244 423420c4-83ab-492f-b58f-81f9feb106b5
2006-07-09 23:41:07 +00:00
Michael Gernoth
bcfc457bd5 reduce size of output-buffer to improve ui-performance
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1044 423420c4-83ab-492f-b58f-81f9feb106b5
2006-02-08 13:35:35 +00:00
Michael Gernoth
985a1155ea use signed char resample buffer instead of unsigned
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1042 423420c4-83ab-492f-b58f-81f9feb106b5
2006-02-07 16:21:31 +00:00
Peter Åstrand
fbe5a9dca1 Indent fix
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@985 423420c4-83ab-492f-b58f-81f9feb106b5
2005-08-24 11:31:58 +00:00
Michael Gernoth
04ea0d7192 fix signedness-warning for ao_play
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@978 423420c4-83ab-492f-b58f-81f9feb106b5
2005-08-15 11:49:47 +00:00
Peter Åstrand
1320755f2b Added missing c-basic-offset:s and license headers
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@962 423420c4-83ab-492f-b58f-81f9feb106b5
2005-08-03 10:56:16 +00:00
Michael Gernoth
19769936e4 much better sound synchronization using the provided timestamps
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@890 423420c4-83ab-492f-b58f-81f9feb106b5
2005-04-22 21:54:57 +00:00
Michael Gernoth
e9eb80017a bugfix: correctly increment the out->p pointer
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@840 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 17:23:26 +00:00
Michael Gernoth
ffbb77466d add upsampling for mono-channels
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@839 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 17:03:08 +00:00
Michael Gernoth
da1244ef76 warn that volume changes are not supported with this output
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@837 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 12:29:19 +00:00
Michael Gernoth
653ae4e33f indent fixes
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@836 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 12:16:22 +00:00
Michael Gernoth
db950b359a #define size of resampling buffer
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@835 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 12:09:20 +00:00
Michael Gernoth
d6a76fe8bc add initial support for multiple windows samplerates
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@834 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 04:25:12 +00:00
Michael Gernoth
0c659ecd83 basic libao output-driver. works on Mac OSX.
no volume control possible


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@832 423420c4-83ab-492f-b58f-81f9feb106b5
2005-03-08 03:33:36 +00:00