Commit Graph

249 Commits

Author SHA1 Message Date
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