Commit Graph

5321 Commits

Author SHA1 Message Date
ejurgensen
57ff2e3124 [raop] Fix bug where we send start packets during teardown
The teardown send function was setting state to CONNECTED, which made
raop_write() believe that the device had just joined.
2020-05-03 00:00:26 +02:00
ejurgensen
661289990c [player] Migrate a lot of speaker handling to outputs.c
Moves speaker selection, volume handling and startup to outputs.c, plus adds
the ability to "resurrect" a speaker that disconnects.

The purpose of moving the code is to concentrate device handling in one place.

Also changes how we deal with speaker selection. The player will now generally
not alter a user selection, even if the device fails. The purpose of this is to
maintain selection both if the device briefly fails, and if the user switches
off the device (we stop playback) and later turns it on + starts new playback.
2020-05-03 00:00:18 +02:00
chme
4188a54e37 [web-src] Fix missing scrollbars in navbar menus 2020-05-02 08:15:03 +02:00
ejurgensen
d0738aabae Merge branch 'artwork_mediakind1' 2020-05-02 00:53:53 +02:00
ejurgensen
0e19102efd [artwork] Define MEDIA_KIND_ALL as USHRT_MAX instead of individual num values 2020-05-02 00:52:52 +02:00
ejurgensen
37b4188c3c [artwork] Generalize handler configuration of supported media_kinds 2020-05-02 00:52:52 +02:00
ejurgensen
9d1f15d3c2 [db] Define MEDIA_KIND_ALL 2020-05-02 00:52:52 +02:00
chme
c8a5826e0b [web-src] Only show Spotify as artwork source if user is logged in 2020-05-01 10:21:20 +02:00
chme
f4539cac20 [web-src] Fix wrong sizing of cover artwork on iOS 2020-05-01 10:21:20 +02:00
whatdoineed2do/Ray
329c0620fc [artwork] query playlist-wide artwork if availble 2020-04-30 20:28:36 +02:00
whatdoineed2do/Ray
5a872dc436 [library] rss pulls channel->image->url if available 2020-04-30 20:28:36 +02:00
whatdoineed2do/Ray
e7c62086a2 [db] add artwork_url to playlist_info 2020-04-30 20:28:36 +02:00
whatdoineed2do/Ray
9a0c7e9ad2 [db] v21.4 - add playlist..artwork_url column 2020-04-30 20:28:36 +02:00
ejurgensen
d84ea2008f [pipe] Increase metadata pipe max read size + don't abort if exceeded
Closes #976
2020-04-29 23:02:05 +02:00
ejurgensen
a14a8458aa [scan] Remove iTunes_CDDB_IDs as album ID (closes #972)
Seems this ID is not reliable, it can be semi-empty, e.g. with a value of '16++'
2020-04-29 20:57:13 +02:00
ejurgensen
489b90e067 [rsp] Add comments with RSP sample requests 2020-04-29 20:55:46 +02:00
ejurgensen
827d7c5d41
Merge pull request #975 from whatdoineed2do/smartpl-song_length
[smartpl] support song_length
2020-04-29 20:49:10 +02:00
whatdoineed2do/Ray
52800b419a [smartpl] support song_length 2020-04-29 11:53:29 +01:00
ejurgensen
6d9cf5c1d7 [rsp] Fix commit 24e3ac1 so it filters properly (ref issue #944) 2020-04-28 22:27:36 +02:00
ejurgensen
66154ae014 [-] Change restart limits in SystemD service file (closes #968)
Allow for more manual restarting, but still have a limit to protect against
infinite restart.
2020-04-28 21:47:02 +02:00
ejurgensen
d3fb451960 [player] Save seek position more often
Makes it possible for the user to resume playback from the correct position if
for instance the speaker disconnects -> pb_abort is called.
2020-04-27 21:29:51 +02:00
ejurgensen
153eb40b6d [db] Remove some definitions of ARTWORK_XXX
The artwork db field should only be used to save media file artwork metadata,
which mostly means whether it has embedded artwork or not. It should not be
used to save where we found artwork for the file, since that is not static.

So this commit removes for instance ARTWORK_OWN, ARTWORK_DIR etc., which we
weren't using anyway.
2020-04-25 22:07:10 +02:00
ejurgensen
daf3922650 [artwork] Remove http instance of artwork_source for embedded
Commit 8510f7e should mean that it is not required any more, since we won't be
probing http streams unless we know they have artwork.
2020-04-25 21:59:18 +02:00
chme
8510f7e5f2 [artwork] Only try embedded artwork if dbmfi has ARTWORK_EMBEDDED flag 2020-04-25 21:58:21 +02:00
ejurgensen
946853fdf4 [rss] Change feed virtual_path
Instead of /file:/https:/domain.podcast set it to /https://domain.podcast.com/xxxx
2020-04-25 21:51:00 +02:00
Christian Meffert
d300ed2a40
Merge pull request #917 from chme/web_next
Update player web interface (v0.7.0)
2020-04-25 07:42:33 +02:00
whatdoineed2do/Ray
f23ef1aa9c [library] RSS - protect against invalid pubdate 2020-04-24 19:04:45 +02:00
ejurgensen
b00e2655f0
Merge pull request #954 from chme/rss-scanner
[rss] Always use RSS feed title and author for album and artist
2020-04-24 19:02:48 +02:00
ejurgensen
7a9f66538a [raop] Extra comments + logging changes 2020-04-24 18:49:33 +02:00
ejurgensen
b78282db38 [player] Only send startup metadata once 2020-04-24 18:46:17 +02:00
ejurgensen
07972c28f7 [raop] Only send exact types of metadata requested by device
Airport Express announces md=2, meaning only progress metadata, so we shouldn't
send artwork and text metadata to it.
2020-04-24 18:46:17 +02:00
ejurgensen
4491928466 [player] Don't send metadata before the input has started
Otherwise we have a race condition between the worker and the input thread. If
the worker returns with metadata before the input thread has started reading,
then pb_session.pts will still be zero, which means metadata->pts will be zero
in finalize_cb(). That is an invalid time to give the outputs.
2020-04-24 18:46:17 +02:00
ejurgensen
e2205e2399 [raop] Fix calculation of metadata progress values 2020-04-24 18:49:03 +02:00
ejurgensen
8070c2f68c [outputs] Change rtp timespec arg to take value instead of pointer 2020-04-24 18:46:17 +02:00
ejurgensen
349b05bd4f [raop] Use progress metadata to keep ATV4/Homepod connection alive (issue #734)
Instead of using OPTIONS we use SET_PARAMETER with progress metadata to avoid
disconnects from Apple TVs, Homepods and possibly also Airport Expresses.
2020-04-24 18:46:17 +02:00
chme
9b84148e72 [htdocs] Add new "legacy" js files to Makefile 2020-04-24 06:30:27 +02:00
chme
885cdf11f1 [htdocs] Rebuild player web interface v0.7.0 2020-04-24 06:30:27 +02:00
chme
72d790aec5 [web-src] Build web interface with modern option
This results in separate js files for browsers that support ES2015
and those that do not. Should reduce file size and parsing performance
for modern browsers.
2020-04-24 06:30:27 +02:00
chme
70bb1cbc7a [web-src] Order new podcast episodes by release date 2020-04-24 06:30:27 +02:00
chme
6946c309c9 [web-src] Only show error message for api requests with valid url 2020-04-24 06:30:27 +02:00
ejurgensen
01033c0662 [cast] Fix incorrect log level 2020-04-22 00:00:09 +02:00
ejurgensen
886557f946 [cast] Better logging of app not launching 2020-04-20 21:40:39 +02:00
chme
fe0ca815a7 [web-src] Always show cover artwork in album dialog
If no artwork is available or not yet loaded, falls back to the
generated cover artwork. Avoids jumping of dialog after loading of
remote image finished.
2020-04-20 19:24:25 +02:00
chme
f2d4b88c12 [web-src] Do not rely on name of playlist for podcast deletion 2020-04-20 19:24:25 +02:00
Christian Meffert
a1cf32172a
Merge pull request #955 from chme/jsonapi-track-playlists
Add JSON API endpoint to fetch playlists for a track
2020-04-19 07:21:58 +02:00
chme
e479ef2eaa [README] Add new endpoint for tracks/id/playlists to API doc 2020-04-19 06:44:13 +02:00
chme
df0c36f4f4 [jsonapi] Add new endpoint to fetch playlists for a track
The new endpoint `api/library/track/{id}/playlists` allows to fetch all
playlists that contain the track.
2020-04-19 06:44:13 +02:00
ejurgensen
aa9a08aedb [alsa] Improvements to commit 0a08b93 2020-04-18 21:35:47 +02:00
ejurgensen
515232e7fc
Merge pull request #950 from whatdoineed2do/alsa-device-listing
[alsa] option to list alsa devices/mixers suitable for playback
2020-04-18 20:54:28 +02:00
whatdoineed2do/Ray
0a08b93c24 [alsa] list alsa devices/mixers suitable for playback 2020-04-18 11:36:41 +01:00