chiark / gitweb /
10 years agoMerge audio timing fix branch.
Richard Kettlewell [Sat, 11 Apr 2009 19:59:14 +0000 (20:59 +0100)]
Merge audio timing fix branch.

10 years agoBump up default RTP player buffer sizes. Now big enough to keep ALSA
Richard Kettlewell [Sat, 11 Apr 2009 19:53:12 +0000 (20:53 +0100)]
Bump up default RTP player buffer sizes.  Now big enough to keep ALSA
(first doubling) and ALSA's OSS emulation (second doubling) fed.  The
initial buffer size is still under half a second, and feels close to
instant to this listener.

Also, the player thread now consumes packets immediately rather than
waiting for the next iteration, preventing a race where the (inner)
playing loop at the bottom of main() can terminate unnecessarily

There's bits of debugging code left lying around commented out.  It's
harmless for now!

10 years agoLarger silent interval for pauses; spinning in sub-millisecond
Richard Kettlewell [Sat, 11 Apr 2009 19:47:50 +0000 (20:47 +0100)]
Larger silent interval for pauses; spinning in sub-millisecond
nanosleeps is a bit excessive.

10 years agoAbolish playrtp's "readahead" variable (and associated -b option).
Richard Kettlewell [Sat, 11 Apr 2009 19:13:04 +0000 (20:13 +0100)]
Abolish playrtp's "readahead" variable (and associated -b option).
There's just minbuffer and maxbuffer now.  minbuffer has the same
meaning as before but is additionally used for what readahead used to
be.  maxbuffer defaults to 2*minbuffer.

The man page mentions them, but refers you to the source code, which
now goes into more detail in comment than it did before.

playrtp also no longer adjusts the socket buffer size, accepting the
operating system's default.  Even the relatively small (~40K) Mac one
gives us a couple of dozen typical-sized packets; experimentally it's
quite enough to cope even with a 'make -j' of DisOrder running on the
same host.

10 years agoMacOS build fix
Richard Kettlewell [Sat, 11 Apr 2009 18:54:19 +0000 (19:54 +0100)]
MacOS build fix

10 years agoRewrite uaudio-schedule.c. It's now much simpler and should actually
Richard Kettlewell [Sat, 11 Apr 2009 16:56:25 +0000 (17:56 +0100)]
Rewrite uaudio-schedule.c.  It's now much simpler and should actually
get the timing right.  An hour of rtpmon is encouraging.

This change pushes responsibility for pausing out towards the APIs.

For ALSA we sleep a bit.  For OSS we close the sound device and sleep a

For RTP we just pretend to send packets; the scheduler takes care of the

For command again the scheduler takes care of the timing, though as
before we have the option of either suspending writes or sending 0s.

Scantily tested!

10 years agoCompute rate over a longer interval.
Richard Kettlewell [Sat, 11 Apr 2009 15:46:27 +0000 (16:46 +0100)]
Compute rate over a longer interval.

10 years agortpmon now reports once a second, rather than based on numbers of
Richard Kettlewell [Sat, 11 Apr 2009 09:33:13 +0000 (10:33 +0100)]
rtpmon now reports once a second, rather than based on numbers of
packets received.

10 years agoNew debugging program: rtpmon. This listens for packets the same way
Richard Kettlewell [Sat, 11 Apr 2009 09:22:37 +0000 (10:22 +0100)]
New debugging program: rtpmon.  This listens for packets the same way
disorder-playrtp does (and ought to be de-duped against it), and
periodically displays the sample rate over various intervals.

As the code stands the longest-term column is consistently showing
44105Hz, which since it's faster than the rate the sound is played at
will eventually fill up playrtp's (and the kernel's) buffers and force
packets to be dropped, affecting playback quality.

10 years agodisorder-playrtp now includes timestamps in its log output (which
Richard Kettlewell [Sun, 5 Apr 2009 15:08:28 +0000 (16:08 +0100)]
disorder-playrtp now includes timestamps in its log output (which
includes error messages); the reasoning being that timing information
may be especially useful when debugging it.

The server logs to syslog, which already has timestamps.

Other programs could easily have this feature enabled if necessary.

10 years agoREADME mentions Python 2.5 now
Richard Kettlewell [Sun, 5 Apr 2009 14:11:01 +0000 (15:11 +0100)]
README mentions Python 2.5 now

10 years agoREADME.developers now reflects uaudio
Richard Kettlewell [Sun, 5 Apr 2009 14:04:10 +0000 (15:04 +0100)]
README.developers now reflects uaudio

10 years agoupdate copyright date
Richard Kettlewell [Sun, 5 Apr 2009 11:31:13 +0000 (12:31 +0100)]
update copyright date

10 years agoPython module now supports the same authorization hash functions as C.
Richard Kettlewell [Sun, 5 Apr 2009 11:28:33 +0000 (12:28 +0100)]
Python module now supports the same authorization hash functions as C.
This means we need at least Python 2.5 (which shouldn't be a very
onerous requirement any more!)

10 years agouse explicit port number
Richard Kettlewell [Sun, 5 Apr 2009 11:07:10 +0000 (12:07 +0100)]
use explicit port number

10 years agoMerge Unicode 5.1.0 support.
Richard Kettlewell [Sun, 5 Apr 2009 10:07:31 +0000 (11:07 +0100)]
Merge Unicode 5.1.0 support.

10 years agoMention Unicode 5.1.0 in CHANGES.html.
Richard Kettlewell [Sun, 5 Apr 2009 10:07:04 +0000 (11:07 +0100)]
Mention Unicode 5.1.0 in CHANGES.html.

10 years agoDon't look up before/after code points more than once in word boundary
Richard Kettlewell [Sun, 5 Apr 2009 10:05:51 +0000 (11:05 +0100)]
Don't look up before/after code points more than once in word boundary

10 years agoRename word break property values
Richard Kettlewell [Sun, 5 Apr 2009 09:59:17 +0000 (10:59 +0100)]
Rename word break property values

10 years agoUpdate word break algorithm for Unicode 5.1.0 (based on UAX #29).
Richard Kettlewell [Sun, 5 Apr 2009 09:56:55 +0000 (10:56 +0100)]
Update word break algorithm for Unicode 5.1.0 (based on UAX #29).
We look up the word break property more than once, which is ugly, so
some further work wouldn't be out of place.

10 years agoUpdate grapheme break algorithm to Unicode 5.1.0 (based on UAX #29)
Richard Kettlewell [Sun, 5 Apr 2009 09:45:15 +0000 (10:45 +0100)]
Update grapheme break algorithm to Unicode 5.1.0 (based on UAX #29)

10 years agoUse Unicode 5.1.0 for tables and tests. Approx 200 failures currently.
Richard Kettlewell [Sun, 5 Apr 2009 09:44:49 +0000 (10:44 +0100)]
Use Unicode 5.1.0 for tables and tests.  Approx 200 failures currently.

10 years agoMissing address family member in sockaddrs.
Richard Kettlewell [Sun, 5 Apr 2009 09:28:13 +0000 (10:28 +0100)]
Missing address family member in sockaddrs.

10 years agoDiscard update-rc.d output
Richard Kettlewell [Sat, 4 Apr 2009 16:48:30 +0000 (17:48 +0100)]
Discard update-rc.d output

10 years agoOverride lintian warning about start-stop-daemon
Richard Kettlewell [Sat, 4 Apr 2009 16:47:05 +0000 (17:47 +0100)]
Override lintian warning about start-stop-daemon

10 years agoUse command instead of type, for greater portability
Richard Kettlewell [Sat, 4 Apr 2009 16:39:18 +0000 (17:39 +0100)]
Use command instead of type, for greater portability

10 years agoCorrect debian changelog name
Richard Kettlewell [Sat, 4 Apr 2009 16:35:43 +0000 (17:35 +0100)]
Correct debian changelog name

10 years agoStrip installed objects in .debs
Richard Kettlewell [Sat, 4 Apr 2009 16:33:40 +0000 (17:33 +0100)]
Strip installed objects in .debs

10 years ago.debs now have md5sums
Richard Kettlewell [Sat, 4 Apr 2009 16:27:44 +0000 (17:27 +0100)]
.debs now have md5sums

10 years agoAnother man page hyphen fix
Richard Kettlewell [Sat, 4 Apr 2009 13:24:49 +0000 (14:24 +0100)]
Another man page hyphen fix

10 years agoMan page hyphen fixes
Richard Kettlewell [Sat, 4 Apr 2009 13:22:04 +0000 (14:22 +0100)]
Man page hyphen fixes

10 years agoMerge from OS X GTK+ branch
Richard Kettlewell [Sun, 22 Mar 2009 20:38:31 +0000 (20:38 +0000)]
Merge from OS X GTK+ branch

10 years ago--with-gtk-osx option to use native GTK+ on macs
Richard Kettlewell [Sun, 22 Mar 2009 20:36:50 +0000 (20:36 +0000)]
--with-gtk-osx option to use native GTK+ on macs

10 years agoRemove obsolete alsabg.[ch]
Richard Kettlewell [Sat, 14 Mar 2009 21:21:56 +0000 (21:21 +0000)]
Remove obsolete alsabg.[ch]

10 years agoMissing doxygen @file sections
Richard Kettlewell [Sat, 14 Mar 2009 21:21:02 +0000 (21:21 +0000)]
Missing doxygen @file sections

10 years agoMore doxygen tidy-up
Richard Kettlewell [Sat, 14 Mar 2009 21:16:49 +0000 (21:16 +0000)]
More doxygen tidy-up

10 years agoA little doxygen tidy-up
Richard Kettlewell [Sat, 14 Mar 2009 20:59:50 +0000 (20:59 +0000)]
A little doxygen tidy-up

10 years agoupdate CHANGES.html
Richard Kettlewell [Sat, 14 Mar 2009 20:31:29 +0000 (20:31 +0000)]
update CHANGES.html

10 years agoMerge config aliasing bug fix.
Richard Kettlewell [Sat, 14 Mar 2009 19:03:08 +0000 (19:03 +0000)]
Merge config aliasing bug fix.

10 years agoZero out configuration strings when they are freed.
Richard Kettlewell [Sat, 14 Mar 2009 19:00:52 +0000 (19:00 +0000)]
Zero out configuration strings when they are freed.
This means that aliased configuration items aren't double-freed.

10 years agoDocument -4/-6 for listen, connect etc.
Richard Kettlewell [Sat, 14 Mar 2009 17:09:50 +0000 (17:09 +0000)]
Document -4/-6 for listen, connect etc.

10 years agoconnect uses new network address support
Richard Kettlewell [Sat, 14 Mar 2009 16:15:12 +0000 (16:15 +0000)]
connect uses new network address support

This include Disobedience.  IPv6 works at least to loopback...

10 years ago'listen' option now uses struct netaddress too.
Richard Kettlewell [Sat, 14 Mar 2009 15:48:24 +0000 (15:48 +0000)]
'listen' option now uses struct netaddress too.

If '*' is used then it will bind to the IPv6 default listen address and
then report an error trying to bind to the IPv4 address.  In fact this
is harmless as the socket will accept connections of both kinds.

10 years agoStart rationalizing network address configuration.
Richard Kettlewell [Sat, 14 Mar 2009 14:56:56 +0000 (14:56 +0000)]
Start rationalizing network address configuration.

New 'struct netaddress' has address family, address and port.  Family
can be unspecified (effectively, let the OS choose), IPv4, IPv6 or UNIX
domain sockets (though in practice the latter won't work well in most

The RTP server configuration uses this logic.

10 years agoCorrect setting of rtp-source-port.
Richard Kettlewell [Sat, 14 Mar 2009 11:41:40 +0000 (11:41 +0000)]
Correct setting of rtp-source-port.

10 years agoTests use 'api rtp' to avoid (harmless) error message
Richard Kettlewell [Sat, 14 Mar 2009 11:41:15 +0000 (11:41 +0000)]
Tests use 'api rtp' to avoid (harmless) error message

10 years agoHorrid hack to recover run-time endianness for testing.
Richard Kettlewell [Sat, 14 Mar 2009 11:33:35 +0000 (11:33 +0000)]
Horrid hack to recover run-time endianness for testing.

10 years agotracklength plugin needs -lm
Richard Kettlewell [Sat, 14 Mar 2009 10:56:02 +0000 (10:56 +0000)]
tracklength plugin needs -lm

10 years agoMerge uaudio stragglers.
Richard Kettlewell [Sat, 14 Mar 2009 10:49:33 +0000 (10:49 +0000)]
Merge uaudio stragglers.

The command backend's pause mode is now configurable, both for server
and disorder-playrtp.

10 years agoMerge from uaudio branch.
Richard Kettlewell [Sat, 14 Mar 2009 10:42:26 +0000 (10:42 +0000)]
Merge from uaudio branch.

In summary:
  - disorder-speaker now uses uaudio and should have more reliable
    gapless play
  - volume setting now uses uaudio
  - the command backend now uses the same scheduling mechanism
    as rtp, and sends silence for pauses
  - multicast API fixes
  - gcrypt API usage fixes

10 years agodisorder-speaker now correctly listens for its own 'sigpipe'
Richard Kettlewell [Sat, 14 Mar 2009 10:22:11 +0000 (10:22 +0000)]
disorder-speaker now correctly listens for its own 'sigpipe'
notifications.  This bug stopped gapless play working properly with
low-latency audio backends.

It also has much more conservative locking.

The callback now logs again when it has to play silence.

10 years agoExpose command backend pause mode to server configuration as well.
Richard Kettlewell [Sat, 14 Mar 2009 09:37:36 +0000 (09:37 +0000)]
Expose command backend pause mode to server configuration as well.

10 years agotypo fix
Richard Kettlewell [Sat, 14 Mar 2009 09:35:10 +0000 (09:35 +0000)]
typo fix

10 years agoThe command backend now supports the old (suspending) and new
Richard Kettlewell [Sat, 14 Mar 2009 09:28:20 +0000 (09:28 +0000)]
The command backend now supports the old (suspending) and new
(silence) pause behaviors via an option.  disorder-playrtp gains
--pause-mode t o set this option.

10 years agoThe command backend now sends 0s rather than suspending output when a
Richard Kettlewell [Fri, 13 Mar 2009 21:42:33 +0000 (21:42 +0000)]
The command backend now sends 0s rather than suspending output when a
pause occurs.  This saves the receiver from having to infer pauses
from flow control.  It could usefuly be made into an option.

10 years agoSplit up the multicast and unicast cases in disorder-playrtp; the
Richard Kettlewell [Fri, 13 Mar 2009 21:41:16 +0000 (21:41 +0000)]
Split up the multicast and unicast cases in disorder-playrtp; the
apparent commonalities are not enough to be worth interleaving the two

In the multicast case, bind to the multicast address explicitly,
thereby allowing multiple processes on the same host to receive the
multicast packets.

10 years agodisorder-playrtp now releases its lock around activate/deactivate
Richard Kettlewell [Fri, 13 Mar 2009 21:05:44 +0000 (21:05 +0000)]
disorder-playrtp now releases its lock around activate/deactivate
calls.  This necessary since deactivate may block if a sample
collection callback is still running (in this case it will be blocked
indefinitely).  It actually happens with the Core Audio backend but it
could apply to other APIs too.

10 years agoMerge playrtp readahead reduction
Richard Kettlewell [Fri, 13 Mar 2009 20:33:19 +0000 (20:33 +0000)]
Merge playrtp readahead reduction

10 years agoDon't activate pending track until the previous track is actually finished!
Richard Kettlewell [Wed, 11 Mar 2009 09:16:41 +0000 (09:16 +0000)]
Don't activate pending track until the previous track is actually finished!

10 years agoClean up online registration confirmation strings. Now they are
Richard Kettlewell [Tue, 10 Mar 2009 22:09:20 +0000 (22:09 +0000)]
Clean up online registration confirmation strings.  Now they are

10 years agoReduce playrtp readahead to 0.5s
Richard Kettlewell [Sun, 8 Mar 2009 17:38:33 +0000 (17:38 +0000)]
Reduce playrtp readahead to 0.5s

10 years agoMore reliable gapless play.
Richard Kettlewell [Sun, 8 Mar 2009 16:58:32 +0000 (16:58 +0000)]
More reliable gapless play.

The problem is the deactivate/activate calls, which introduce a period
of silence related to the length of time it takes the server to send
an SM_PLAY in response to SM_FINISHED.

The solution is for the speaker to lie to the server, and pretend that
tracks have finished 0.5-1s before they really have.  This requires
mild ugliness scattered through the speaker process to maintain the
illusion, but keeps ugliness out of your ears l-)

10 years agoMerge volume and build fixes
Richard Kettlewell [Sun, 8 Mar 2009 14:02:07 +0000 (14:02 +0000)]
Merge volume and build fixes

10 years agoMerge configuration fixes
Richard Kettlewell [Sun, 8 Mar 2009 14:01:44 +0000 (14:01 +0000)]
Merge configuration fixes

10 years agouaudio gains a new 'configure' method, which imposes the audio API's
Richard Kettlewell [Sun, 8 Mar 2009 13:53:24 +0000 (13:53 +0000)]
uaudio gains a new 'configure' method, which imposes the audio API's
configuration from the global (configuration.h) config.  This gets
network play working again.

There's a new configuration option, rtp_delay_threshold, which allows
the courageous to influence the internal timings of the RTP
transmitter.  The defaults seem to work however.

The reason it doesn't go directly to global config is that uaudio
needs to be usable from playrtp, which might want to be set to totally
different settings to whatever the local DisOrder server instance
happens to be.

10 years agogcrypt initialization to suppress warning message. Not really
Richard Kettlewell [Sun, 8 Mar 2009 13:34:33 +0000 (13:34 +0000)]
gcrypt initialization to suppress warning message.  Not really
anything to do with the uaudio branch as such but found here and
fixing it here will likely save a conflict when we merge.

10 years agoget-volume shouldn't corrupt the volume!
Richard Kettlewell [Sun, 8 Mar 2009 13:08:37 +0000 (13:08 +0000)]
get-volume shouldn't corrupt the volume!

10 years agoBuild fixes for FreeBSD
Richard Kettlewell [Sun, 8 Mar 2009 13:01:09 +0000 (13:01 +0000)]
Build fixes for FreeBSD

10 years agobasen() now takes uint32_t rather than unsigned long, since that's
Richard Kettlewell [Sun, 8 Mar 2009 12:03:58 +0000 (12:03 +0000)]
basen() now takes uint32_t rather than unsigned long, since that's
what it actually assumes.

New function nesab() is the reverse of basen().

10 years agoBuild fixes for uaudio ALSA/OSS backends.
Richard Kettlewell [Sun, 8 Mar 2009 11:32:33 +0000 (11:32 +0000)]
Build fixes for uaudio ALSA/OSS backends.

10 years ago'api' configuration command now uses uaudio. The list of APIs is only
Richard Kettlewell [Sun, 8 Mar 2009 11:28:22 +0000 (11:28 +0000)]
'api' configuration command now uses uaudio.  The list of APIs is only
available in server processes (since it currently drags in the API
implementations which in turn drags in external audio support
libraries, which extends the dependencies of the command-line client

disorder-speaker now uses uaudio, abolishing the various speaker-*.c
API-specific files.

uaudio now handles volume control as well as playback, abolishing
mixer.h et al.

"rtp" is the preferred name for the RTP API.  "network" is retained
for backward compatibility.

Lightly tested - works for local play on a Mac.

10 years agouaudio_apis[] is a constant
Richard Kettlewell [Tue, 3 Mar 2009 20:40:01 +0000 (20:40 +0000)]
uaudio_apis[] is a constant

10 years agoAbolish UAUDIO_DEFAULT
Richard Kettlewell [Tue, 3 Mar 2009 19:40:33 +0000 (19:40 +0000)]

10 years agoRestore uaudio_apis[], but in a separate executable to avoid everything
Richard Kettlewell [Tue, 3 Mar 2009 19:37:37 +0000 (19:37 +0000)]
Restore uaudio_apis[], but in a separate executable to avoid everything
having to be linked against audio libraries.

10 years agoAdd xcalloc_noptr(), which allows uaudio-thread.c to ask for
Richard Kettlewell [Sun, 1 Mar 2009 19:13:49 +0000 (19:13 +0000)]
Add xcalloc_noptr(), which allows uaudio-thread.c to ask for
pointerless buffers.  Also convenient for unicode.c.

10 years agoUniform audio command back end now rate limited.
Richard Kettlewell [Sun, 1 Mar 2009 19:01:36 +0000 (19:01 +0000)]
Uniform audio command back end now rate limited.
The algorithm is the same as for the RTP backend, and is therefore
split out into a separate file, uaudio-schedule.c.

10 years agoAbolish uaudio_apis[]. Instead, define UAUDIO_DEFAULT to indicate
Richard Kettlewell [Sun, 1 Mar 2009 18:07:39 +0000 (18:07 +0000)]
Abolish uaudio_apis[].  Instead, define UAUDIO_DEFAULT to indicate
default sound API.  This saves e.g. uaudio_rtp being linked into
disorder-playrtp.  It does mean that users need more knowledge of
available APIs, but since they need to know what options to set that's
not much of an extra burden.

10 years agoDocument disorder-playrtp --command in CHANGES.html
Richard Kettlewell [Sun, 1 Mar 2009 17:57:52 +0000 (17:57 +0000)]
Document disorder-playrtp --command in CHANGES.html

10 years agoMerge build fix
Richard Kettlewell [Sun, 1 Mar 2009 17:53:34 +0000 (17:53 +0000)]
Merge build fix

10 years agouaudio-rtp.c builds on Mac
Richard Kettlewell [Sun, 1 Mar 2009 17:53:14 +0000 (17:53 +0000)]
uaudio-rtp.c builds on Mac

10 years agoMerge latest work from uniform audio branch. The only functional change
Richard Kettlewell [Sun, 1 Mar 2009 17:47:14 +0000 (17:47 +0000)]
Merge latest work from uniform audio branch.  The only functional change
here is that disorder-playrtp supports playing into a command via a pipe

10 years agoSupport uniform audio command backend from disorder-playrtp. A useful
Richard Kettlewell [Sun, 1 Mar 2009 17:45:15 +0000 (17:45 +0000)]
Support uniform audio command backend from disorder-playrtp.  A useful
way to test it but potentially a useful feature too.

10 years agoCorrect command FD!
Richard Kettlewell [Sun, 1 Mar 2009 17:32:12 +0000 (17:32 +0000)]
Correct command FD!

10 years agoUniform audio version of the command backend. No attempt to rate-limit
Richard Kettlewell [Sun, 1 Mar 2009 17:10:35 +0000 (17:10 +0000)]
Uniform audio version of the command backend.  No attempt to rate-limit
here, we just send audio data at the subprocess as fast as it can accept

As tested as the RTP backend i.e. not.

10 years agoUniform audio RTP implementation. Not tested yet!
Richard Kettlewell [Sun, 1 Mar 2009 16:53:06 +0000 (16:53 +0000)]
Uniform audio RTP implementation.  Not tested yet!

10 years agoMerge from uniform audio branch. disorder-playrtp now uses the uaudio
Richard Kettlewell [Sun, 1 Mar 2009 13:09:43 +0000 (13:09 +0000)]
Merge from uniform audio branch.  disorder-playrtp now uses the uaudio
code for OSS, ALSA and Core Audio and works on Linux, FreeBSD and MacOS.
A few build and documentation fixes come along with these changes.

10 years agoMerge disorder-playrtp docs fix
Richard Kettlewell [Sun, 1 Mar 2009 12:59:42 +0000 (12:59 +0000)]
Merge disorder-playrtp docs fix

10 years agoQuieten autotools warning
Richard Kettlewell [Sun, 1 Mar 2009 12:59:02 +0000 (12:59 +0000)]
Quieten autotools warning

10 years agoImprove disorder-playrtp docs/--help
Richard Kettlewell [Sun, 1 Mar 2009 12:42:21 +0000 (12:42 +0000)]
Improve disorder-playrtp docs/--help

10 years agoFix uaudio-coreaudio.c after last change
Richard Kettlewell [Sun, 1 Mar 2009 12:09:40 +0000 (12:09 +0000)]
Fix uaudio-coreaudio.c after last change

10 years agoALSA support for uniform audio. ALSA and OSS support now shares the
Richard Kettlewell [Sun, 1 Mar 2009 12:01:34 +0000 (12:01 +0000)]
ALSA support for uniform audio.  ALSA and OSS support now shares the
threading work, which is split into a collecter and a player thread
communicating via a ring of buffers.

New uaudio_set_format() allows caller to declare what the sample format
will be, giving us flexibility to do things other than 16/44100/2
(although not tested with other formats).

Core audio uniform audio support now supports more sample formats, and
checks that the channel count and rate are right.  It doesn't
(currently) attempt to ask for different channel counts or rates.

10 years agouaudio OSS support now compiles
Richard Kettlewell [Sat, 28 Feb 2009 18:18:44 +0000 (18:18 +0000)]
uaudio OSS support now compiles

10 years agoUniform audio backend for Core Audio. There is an untested OSS one
Richard Kettlewell [Sat, 28 Feb 2009 17:50:53 +0000 (17:50 +0000)]
Uniform audio backend for Core Audio.  There is an untested OSS one
and a placeholder RTP one lurking around too.

disorder-playrtp now uses the uniform audio interface (and is
considerably simplified as a result).

10 years agoMerge more Core Audio hackery from uaudio branch.
Richard Kettlewell [Sat, 28 Feb 2009 11:03:49 +0000 (11:03 +0000)]
Merge more Core Audio hackery from uaudio branch.

10 years agoTurns out that GetMacOSStatusErrorString() and
Richard Kettlewell [Sat, 28 Feb 2009 11:03:19 +0000 (11:03 +0000)]
Turns out that GetMacOSStatusErrorString() and
GetMacOSStatusCommentString() don't produce useful answers, at least
for sound-related errors.  Users will just have to put up with numeric
error codes.

Thanks so much, Apple.

10 years agoCore Audio support should now include descriptions in error strings.
Richard Kettlewell [Sat, 28 Feb 2009 10:42:22 +0000 (10:42 +0000)]
Core Audio support should now include descriptions in error strings.
Not tested!

10 years agotypo fix
Richard Kettlewell [Sat, 28 Feb 2009 10:41:50 +0000 (10:41 +0000)]
typo fix

10 years agoRemove further databases on Debian remove/purge.
Richard Kettlewell [Sat, 28 Feb 2009 09:36:24 +0000 (09:36 +0000)]
Remove further databases on Debian remove/purge.

10 years agoMerge Core Audio fixes
Richard Kettlewell [Sun, 22 Feb 2009 14:09:22 +0000 (14:09 +0000)]
Merge Core Audio fixes

10 years agoSupport arbitrary Core Audio devices.
Richard Kettlewell [Sun, 22 Feb 2009 14:00:46 +0000 (14:00 +0000)]
Support arbitrary Core Audio devices.

New files lib/coreaudio.[ch] contain the code for looking up devices
by name or UID and is used by the server and playrtp.

Fixes issue 27.