Commit Graph

159 Commits

Author SHA1 Message Date
ejurgensen 75b8f06e25 [misc] Replace mxml with libxml2
mxml 4 is binary and source incompatible with 3, and there is no easy way to
stay compatible with both. Not great for a library. So replace with libxml2,
hopefully that is more stable. Also means we can get rid of all the mxml hacks
2024-05-31 23:47:46 +02:00
ejurgensen fbc556ed67 Bump version to 28.9 2024-01-18 18:22:47 +01:00
ejurgensen 045edf7c55 [httpd] Replace syscall with gettid, syscall deprecated on MacOS 2023-12-19 22:56:58 +01:00
ejurgensen 8796368b01 [scan] Fixup lyrics changes 2023-10-19 23:49:53 +02:00
ejurgensen 85929dcaa8 Bump version to 28.8 2023-09-05 22:55:47 +02:00
ejurgensen 4315c73775 [httpd] Fix building on FreeBSD which doesn't have SYS_gettid 2023-08-29 23:50:19 +02:00
ejurgensen 9b190dcc2e Bump version to 28.7 2023-08-28 23:20:53 +02:00
ejurgensen a2c63a5bac [httpd] Check for syscall() presence and fix small memleak 2023-03-07 21:01:10 +01:00
ejurgensen 7841e336b3 [main] Make libevent_pthreads non-optional 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 5f342ea60b [httpd/artwork] Drop support for libevent <2.1.4 2023-03-07 21:01:10 +01:00
ejurgensen f9c50b80fc Bump version to 28.6 2023-03-02 23:25:23 +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 684f55f603 [xcode] Align how ffmpeg API checks are done 2022-10-26 17:22:41 +02:00
whatdoineed2do 94c28386a6
[xcode] Use ffmpeg ch_layout instead of deprecated channel_layout/channels (#1536)
Co-authored-by: whatdoineed2do/Ray <whatdoineed2do@nospam.gmail.com>
2022-10-06 17:09:01 +02:00
ejurgensen ce5f9c1e7a Bump version to 28.5 2022-09-09 22:57:27 +02:00
ejurgensen 04236029d4 Bump version to 28.4 2022-05-30 21:52:29 +02:00
ejurgensen 0ca02687bd [spotify] Remove old libspotify integration
No longer works, libspotify has been sunset by Spotify
2022-05-25 22:49:35 +02:00
ejurgensen c90a1c17e3 [-] Fix deprecated GCRY_THREAD_OPTION_PTHREAD_IMPL and GCRYCTL_SET_THREAD_CBS
Looks like libgcrypt uses platform standard threading instead of asking caller
for a threading package/callbacks.
2022-05-08 10:04:58 +02:00
ejurgensen f36d1cce6d Put bison/flex files in parsers dir, so scan-build --exclude can be used
The autogenerated files create warnings that we can't do much about, so
exclude them.
2022-01-29 17:46:40 +01:00
ejurgensen efe5df5e12 [daap/smartpl] Add new bison/flex parsers 2022-01-29 17:46:40 +01:00
ejurgensen 3a93dc5da8 [daap/rsp/smartpl] Drop ANTLR parsers
Replacing the antlr parsers solves multiple issues:

- Build warnings (issue #307)
- Build hacks: "-Xconversiontimeout 30000" and other Makefile magic
- Incorrect parsing of daap queries with sql wildcards (like 'tag:*tes%t_ng*')
- Infinite recursion/memory/CPU (issue #570 and #1248)
- systemd service file workarounds due to memory/CPU issue
- ANTLR3 being replaced with ANTLR4 (that doesn't support C file generation)
- Runtime dependency on antlr library
- Difficult installs of ANTLR3 on some systems (special install script)
2022-01-29 17:46:40 +01:00
ejurgensen a95b226fdb Bump version to 28.3 2022-01-29 17:20:49 +01:00
ejurgensen e63aba61c5 Bump version to 28.2 2021-09-02 20:12:38 +02:00
ejurgensen 8c9a164c4a [config] Easier install by letting 'make install' add user and service files
If --enable-install-user set add owntone system user and group (unless other
user/group specified with --with-user or --with-group). The user will be added
to pulse-access if the group is present.

Don't overwrite config, it's a pita. Use same solution as shairport-sync where
distros can use --disable-install_conf_file if required.

A './configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var' will
result in service files in /etc/systemd/system, which seems sensible. Package
builds can specify other location, e.g. --with-systemdir=/lib/systemd/system,
or ship their own service file and use --disable-install-systemd.

Also added more cleanup on uninstall - before we where leaving stuff in
/var/cache/owntone + the logs + the pid files.
2021-09-02 00:21:05 +02:00
ejurgensen 6f0fef6179 [spotify] Reintroduce libspotify support, change spotifyc to librespot-c
Select use of either libspotify or librespot-c as streaming backend via config
option.

librespot-c (renamed/improved spotifyc) impl has the following:
- sync interface
- seek support
- honor bitrate config, set client and thread name
- use web access token with "streaming" scope for login
- fix issue with podcast playback

Also say goodbye to file-based Spotify login.
2021-05-31 23:24:58 +02:00
ejurgensen a67c74ba6c [spotify] Introduce own spotifyc as replacement for libspotify 2021-05-31 11:54:30 +02:00
ejurgensen a597737cad Bump version to 28.1 2021-05-21 23:45:00 +02:00
ejurgensen e837de91e8 Bump to version 28.0 2021-05-21 18:54:41 +02:00
ejurgensen a93455b5a9 [cfg] Rename configure macros FORK -> OWNTONE 2021-04-24 23:54:20 +02:00
ejurgensen f61665b81d [-] Rename source and target names from forked-daapd to owntone 2021-04-24 23:54:20 +02:00
ejurgensen 0d1e22496c Bump to version 27.4 2021-03-15 22:03:47 +01:00
ejurgensen a758be8209 Bump to version 27.3 2021-03-12 19:52:18 +01:00
ejurgensen ef0f41dc46 [airplay] Separate naming of AirPlay 1 and 2, incl log domains 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 265c1e5836 [cfg] Make libplist required (Airplay 2 requirement) 2021-01-10 14:51:16 +01:00
whatdoineed2do/Ray fc5df02d29 [configure] explictly check for 'fabs' and some other math functions to incl -lm 2020-08-22 21:25:17 +02:00
ejurgensen 2ca10d9bba Bump to version 27.2 2020-07-24 00:48:49 +02:00
ejurgensen 3e707c4060 [http] Make libcurl a hard requirement
Always using libcurl makes the code simpler, plus makes sure we always have a
https client
2020-07-16 23:30:05 +02:00
ejurgensen ce2006a31b [-] Workaround for libplist.pc missing in libplist 2.2.0 release
Closes #1038
2020-06-28 22:55:24 +02:00
ejurgensen 19358dc869 [mxml] Simplify mxml workarounds 2020-04-15 15:59:15 +02:00
ejurgensen 5ad5f85cc4 [mxml] Workaround mxmlNewTextf/mxmlSaveString segfault
Occurs on amd64 Debian 10.x with mxml 2.12
2020-04-15 15:59:15 +02:00
ejurgensen 804239841d [-] Fix copy/paste error from commit dbc798da (closes #937) 2020-04-10 20:51:00 +02:00
ejurgensen dbc798da4f [-] Workaround for mxml 2.10 memleak
2.10's mxmlDelete memleaks, and mxml is used in many parts of forked-daapd. So
to avoid that we ship upstream's fixed version of mxmlDelete and use that.
2020-04-04 21:07:16 +02:00
ejurgensen e642147f6e Bump to version 27.1 2020-01-29 12:09:19 -08:00
ejurgensen 5ac3a27276 Bump to version 27.0 2019-11-20 20:32:57 +01:00
ejurgensen 398a61d4c4
Fix libconfuse version number (fixes #760)
Credit @whatdoineed2do
2019-06-17 13:12:31 +02:00