ejurgensen
c2b1706855
[raop] Send correct volume as keep-alive for ATV's (fix for #368 )
2017-06-26 20:11:31 +02:00
ejurgensen
f4e171db75
[raop] Save verification key to db immediately after verification
2017-06-24 23:59:02 +02:00
ejurgensen
01308f7f83
Misc fixup to keep scan-build happy
2017-06-20 22:07:49 +02:00
ejurgensen
20128e2235
[raop] Raise log level of verification setup complete message
2017-06-20 21:36:21 +02:00
ejurgensen
9369e97753
[raop] Lower log level of verification success slightly
2017-06-20 21:17:17 +02:00
ejurgensen
7626b6c535
[raop] Fix bad enum
2017-06-20 20:00:05 +02:00
ejurgensen
f63d103753
[raop] Add support for Apple TV device verification, required by tvOS 10.2 (fix for issue #377 )
...
- also change how speakers are saved/retrieved from the db
- add generic authorization methods in outputs.c and player.c
- let filescanner read *.verification files (containing PIN)
- configure options to enable and disable, since libsodium is required
2017-06-19 21:52:01 +02:00
ejurgensen
f465f6a77d
[raop] Fix possible incorrect address family in SDP
2017-05-04 19:31:26 +02:00
ejurgensen
fce68ebd1a
[raop] Add option to exclude particular devices from speaker list
2017-03-15 23:24:24 +01:00
chme
82e216c931
Add missing FALLTHROUGH comments to switch-case statements
...
This allows to suppress code analysis warnings in IDEs for missing break
statements.
2017-02-26 11:04:04 +01:00
ejurgensen
26c22144fc
[-] Misc housekeeping (minor memleaks, invalid free's)
2017-02-12 01:19:56 +01:00
ejurgensen
13e6889990
[cast] Use friendly device name from mdns announcement
2017-02-10 19:27:52 +01:00
ejurgensen
c50b038397
[misc] Move STOB and BTOS macros to misc.h
2017-01-27 22:01:24 +01:00
ejurgensen
084de7811e
[raop] Fix missing uint64 cast, which since commit fdd85cc
was giving too short song lengths
2017-01-23 23:41:10 +01:00
Scott Shambarger
bb68d59a6e
[osx] Added missing timer/clock functions, support Bonjour mDNS on OSX
...
Added configure checks needed to detect missing functions on OSX
Added compat clock functions using clock_get_time on OSX
Added compat timer functions using clock_gettime and setitimer on OSX
Added byteswap functions on OSX
2017-01-14 00:56:43 -05:00
Scott Shambarger
ce4ef0aa23
[config] Many updates to configuration and feature checks
...
- Added custom checks for libraries and pkgconfig modules that test library
presence with additional checks for use of headers and functions with
given options. Also support correct additional feature library checks
using provided flags.
- Added custom enable/disable feature macros to simplify their use.
- Use custom CFLAGS and LIBS variables for Makefiles to simplify maintenance.
- Update many feature checks from platform to function.
- Streamline many function checks.
- Correctly check gnutls, gcrypt and gpg-error libraries.
- Fix chromecast and spotify config and compile on FreeBSD
- Added inotify, signalfd and kqueue, and byte swap checks.
- Many clarifications of error messages.
- Correct json-c checks to properly use supplied CFLAGS.
- Correct many quoting inconsistencies
- Use __DATE__ in place of BUILDDATE
- Use full path for gperf and antlr3
- Remove unnecessary CFLAGS
- Added tests for pthread_setname_np parameters
- Added tests for clock_gettime and timer_settime
- Added tests for time.h
- Test if pthread, dl and rt libs are required/available.
- Updated checks for libunistring
2017-01-06 00:44:18 -08:00
chme
fdd85ccf66
[raop/dmap] Build raop metadata from queue item
2016-12-03 20:40:54 +01:00
chme
27b9ee16c9
[fifo] Try to keep in sync with airplay speakers
2016-11-20 06:55:55 +01:00
chme
fcbd88c56c
[fifo] Fix: flush must return the number of pending events
2016-11-20 06:55:55 +01:00
ejurgensen
bdd6bab982
[-] Lots of housekeeping thanks to scan-build and input from @acmay
2016-11-19 23:08:50 +01:00
chme
65732ccaf6
[outputs] New output type 'fifo'
2016-10-31 18:47:45 +01:00
ejurgensen
0c6af89807
[raop] Just remove ipv6 address if we can't connect with the one avahi gave us
2016-10-15 19:14:01 +02:00
ejurgensen
03513c56a8
[mdns] Simplify avahi implementation, e.g. drop record browser
...
- record browser and link level filtering doesn't seem required (I may regret this...)
- fix cast.c so it does not browse for ipv6 when disabled
2016-10-15 19:12:56 +02:00
ejurgensen
94e133e8dc
[raop] Temporary fix for issue #293
2016-10-09 00:42:48 +02:00
ejurgensen
9a997551a2
[pulseaudio] Remove PA_STREAM_ADJUST_LATENCY - seems we then get a better match with the requested value
2016-10-08 21:40:49 +02:00
ejurgensen
9bd2ef4f42
[pulseaudio] Misc improvements
...
- Set volume on stream startup
- Change cleanup on server exit
- README update
2016-10-07 22:35:04 +02:00
ejurgensen
8b842b18d5
[pulseaudio] Add start/stop, config latency, avoid underruns when pausing and misc
2016-10-06 23:35:09 +02:00
ejurgensen
a0dfb5c93e
[pulseaudio] Under/overrun detection + request 2 sec latency
2016-10-05 21:13:26 +02:00
ejurgensen
bc8c77c0d1
[pulseaudio] Go full async + some cleaning up
2016-10-05 08:53:14 +02:00
ejurgensen
8f6033e787
[pulseaudio] More logging
2016-10-02 18:48:00 +02:00
ejurgensen
07efdfe24e
[pulseaudio] Drop autostarting again, won't work when running as non-root
2016-09-28 21:17:34 +02:00
ejurgensen
44ad4a8848
Merge branch 'autopulse'
2016-09-26 21:32:27 +02:00
ejurgensen
ac9900ff1a
[pulseaudio] Modification of f202b5d
: Now always try to start Pulseaudio
2016-09-26 20:48:00 +02:00
Pat Coulthard
ae79800493
Add mixer_device configuration file option for ALSA
...
Support a separate mixer_device configuration file option for
advanced ALSA configurations. Previously, ALSA local output
happened to work becasue "default" is valid as both a PCM and a
mixer. Now you can separately specify the device name for PCM
output and mixer operations.
In my setup, I am using the following setup:
card = "default:CARD=NVidia"
mixer = "Front"
mixer_device = "hw:CARD=NVidia"
2016-09-25 15:52:15 -05:00
ejurgensen
f202b5d2e9
[pulseaudio] Try to spawn Pulseaudio if it doesn't by itself
...
Requiring the user to set up Pulseaudio in system mode is not optimal. This
would, however, be required especially on headless systems. This is the
sledgehammer alternative to starting Pulseaudio.
2016-09-20 22:17:29 +02:00
ejurgensen
7f0d34d4e1
[pulseaudio] Remove temp log messages
2016-08-29 21:56:05 +02:00
ejurgensen
7af9c25964
Merge branch 'pulseaudio1'
2016-08-28 22:37:41 +02:00
ejurgensen
1d862dd701
[pulseaudio] Extra state check when changing volume
2016-08-28 22:33:58 +02:00
ejurgensen
fa6c6a1832
[pulseaudio] Kill sessions if context becomes invalid
2016-08-25 22:31:25 +02:00
ejurgensen
84a5772439
[Pulseaudio] Implement flush, avoid adding known sinks and misc fixing up
2016-08-24 23:06:25 +02:00
ejurgensen
9b243f855a
[pulseaudio] Support for setting volume
2016-08-24 21:23:33 +02:00
ejurgensen
998ae31a56
[cast] Fixup switched format strings
2016-08-22 21:22:47 +02:00
ejurgensen
202d9b951e
[cast] Use proper print formats for size_t
2016-08-22 21:18:24 +02:00
ejurgensen
da8fa6a686
[cast] Just run empty callback on last request to time out. Running more is unsafe since the first is likely to free the session.
2016-08-13 23:33:06 +02:00
ejurgensen
61457f2a09
[cast] Change how we read from TLS and fix bug due to masking of negative enum, ref issue #270 and #275
...
(should have been two commits...)
2016-08-13 23:31:41 +02:00
ejurgensen
8a9d8c31da
[alsa] Remove risky negative enum (risky when AND'ing with ALSA_F_STARTED)
2016-08-13 17:08:14 +02:00
ejurgensen
cbc3323111
[cast] Try to fix issue #270 by making a GET_STATUS if the normal reply to a LAUNCH does not arrive
2016-08-01 09:05:09 +02:00
ejurgensen
306dd47f1e
[cast] Fix for issue #275 where gnutls returns the 4 byte prefix of
...
a Chromecast response together with the response message itself
2016-08-01 00:12:08 +02:00
ejurgensen
187ed6c1f7
[cast] Log raw replies when in DEBUG_CONNECTION mode
2016-07-31 23:36:27 +02:00
ejurgensen
db6823d676
[pulseaudio] Support for adding/removing sinks
2016-07-30 00:05:32 +02:00
ejurgensen
4399466f21
[pulseaudio] Friendly naming of sinks in speaker list
2016-07-21 23:15:06 +02:00
ejurgensen
eb40415348
[pulseaudio] A bit of renaming
2016-07-21 22:31:39 +02:00
ejurgensen
5b67f84855
[pulseaudio] First draft
2016-07-21 22:13:32 +02:00
ejurgensen
ad01d65047
[alsa] Let the user configure an offset to sync audio if required
2016-04-14 09:48:48 +02:00
ejurgensen
e23fed4ac4
[alsa] Avoid call to snd_pcm_prepare if already in the right state
2016-04-14 09:48:48 +02:00
ejurgensen
19181007f4
[alsa] Increase max latency variance
...
Latency on the RPi varies quite a bit
2016-04-14 09:48:48 +02:00
ejurgensen
632bfd9a33
[alsa] Add low-tech sync with the player (and AirPlay)
2016-04-14 09:48:48 +02:00
ejurgensen
eca41e306e
[alsa] Try to measure latency
2016-04-14 09:48:48 +02:00
ejurgensen
084a86597b
[laudio] Remove OSS4 support and move dummy output to outputs interface
2016-04-14 09:48:48 +02:00
ejurgensen
1a5e1da9ae
[alsa] Fixup of volume return values
2016-04-14 09:48:47 +02:00
ejurgensen
c5bb83480d
[alsa] Add rewritten ALSA to generic outputs interface
2016-04-14 09:48:47 +02:00
ejurgensen
f1fb86e7e1
[raop] Stop writing when a teardown has been requested
2016-04-14 09:48:47 +02:00
ejurgensen
36755031cb
[outputs] Make a wrapper for mp3 streaming so it can be included in
...
the generic outputs interface and so special handling in player.c can
be removed
2016-04-14 09:48:47 +02:00
ejurgensen
36a9ed8fe8
[raop] Omit timing request source address check
...
Creates a problem with ipv6 where the timer request source address may
differ from the address that mdns gave us when we created the seesion.
See https://github.com/mikebrady/shairport-sync/issues/254
2016-03-29 19:36:40 +02:00
ejurgensen
598ae1bd71
[chromecast] json-c < 0.11 compability
2016-03-06 21:33:49 +01:00
ejurgensen
29dbc6bd9d
[chromecast] Don't set cert file, doesn't seem very portable
2016-02-12 22:04:07 +01:00
ejurgensen
00d4148a90
[raop] Move RAOP specific states away from the generic output state enum
2016-02-12 21:59:26 +01:00
ejurgensen
48592406ed
[chromecast] Fix probe segfault
2016-02-12 21:26:06 +01:00
ejurgensen
565d29529a
[chromecast] Remove log message
2016-02-11 22:54:47 +01:00
ejurgensen
441f36a58b
[chromecast] Fix segfault when cleaning up after missing reply
2016-02-11 20:04:30 +01:00
ejurgensen
93ea34796a
[chromecast] Fix typo
2016-02-11 20:04:30 +01:00
ejurgensen
23db4c3f4e
[chromecast] Support protobuf v1
2016-02-11 20:04:30 +01:00
ejurgensen
dcdefea721
[chromecast] Don't let a reply timeout crash the callbacks
2016-02-11 20:04:30 +01:00
ejurgensen
f4719e8681
[chromecast] Add a reply timeout so we don't freeze if a response goes missing
2016-02-11 20:04:30 +01:00
ejurgensen
483a428bae
[chromecast] Try to improve session handling + actually remove device on mdns cb
2016-02-11 20:04:29 +01:00
ejurgensen
e4d209f8a0
[chromecast] Support for most basic functionality
2016-02-11 20:04:29 +01:00
ejurgensen
7d6c670fee
[chromecast] Fix host address, some more commands, add flush timer
2016-02-11 20:04:29 +01:00
ejurgensen
5049426573
[raop] Protect against possible invalid reads in for loops
2016-02-11 20:04:29 +01:00
ejurgensen
ebf2d7722e
[chromecast] Fixup cb register error + use actual hostname
2016-02-11 20:04:29 +01:00
ejurgensen
5e239cfbb2
[chromecast] Volume support and fix double free
2016-02-11 20:04:29 +01:00
ejurgensen
153ed98dba
[chromecast] Begin adding actual Chromecast support (basic playback)
2016-02-11 20:04:29 +01:00
ejurgensen
233fa24ffd
[raop] Fix possibly old "read after free" bug
2016-02-11 20:04:29 +01:00
ejurgensen
ffe8653d9e
[chromecast] Remove RAOP specifics from player.c, add generic output interface
2016-02-11 20:04:29 +01:00