Commit Graph

6384 Commits

Author SHA1 Message Date
ejurgensen efab75f3d4 [cache] Logging modifications 2024-01-30 22:40:05 +01:00
ejurgensen 5edecdff32 [cache] Multitreaded header encoding 2024-01-28 09:18:42 +01:00
ejurgensen 25a23a5253 Revert "[cache] Associate a mutex with the database connection"
This reverts commit fe13f926bc.
2024-01-27 22:49:20 +01:00
ejurgensen fe13f926bc [cache] Associate a mutex with the database connection 2024-01-26 23:32:10 +01:00
ejurgensen 0ddc2d0281 [cache] Fix algo that updates list of files for xcode header generation 2024-01-18 23:14:58 +01:00
ejurgensen 1c78c65b37 [httpd/cache] Misc fixing up 2024-01-14 21:50:17 +01:00
ejurgensen 8386ce3dff [cache] Prevent parallel prepare header jobs 2024-01-12 22:15:05 +01:00
ejurgensen 005a5c3a11 [cache] Try to fix cache thread blocking the rest of the server 2024-01-12 18:00:48 +01:00
ejurgensen 8131c414c2 [cache] Lower thread prio so header generation doesn't make server unavailable 2024-01-11 22:40:32 +01:00
ejurgensen 0072795cbe [httpd] Check speaker settings to determine DAAP/RSP stream format 2024-01-10 22:37:04 +01:00
ejurgensen 6a9d5d7658 [misc/player] Introduce output ability to announce supported formats
Also introduce default output format and selected device format, should the
user want another format.

As part of this, change enum player_format in player.h to enum media_format in
misc.h so that it is akin to struct media_quality.

Modify json API to support this.
2024-01-07 23:52:17 +01:00
ejurgensen 61f95cd3a1 [player/jsonapi/db] Add interface to get and set an output format 2024-01-07 00:24:28 +01:00
ejurgensen bff14d70a9 [cache/config] Refactor cache so daap/artwork/xcode is cached in separate db's
Also change config so that the user can just configure a data directory instead
of complete path to each database.
2024-01-06 23:58:18 +01:00
ejurgensen e111649349 [cache] Add support for storing MP4 headers 2024-01-01 23:42:40 +01:00
ejurgensen 24def904ab [xcode] Change the signature of transcode_setup/transcode_en/decode_setup()
Should make it easier to add/remove parameters without changing all calls to the
functions throughout the code.

Also adds an interface through which to call make_mp4_header().
2024-01-01 23:42:40 +01:00
ejurgensen 8b9a0559ed [misc] Move endianess utils from rtp_common.h to misc.h
So that transcode.c can also use them.
2024-01-01 23:26:16 +01:00
ejurgensen f80fec53f8 [xcode] Do without _GNU_SOURCE, MacOS doesn't like it 2024-01-01 23:26:16 +01:00
ejurgensen 69c67afc53 [xcode] Support for ALAC encoded RSP/DAAP streaming
Also changes WAV encoding to use source quality instead of fixed 44100/16/2.
Sets the default to WAV, since it has the best quality, and doesn't have the
delay that creating an MP4 container for ALAC currently has (TODO prepare
the headers to avoid the delay).

Ref issue #1182 and #1665
2024-01-01 23:26:16 +01:00
ejurgensen b6ad73e1fa [xcode] Go back to wav as default format for RSP/DAAP transcoding
But add "prefer_format" config option for mp3, incl. a check for an encoder.
The config option is currently not added to owntone.conf.in, so is undocumented
until decided what to do about possible alac support.
2024-01-01 23:22:30 +01:00
ejurgensen 2871a03aa8 [spotify] Fixup commit 182255c 2024-01-01 17:34:07 +01:00
ejurgensen 61bae6367d [spotify/rtp] Remove some unused functions
Closes #1705
2024-01-01 16:37:15 +01:00
ejurgensen 182255cac8 [spotify] Fix double free on logout or exit
Fixes #1706
2024-01-01 16:33:12 +01:00
github-actions[bot] 0b46ac53ed [web] Rebuild web interface 2023-12-31 13:16:45 +00:00
Alain Nussbaumer ac2adac8ab [web] Correct Chinese punctuation 2023-12-31 14:16:17 +01:00
github-actions[bot] d6f6508638 [web] Rebuild web interface 2023-12-31 12:32:57 +00:00
Alain Nussbaumer 7119d95713 [web] Bring more consistency in the settings page 2023-12-31 13:32:17 +01:00
github-actions[bot] 1e5af30519 [web] Rebuild web interface 2023-12-31 12:26:18 +00:00
Alain Nussbaumer 864f28de9a [web] Use OwnTone colours 2023-12-31 13:25:44 +01:00
Alain Nussbaumer ec289a8b1d [web] Remove unused translations 2023-12-31 13:24:24 +01:00
Alain Nussbaumer 69f4af5df6 [web] Remove unused API method 2023-12-31 12:56:26 +01:00
Alain Nussbaumer 1c7a4b2a4d [web] Update to newer versions of libraries 2023-12-31 12:54:57 +01:00
ejurgensen e03120c944 [web] Fix possible invalid read during shutdown
The player may emit a listener event when shutting down, and since websockets
didn't remove it's listener callback it would receive an event despite being
deinitialized. This would lead to an invalid read by lws_cancel_service in
listener_cb().
2023-12-29 17:34:48 +01:00
ejurgensen c28d108b96 [raop] Fix crash when keys of incorrect length are used for legacy pairing
Happens if the user has paied with Airplay 2, and afterwards activates Airplay 1
for the same device, since the keys in device->auth_keys will then be incorrect
length.

Closes #1703
2023-12-28 13:54:52 +01:00
github-actions[bot] 3fe4c9f289 [web] Rebuild web interface 2023-12-27 16:26:33 +00:00
Alain Nussbaumer 54ad586941 [web] Remove useless i18n configuration 2023-12-27 17:14:10 +01:00
Alain Nussbaumer c5628adb55 [web] Upgrade libraries 2023-12-27 17:10:09 +01:00
ejurgensen 2fa80b2fd9 [spotify] Remove logging of "No spotify refresh token found"
Logged every time the web UI is used due to call to /api/spotify and during
initscan, but it isn't an error, it just means the user isn't logged in.

Fixes #1701.
2023-12-22 23:29:40 +01:00
ejurgensen 045edf7c55 [httpd] Replace syscall with gettid, syscall deprecated on MacOS 2023-12-19 22:56:58 +01:00
ejurgensen a7f44dc3e8 [jsonapi] Fix mistaken call to library_media_save
Only library modules should be calling that function
2023-12-19 21:27:31 +01:00
ejurgensen f430b71645 [jsonapi] Include info about tracks added to queue (closes issue #1564) 2023-12-17 23:42:57 +01:00
ejurgensen 5ea49c94de [library/db/jsonapi] Refactor adding items to queue via JSON API v2 2023-12-17 23:42:57 +01:00
ejurgensen 1ea90b9445 [library/db/jsonapi] Refactor adding items to queue via JSON API
Reduce code duplication and move database specific stuff from httpd_json.c
to db.c.
2023-12-17 23:42:57 +01:00
ejurgensen cbfce63f4d [db] Use songalbumid's that are distinct for data_kind
Means the same album won't contain both e.g. Spotify and local tracks, they
will instead be shown as two albums.

Ref issue #1650
2023-12-17 21:12:31 +01:00
github-actions[bot] 37c10cbb10 [web] Rebuild web interface 2023-12-17 17:39:59 +00:00
Alain Nussbaumer 9dc3918914 [web] Use newer versions of libraries 2023-12-17 18:38:55 +01:00
Alain Nussbaumer 04feda45c9 [web] Add filter for Spotify content on "Artist Tracks" and "Artist Album" pages. Partially answer #1650 2023-12-17 18:37:35 +01:00
ejurgensen f657780a42 [scan] Fix issue where albums get split
Regression from PR #1655. This reverts the metadata search to the method used
before the PR, so that search is done in the order set by the metadata maps.

This means the songalbumid is set by the tag with the highest precedence, not
just the first one found.

Closes #1696
2023-12-16 00:11:54 +01:00
Alain Nussbaumer 2d33dea6d3 [web] Use newer versions of libraries 2023-12-15 17:53:42 +01:00
Alain Nussbaumer 955b9658e9 [web] Fix the example command to run the local server instance 2023-12-15 17:53:17 +01:00
Alain Nussbaumer abbd02e925 [web] Revert back to having one chunk of JavaScript for the web interface 2023-12-15 17:28:33 +01:00