ejurgensen
4d0c297901
[evhtr] Consolidate pool threading in evthr.c
...
Also reinstate check for server already running
2023-03-07 21:01:10 +01:00
ejurgensen
bd6f38282c
[httpd] Main commit that adds multithreading to httpd
...
Also refactor streaming implementation to make it more like an output and to
let the design support multithreading.
2023-03-07 21:01:10 +01:00
ejurgensen
50a319df2b
[httpd] Try doing request handling in worker thread
2023-03-07 21:01:10 +01:00
ejurgensen
4736e10d11
[worker] Remove some unused includes
2023-03-07 21:01:10 +01:00
ejurgensen
3377faffb8
[worker] Switch worker to use evthr threadpool
2023-03-07 21:01:10 +01:00
ejurgensen
68d66c3229
[httpd] Drop libevhtp backend
...
Despite that it seemingly supports multithreading it picks threads that are
busy, and not sure how that can be prevented. Also libevhtp is currently
unmaintained.
2023-03-07 21:01:10 +01:00
ejurgensen
74f1b93b42
[httpd] Make http modules agnostic to evhttp
2023-03-07 21:01:10 +01:00
ejurgensen
4ae73fa9b4
[httpd] Move internal declarations to httpd_internal.h
2023-03-07 21:01:10 +01:00
ejurgensen
2778088c52
[httpd] Refactor to use modules for daap, dacp, json api etc.
...
Removes a lot of code duplication which hopefully will make it easier to add
support for evhtp as http engine.
2023-03-07 21:01:10 +01:00
ejurgensen
83b8a4eb3f
[http] Use curl for URL parsing instead of depending on httpd
...
Makes it easier to make the httpd parsing internal.
2023-03-07 21:01:10 +01:00
ejurgensen
2e31a3d4f3
[misc] 'unsigned short' instead of 'short unsigned' as arg to net_evhttp_bind()
2023-03-07 21:01:10 +01:00
ejurgensen
316d932d99
[dmap] Move dmap_send_error() to dacp_send_error()
...
Means dmap_common doesn't need a dependency to httpd and http replying is kept
within httpd_xxx modules.
2023-03-07 21:01:10 +01:00
ejurgensen
631996f133
[mpd] Decouple mpd and httpd
...
mpd is based on evhttp, so if httpd should use another backend they need to be
decoupled. No need to use httpd_send_reply/error, since CORS headers are not
relevant to MPD artwork serving.
2023-03-07 21:01:10 +01:00
ejurgensen
23979d223c
[httpd] Refactor http handlers so they are initialized centrally
...
Means regex.h doesn't need to be in httpd.h making it easier to e.g. experiment
with evhtp.
2023-03-07 21:01:10 +01:00
ejurgensen
5f342ea60b
[httpd/artwork] Drop support for libevent <2.1.4
2023-03-07 21:01:10 +01:00
Diederik de Haas
d38b07bbad
Stop ignoring changes to debian dir
...
This project has no `debian` directory (anymore?), so there's no need to
ignore what happens there.
Removing it would also make packaging for Debian (based) distros easier.
2023-03-05 20:46:34 +01:00
ejurgensen
f9c50b80fc
Bump version to 28.6
2023-03-02 23:25:23 +01:00
ejurgensen
e02d891130
ChangeLog for OwnTone 28.6
2023-03-02 23:23:26 +01:00
ejurgensen
6ade24c935
[xcode] Support for user-configured ffmpeg filters
...
Closes #1583 and #290
2023-02-25 16:48:17 +01:00
ejurgensen
2272f99599
[artwork] Fix for --disable-spotify broken in commit c8e46aa
2023-02-06 22:59:27 +01:00
ejurgensen
070cf6a5fc
[spotify] Some cleanup of webapi client
2023-02-06 22:38:44 +01:00
ejurgensen
eee011180f
[spotify] Make web api client thread safe
...
Protect http_session with a lock and don't use mutating globals in utility
functions where it is less clear if they are protected.
2023-02-06 22:38:44 +01:00
ejurgensen
c8e46aad42
[artwork] Make Spotify online artwork getter thread safe
...
By making the global struct online_source's read-only. Before, the Spotify
handler was modifying auth_secret in a non-thread safe way.
2023-02-06 22:38:44 +01:00
whatdoineed2do/Ray
cc3cceaa99
[web-src] remove absolute paths in index.html and force vite generation to allow reverse proxy from an subpath
2023-02-05 17:16:07 +01:00
ejurgensen
8b6336b91d
[xcode] Protect against memleak if future ffmpeg doesn't free options
...
Can happen if ffmpeg doesn't recognize all the options
2023-02-05 17:14:17 +01:00
ejurgensen
aa2512837e
Merge pull request #1574 from LordMyschkin/german
...
[web-ui] Minor improvements to german translation
2023-01-24 13:31:23 -08:00
lordmyschkin
6ac88d677b
minor improvments to german translation
2023-01-23 18:58:42 +01:00
Alain Nussbaumer
879feab518
[web] Fix for error messages not displaying #1500
2023-01-23 04:37:43 -08:00
ejurgensen
40ac39b6df
Merge pull request #1572 from whatdoineed2do/web-directory-fix
...
[web] directory modal handling fix
2023-01-23 04:35:00 -08:00
whatdoineed2do/Ray
dd1b39b347
[web] directory modal handling fix
2023-01-21 21:46:14 +00:00
LordMyschkin
4f848948e7
[web] German translation
...
German translation
Co-authored-by: lordmyschkin <martin@dieroths.at>
2023-01-21 16:50:06 +01:00
ejurgensen
0d15e2a34d
[docs] Fix typo in json-api.md
2023-01-10 16:55:18 +01:00
ejurgensen
dbbe0a519d
[docs] Update installation.md, new OpenWrt instructions
2023-01-06 11:42:07 -08:00
ejurgensen
e18ef0edd9
[docs] Update installation.md, OwnTone broken in OpenWrt 22.03.2
2023-01-01 19:02:30 +01:00
ejurgensen
af07f9eeb4
[scan] Changes to commit 9a3cb3b7
...
* 'split_genre' -> 'only_first_genre' + changed description
* fix memleak on multiple genre tags
2022-12-29 20:07:30 +01:00
whatdoineed2do/Ray
0c43de9735
[scan] option to use first genre on multi token genres
...
multiple genres are either supported by format (see flac/orbis) or are
handled by convention (see mp3) - ffmpeg presents either case as a
single string, seperated by ';' (ie "Pop;Rock")
Currently the server/db does not support multiple genres and will store
the ffmpeg string as-is which is unlikely the user intention.
Introduce 'split_genre' to take the first genre token
2022-12-29 20:07:30 +01:00
ejurgensen
46f87720fb
[docs] Add JSON API documentation of api/library/add
...
Closes #1561
2022-12-28 12:31:38 +01:00
ejurgensen
c23c2fdc45
[httpd] Addendum to commit 017e09d
: More fixing up of libevent warnings
2022-12-26 17:16:58 +01:00
ejurgensen
fc83d807e0
[docs] Note in installation.md about login requirement to get GH artifacts
...
Closes #1560
2022-12-26 10:09:11 +01:00
ejurgensen
b9b5f8b113
[cfg] Set AM_SILENT_RULES to yes
2022-12-26 10:04:07 +01:00
ejurgensen
017e09d7c3
[httpd] Fix evhttp_connection_get_peer() const char warning for newer libevent
2022-12-25 20:09:38 +01:00
ejurgensen
b70188f4b8
[spotify] Fix commit 5e7bf182
to avoid picking too large images
2022-12-21 23:29:44 +01:00
ejurgensen
5e7bf1826c
[spotify] Fix poor artwork resolution on playback from playlist start
...
Closes #1559
2022-12-21 17:39:41 +01:00
ejurgensen
82a5672d99
[docs] Fix markdown
2022-12-20 17:40:57 +01:00
ejurgensen
c8455f936a
[docs] Add building.md to mkdocs navigation
2022-12-20 17:26:36 +01:00
ejurgensen
ecc2912155
[docs] Simplify install instructions
...
Many users probably just want the simple apt approach for RPi, or alternatively
some other precomiled solution, so let installation.md focus on them and put the
build instructions in a separate building.md.
2022-12-20 17:14:12 +01:00
ejurgensen
9ca6eb906f
[docs] Fix link in README to the docs
2022-12-20 14:59:37 +01:00
ejurgensen
10a51a0af9
Merge pull request #1556 from whatdoineed2do/before-epoch-date_released
...
[db,scan,jsonapi] bug fix to handle date_released before 1970
2022-12-14 22:38:58 +01:00
whatdoineed2do/Ray
7d26c2c954
[db,scan,jsonapi] bug fix to handle date_released before 1970, storing -ve values in db
2022-12-13 17:38:07 +00:00
ejurgensen
1357fdf78e
Merge pull request #1557 from pgenera/patch-1
...
Fix typo: "runnning"
2022-12-12 22:30:51 +01:00