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
whatdoineed2do/Ray
5eeadd3f1b
[settings] add webinterface.recently_added_limit
2021-01-11 19:40:04 +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
f16dc204b2
[player] Logging fixup
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
9cdd2a9f8b
[db] Upgrade schema to 21.05 (change auth_keys in speaker table)
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
8b842be17f
[evrtsp] Add support for SETPEERS and GET
2021-01-10 14:45:39 +01:00
ejurgensen
4621d25aaa
[logger] Add DHEXDUMP() for logging raw data
...
Substitute for Wireshark when the data exchange is encrypted
2021-01-10 14:45:39 +01:00
Christian Meffert
724cfa0093
Merge pull request #1134 from chme/podcast-updates
...
[library] Directly notify listeners of db changes after adding new items
2021-01-09 11:21:42 +01:00
ejurgensen
506959985b
[xcode] Treat Apple Music like iTunes ( closes #1152 )
2020-12-26 12:57:43 +01:00
ejurgensen
14756c0d59
[outputs] Add nickname option for Airplay/Chromecast speakers (issue #1145 )
2020-12-15 21:45:58 +01:00
ejurgensen
76cd982201
[rtsp] Shorten evrtsp timeouts, 45-50 sec is too long
2020-12-11 17:12:31 +01:00
ejurgensen
1d5691be2f
[artwork] Refactor artwork_get() and fix issue #1139
...
artwork_get() would return error for non-file images that shouldn't be
rescaled, which was a bit weird. This makes artwork_get() more straight-
forward.
Also fix issue #1139 simply by not calling artwork_get() in cases were
queue_item->artwork_url is an old temp file (in source_item_pipe_get).
2020-11-28 21:27:58 +01:00
ejurgensen
d1a1f6c59c
[pipe] Log when artwork is written to temp file
2020-11-28 21:27:58 +01:00
whatdoineed2do/Ray
4082f9e215
[library] Add function to delete playlist by id that directly
...
invalidates the REST API client caches
2020-11-28 08:27:52 +01:00
Justin Wong
0f5393633a
Check utf-8 in metadata_packet_get
2020-11-23 23:31:00 +08:00
chme
59bac6b068
[mpd] Add missing OK response line, if multiple commands are sent
...
without beeing wrapped in a command list
2020-11-22 11:33:40 +01:00
chme
ccaa7967bf
[mpd] Fix nextsong/nextsongid in status cmd response
2020-11-22 11:33:40 +01:00
chme
3fbe16ac1b
[library] Directly notify listeners of db changes after adding new items
2020-11-22 11:09:31 +01:00
chme
13e8103962
[httpd/spotify] Remove redirect to legacy admin.html page
2020-11-22 10:27:10 +01:00
ejurgensen
b6a686866a
[xcode] Retry with default probe size if quick probe fails (issue #1126 )
2020-11-21 20:40:30 +01:00
ejurgensen
04fa902b01
[xcode] Change open_input() to return ffmpeg error
2020-11-21 20:40:30 +01:00
ejurgensen
eea3a3bd27
[xcode] Fix memleak on open input error
2020-11-21 20:40:30 +01:00
whatdoineed2do/Ray
2e69f5dac6
[rss] defer playlistitems purge til ready to update with new rss
...
Current impl fetches pl, purge pl items, fetch RSS, inserts entries. If the RSS
fetch fails (remote server is temporary unreachable) the playlistitems for that
RSS are all dropped.
This has a side effect that RSS playlists cannot be determined from tracks (see
issue #1126 ) and thus cannot be deleted.
Simple fix to defer playlist item purge to the point that the RSS fetch is ok
and before the inserts
2020-11-21 14:01:39 +00: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
ejurgensen
a9e6497be2
[cast] Increase packet buffer
2020-11-18 23:13:00 +01:00
ejurgensen
572c15a04d
[cast] Remove some unused MEDIA_xxx commands
2020-11-18 23:13:00 +01:00
ejurgensen
bb8719718a
[cast] Rename state enums, don't use MEDIA any more
2020-11-18 23:13:00 +01:00
ejurgensen
d5f5e312ab
[cast] Add config option for max_volume, like for Airplay
2020-11-18 23:13:00 +01:00
ejurgensen
c21266d26f
[cast] Use RTCP ACKs/nACKs from device to control how packets are sent
...
Previously we just sent packets when ready, which especially during startup
meant a largish number of packets got sent rapidly. This seemed to cause audio
glitches. With this change the rate is adapted to follow ACKs from the device,
which is more in line with Chromium's way, though still far from the same.
Also added capability to resend packets when a nACK is received.
Also some wip attempts at sending coverart as VP8 video.
2020-11-18 23:13:00 +01:00
ejurgensen
dff64e3dd0
[raop] Remove endian includes, now included via rtp_common.h
2020-11-18 23:13:00 +01:00
ejurgensen
06d1d7273d
[player] Add a basic RTCP parser for Chromecast packets
...
Also put the endian includes in the header, both raop.c and cast.c will need
them.
2020-11-18 23:13:00 +01:00
ejurgensen
cd9fa019dd
[misc] Add NTOSTR() macro
...
Get the string value of a number definition
2020-11-18 23:13:00 +01:00
ejurgensen
5929938a18
[outputs] RTP: Distinguish clearly between payload type and marker bit
...
Also make quality an optional input to rtp_session_new(), since it isn't
required internally by the RTP module.
2020-11-18 23:13:00 +01:00
ejurgensen
2098349fdb
[artwork] Add ability to request a specific image format
2020-11-18 23:13:00 +01:00
ejurgensen
7e106aec09
[xcode] Add VP8 encoding profile
2020-11-18 23:13:00 +01:00