Commit Graph

5683 Commits

Author SHA1 Message Date
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 265c1e5836 [cfg] Make libplist required (Airplay 2 requirement) 2021-01-10 14:51:16 +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
Christian Meffert 889a6f4f94
Merge pull request #1157 from ejurgensen/dependabot/npm_and_yarn/web-src/axios-0.21.1
Bump axios from 0.21.0 to 0.21.1 in /web-src
2021-01-09 11:18:03 +01:00
dependabot[bot] 56f539a89b
Bump axios from 0.21.0 to 0.21.1 in /web-src
Bumps [axios](https://github.com/axios/axios) from 0.21.0 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.0...v0.21.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-05 03:58:11 +00: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 6aaf10914c
Merge pull request #1146 from timgates42/bugfix_typo_volume
docs: fix simple typo, volumne -> volume
2020-12-10 20:45:14 +01:00
Tim Gates 83605cd172
docs: fix simple typo, volumne -> volume
There is a small typo in README_ALSA.md.

Should read `volume` rather than `volumne`.
2020-12-09 22:06:06 +11: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
Christian Meffert 234a4f5b4b
Merge pull request #1136 from johnappletree/patch-1
Update PageBrowseRecentlyAdded.vue
2020-11-28 06:51:49 +01:00
johnappletree 96c9424575
Update PageBrowseRecentlyAdded.vue
Remove the last 8 weeks as this in my case resulted in an empty list. Furthermore, increase limit to get more entries in the list.
2020-11-24 21:46:56 +01:00
ejurgensen b72fda76c8
Merge pull request #1135 from uvjustin/check-utf8-icy-metadata
Check utf-8 in metadata_packet_get
2020-11-24 10:16:35 +01:00
Justin Wong 0f5393633a Check utf-8 in metadata_packet_get 2020-11-23 23:31:00 +08:00
Christian Meffert 9bcbeb1f1a
Merge pull request #1120 from chme/mpd
MPD fixes
2020-11-22 11:41:17 +01: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
Christian Meffert 17e7df84fb
Merge pull request #1133 from chme/web_next
[web] Fix switching to Spotify search with empty query
2020-11-22 11:19:10 +01:00
Christian Meffert c155a5c533
Merge pull request #1129 from chme/remove-admin-html
Remove (legacy) admin web interface
2020-11-22 11:15:49 +01:00
chme 3fbe16ac1b [library] Directly notify listeners of db changes after adding new items 2020-11-22 11:09:31 +01:00
chme 2d9e0528e1 [docs] Update INSTALL.md - remove reference to admin.html 2020-11-22 10:27:10 +01:00
chme 95b798f44f [htdocs] Delete legacy admin web interface (all functionality is
implemented in the player web interface settings)
2020-11-22 10:27:10 +01:00
chme 13e8103962 [httpd/spotify] Remove redirect to legacy admin.html page 2020-11-22 10:27:10 +01:00
chme 09009f8d77 [htdocs] Rebuild v0.8.3 2020-11-22 10:19:15 +01:00
chme 075d8d1c22 [web-src] Update to v0.8.3 2020-11-22 10:19:00 +01:00
chme b7369afc50 [web-src] Fix switching to Spotify search with empty query 2020-11-22 10:17:37 +01:00
Christian Meffert b8a66a92cf
Merge pull request #1130 from chme/codeql
[gh-actions] Add codeql config file to exclude compiled js, html, css
2020-11-22 09:58:18 +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
ejurgensen a0830727dd
Merge pull request #1131 from whatdoineed2do/rss-playlistitems-deletion-fix
[rss] defer playlistitems purge til ready to update with new rss
2020-11-21 20:31:38 +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
chme 5bb3cb1006 [gh-actions] Add codeql config file to exclude compiled js, html, css 2020-11-21 13:04:21 +01:00
Christian Meffert f192b6dd2e
Merge pull request #1128 from chme/web_next
Player web interface v0.8.2
2020-11-21 12:04:22 +01:00
chme ba0aa969b2 [htdocs] Rebuild player web interface v0.8.2 2020-11-21 11:59:29 +01:00
chme 94bdd18648 [web-src] Fix missing cover update for streams 2020-11-21 11:59:28 +01:00