Mike Brady
83c0405d03
Add automatic bit depth and speed selection for alsa devices. Set rate and format to "auto" by default. Always look for the greatest bit depth, but the lowest multiple of 44,100.
...
Improve support for big-endian CPUs by adding support for explicit -endian formats, i.e. S16_LE, S16_BE, S24_LE, S24_BE, S32_LE, S32_BE.
For the "disable_standby_mode" setting, change "while_active" to "auto".
2019-05-07 10:19:04 +01:00
Mike Brady
8cabb16f25
Initial very rough attempt at a jackaudio backend.
2018-08-31 12:39:18 +01:00
Mike Brady
76c5dd9285
Stop using SIGUSR1 for cancelling threads, use pthread_cancel and friends instead, fix some memory leaks, add accurate ouput rate calculation to statistics, add "quit" verb to MPRIS and native d-bus interfaces. Probably still buggy.
2018-07-30 10:07:11 +01:00
Mike Brady
ea20840d6c
Make the play function return a status (ignored for the present). Clean up audio_alsa by removing all the die calls and placing the alsa_mutex calls in pthread cleanup routines.
2018-07-29 13:45:42 +01:00
Mike Brady
8a5a29e2c2
Move to using pthread_cancel in place of pthread_kill -- due to a problem in CYGWIN, but the move makes the code simpler and more rugged. Tidy up the code a bit and remove a clobbering warning.
2018-05-17 10:29:59 +01:00
Mike Brady
9aa920ab81
Fix a benign type definition mismatch
2018-05-16 18:32:17 +01:00
Mike Brady
0cd8a2ce90
Remove more causes of warnings at -Wextra levels
2018-03-07 22:05:11 +00:00
Mike Brady
f8518af7e0
Remove some more causes of warnings.
2018-03-07 19:22:18 +00:00
Mike Brady
e513e5330c
Tidy up source using clang-format
2017-07-31 11:57:57 +02:00
Mike Brady
b7864b4ecf
Move common audio backend settings like buffer size and offsets to the "general" settings stanza. Improve the resync code a little.
2017-07-21 12:29:03 +02:00
Mike Brady
d428585715
Add code to read audio_backend_silent_lead_in_time settings.
2017-07-06 19:13:10 +01:00
Mike Brady
0ad34287c3
Stop the "ao", "pulse" and "sndio" backends from complaining about the new output rate and format information.
2017-03-13 19:10:08 +00:00
Mike Brady
cf29625d2c
Clang Format
2017-02-11 12:12:07 +00:00
Mike Brady
5f61e30510
Recognise and use deprecated settings and issue warnings.
2017-01-30 18:23:49 +00:00
Mike Brady
064bd293c5
Tidy up with a clang-format
2016-09-11 10:35:53 +01:00
Mike Brady
4b5dba7381
Fix small bug introduced moving over to time-based settings
2016-09-05 15:23:31 +01:00
Mike Brady
ae84366e8d
Change over to times as opposed to frames for setting timing options
2016-09-04 19:37:22 +01:00
Mike Brady
01e5128507
Add ability to set output format and output rate
2016-08-19 12:51:15 +01:00
Mike Brady
d546f4bbdb
Correct option tag in the ao subsystem to read audio_backend_buffer_desired_length rather than audio_backend_buffer_desired_length_software
2015-12-30 10:11:20 +00:00
Mike Brady
4c70223f5a
Work in progress, doesn't compile
2015-11-05 18:03:58 +00:00
Mike Brady
026b970680
Add latency and buffer length options for libao
2015-10-31 13:51:08 +00:00
Mke Brady
87a0475c16
Reformat using clang-format.
2015-06-01 23:16:50 +01:00
Mke Brady
54250f7552
Simplify init function, add defaults for latency offset and buffer size. Remove redundant timer stuff from audio_dummy.c.
2015-06-01 21:38:56 +01:00
Mike Brady
df7a046b63
Pass in libconfig info during init.
2015-05-04 17:16:53 +01:00
Mike Brady
a2790fc102
Improve metadata output -- maybe it works reliably now. Add call to get audio parameters from back ends, to be able to give volume metadata.
2015-03-16 11:11:54 +00:00
Mike Brady
afe41c428d
add null placeholders for flush and delay
2014-04-30 20:32:29 +01:00
James Laird
984909668d
audio_ao, audio_pulse: make usage indent consistent
2013-06-20 18:30:42 +10:00
James Laird
706e4d6518
ao, shairport: fix option parsing
...
- don't push unrecognised args to the audio driver
- get ao to parse from first argument
- ao checks for unrecognised options
2013-06-19 13:56:11 +10:00
Paul Lietar
e301306a35
Fix libao output driver.
...
The driver id returned by libao wasn't checked correctly.
When the driver did not exist, libao returns a negative number. The
libao output driver checked for a non zero id.
This caused shairport to refuse to use the first driver, and not fail
when using a non-existant driver.
2013-06-09 20:32:29 +02:00
James Laird
8259ae60e8
die/warn functions now have implicit newline at the end
2013-06-04 00:30:17 +10:00
MaZderMind
44a25abaf8
change getopt return from char to int
2013-04-02 22:55:08 +02:00
James Laird
9b9899b843
ao: actually use the options we collect
2013-04-02 08:45:32 +11:00
James Laird
31d2570f3d
ao: shutdown properly
2013-04-01 23:17:15 +11:00
James Laird
cf8401dbc8
Add copyright notices.
2013-04-01 21:57:11 +11:00
James Laird
efe7d2c63c
ao: add option parsing
2013-04-01 21:44:30 +11:00
James Laird
9b33878c59
audio: output selection functionality
2013-04-01 21:43:24 +11:00
James Laird
a2fb5d219d
Refactor and rewrite.
...
Perl script is removed in favour of C. Stale documentation and initfiles
are removed for now also.
C interface works, but still needs work (for example, mDNS is missing) -
see TODO.
2013-04-01 18:57:08 +11:00