258 Commits

Author SHA1 Message Date
whatdoineed2do/Ray
8f722faaf2 [outputs] new output: RCP/Roku/SoundBridge devices
Roku SoundBridge devices can be treated as dumb speakers; they offer a
texted based protocol, RCP, that allows the server to request the Roku
device to connect to the server's stream.mp3 and provides ability to
control volume

Roku devices appear as speakers automatically via mDNS announcements on
the server _roku-rcp._tcp
2022-02-05 21:59:00 +00:00
ejurgensen
2d84b0bab9 [alsa] Coverity fixups 2022-01-20 20:17:38 +01:00
ejurgensen
0fdca0587c [airplay] Coverity fixups 2022-01-20 20:17:38 +01:00
ejurgensen
5e6f19a6da [airplay] Fix reading features txt from Kodi (fixes #1381)
Adds support for "features" values that are not comma separated.
2022-01-12 20:33:07 +01:00
ejurgensen
6a0c7db50a [airplay] Disable unused ntp_to_timestamp() 2022-01-11 20:10:54 +01:00
ejurgensen
088e26c1f0 [airplay] Fix rare pairing bug due to incorrect SRP padding (ref #1280)
Update pair_ap to version 0.11, which it fixes an issue where some randomized
values of SRP "a" are short enough that they require padding.
2021-12-04 23:05:33 +01:00
ejurgensen
5e93080aa2 [airplay] Fix warning about int type seqnum 2021-10-01 16:52:47 +02:00
ejurgensen
aff8ac6a6b [raop] Fix warning about int type seqnum 2021-10-01 16:52:02 +02:00
ejurgensen
7572560bf2 [chromecast] Fix format and type errors 2021-10-01 16:44:30 +02:00
ejurgensen
f4983b8a11 [airplay] Add missing include of errno.h in the new events handling
Closes #1294
2021-08-14 21:13:50 +02:00
ejurgensen
b6835fac29
[airplay] Support for airplay events (eg Homepod controls)
Ref. issue #1181
2021-07-31 01:16:23 +02:00
ejurgensen
c96dc1fcff [dacp] Fix support for device-volume (speaker volume buttons)
Closes #613
2021-05-26 23:20:40 +02:00
ejurgensen
5de0533232 [airplay] Add mdns txt for Sonos Symfonisk 2021-05-21 18:50:28 +02:00
ejurgensen
5f1686695a [-] Name update forked-daapd -> owntone throughout the code 2021-04-24 23:54:20 +02:00
luusl
8a1f85a14e Fixed potential crash on pulseaudio sink info callback, when an error
occurs.
2021-04-12 13:11:47 +02:00
ejurgensen
c7faefe1f8 [docs] Change git links: owntone/forked-daapd -> owntone/owntone-server 2021-04-01 22:09:26 +02:00
ejurgensen
64d6b0d4c3 [raop] Fix scan-build make warning after removing switch in commit 98dad07 2021-04-01 01:21:11 +02:00
ejurgensen
ed6176062a [airplay] Logging adjustments 2021-03-31 23:55:25 +02:00
ejurgensen
e5fcfc6574 [cast] Use net_connect() instead of own cast_connect() 2021-03-31 23:55:25 +02:00
ejurgensen
98dad07b7f [airplay] Convert services to dual stack, plus use net_connect() and net_bind() 2021-03-31 23:55:25 +02:00
ejurgensen
f3febb63d9 [raop] Convert services to dual stack, plus use net_bind() and net_connect() 2021-03-31 23:55:25 +02:00
ejurgensen
dd0f0ece78 [mdns] Remove ipv4/ipv6 argument to mdns_browse
Make sure mdns_browse() always works the same, and follows user config.
2021-03-31 23:55:25 +02:00
ejurgensen
daa0652e7b [docs] Rename repo: ejurgensen -> owntone 2021-03-30 23:39:07 +02:00
ejurgensen
bbe7526414 [airplay] Update pairing modules (pair_ap 0.2) 2021-03-07 23:02:14 +01:00
ejurgensen
036100eecd [cast] Length check of protobuf messages just to be safe 2021-02-17 22:45:45 +01:00
ejurgensen
ac6d87656a [airplay] Change recommended airplay2-receiver repo 2021-01-29 20:30:22 +01:00
ejurgensen
275d66b6ad [airplay] Use compressed ALAC to save bandwidth
Uses ffmpeg to compress ALAC. Before each audio packet was always 1411 bytes,
now they are half or even much less if it is just silence.
2021-01-18 00:19:34 +01:00
ejurgensen
f105958a64 [airplay] Fix so that AirPlay 2 devices are removed 2021-01-18 00:19:34 +01:00
ejurgensen
60b096c707 [airplay] Make auth-setup easier to test via a define switch 2021-01-14 22:53:09 +01:00
ejurgensen
8b9e064af9 [raop] Lower log level 2021-01-14 22:46:20 +01:00
ejurgensen
b2b91998d9 [airplay] Fix decryption of large responses
If the response is large evrtsp will not read the entire message from the
socket. This change allows for decryption and parsing of partial messages.
2021-01-14 21:36:47 +01:00
ejurgensen
73c5dcec5a [airplay] Update pairing, change ciphering function return values 2021-01-14 21:29:22 +01:00
ejurgensen
754f69bb10 [airplay] Change logging for devices that don't have AirPlay 2 features field
Closes #1167 re announcement from Kodi
2021-01-12 17:59:43 +01:00
ejurgensen
74f4b2c8b2 [airplay] Fixup 2021-01-12 17:56:47 +01:00
ejurgensen
8f48179365 [airplay] Small update to pairing modules 2021-01-10 23:33:19 +01:00
ejurgensen
1546a43585 [airplay] Disable extended logging 2021-01-10 23:32:34 +01:00
ejurgensen
4e122303a1 [conf] Add speaker level option to disable AirPlay 1 2021-01-10 16:42:08 +01:00
ejurgensen
9805f03d10 [airplay] Update pairing, fix compiler complain about const initialization 2021-01-10 15:29:28 +01:00
ejurgensen
6b91c92bca [airplay] Remove rs->session, not used any more 2021-01-10 15:05:21 +01:00
ejurgensen
ef0f41dc46 [airplay] Separate naming of AirPlay 1 and 2, incl log domains 2021-01-10 15:05:21 +01:00
ejurgensen
ffadc399af [cfg] Add option for prefering AirPlay 2 (useful for testing) 2021-01-10 15:05:21 +01:00
ejurgensen
a5bd8b011e [cfg] libplist+libsodium now required, remove configure options
Need the two libraries for AirPlay 2, which can't be optional.

Means iTunes XML and device verification configure options are no longer
useful.
2021-01-10 15:05:21 +01:00
ejurgensen
01360fff99 [airplay] Delete auth_key on probe failure 2021-01-10 15:05:21 +01:00
ejurgensen
3ea480d1e7 [player] Use output priority to select between raop/Airplay 1 and Airplay 2 2021-01-10 15:05:21 +01:00
ejurgensen
fac97eed9c [raop] Drop handling of old auth_keys, not necessary with db schema update 2021-01-10 15:05:21 +01:00
ejurgensen
8368ca7686 [airplay] Add support for AirPlay 2
Includes
- Implementation in src/outputs/airplays2, type OUTPUT_TYPE_AIRPLAY
- Homekit pairing, both normal (with PIN) and transient
- New session startup sequence, incl GET /info, SETPEERS and 2 x SETUP
- No more OPTIONS and ANNOUNCE
- Use POST /feedback for keepalive instead of SET_PARAMETERS
- Sequence dispatching instead of callback chains
- Continue despite "Bad request" to SET_PARAMETER (volume)
- Opening of event connection to receiver (reverse rtsp connection)

Still to be done
- Password authentication
- Handling of events
2021-01-10 14:58:06 +01:00
ejurgensen
86f762bb1f [plist_wrap] Add libplist convenience wrapper 2021-01-10 14:52:31 +01:00
ejurgensen
3b00900572 [player] Add pkt->header_len in rtp_common 2021-01-10 14:51:16 +01:00
ejurgensen
14756c0d59 [outputs] Add nickname option for Airplay/Chromecast speakers (issue #1145) 2020-12-15 21:45:58 +01:00
ejurgensen
695927de2a [artwork] Remove old artwork_get_xxx in favor of new which has a format arg 2020-11-18 23:23:05 +01:00