Commit Graph

156 Commits

Author SHA1 Message Date
ejurgensen 55d9d9e6bd [xcode/artwork] Drop support for ffmpeg legacy versions 2019-04-08 22:06:56 +02:00
ejurgensen 8e474dfd7f Bump to version 26.5 2019-03-17 22:52:41 +01:00
ejurgensen d3121f4ec7 [db] Use prepared statements for file insert, update and ping
Get rid of the SQL query strings, since they are prone to errors and are
probably also slower that using prepared statements.
2018-12-31 15:55:49 +01:00
ejurgensen e9c7441241 Bump to version 26.4 2018-09-30 23:13:55 +02:00
ejurgensen d97358f612 Bump to version 26.3 2018-09-08 16:50:54 +02:00
ejurgensen f8205c0780 [config] Check for libcurl if configured with --enable-spotify
Also remove useless per-feature checks for libjson, since it has become
a required dependency.
2018-08-23 22:26:21 +02:00
ejurgensen a7a8efd34f Bump to version 26.2 2018-06-16 21:56:45 +02:00
ejurgensen cf6813f2e4 Bump to version 26.1 2018-06-09 00:23:09 +02:00
ejurgensen db6bbd76bd [config] Improve error message if no or old libwebsockets (issue #542) 2018-06-04 23:18:57 +02:00
chme f4422e9cf4 [MAKEFILE/misc] Add option to disable inclusion of default webinterface 2018-06-03 23:39:37 +03:00
ejurgensen 5e13bac867 [configure] Add option to use old ffmpeg API (issue #502)
Seems ffmpeg 3.4 has a bug in the new API that causes a crash when
avcodec_send_frame() is called. The bug is fixed in 3.4.2.

The new option --disable-modern-av-api allows for building with the
old API, i.e. no avcodec_send_frame(), even if ffmpeg support is
detected at configure time. The option may also become useful for
easier testing of legacy mode.
2018-03-04 21:55:37 +01:00
ejurgensen 0014b9001b Bump to version 26.0 2018-02-24 16:45:41 +01:00
ejurgensen b1c9518a78 [-] Make json-c a required library
Already kind of was required, as it was required by Spotify, Chromecast and the web api
2018-02-22 21:49:11 +01:00
chme e7f8b7010b [configure] Allow to build with db profiling log output
Add configure option to turn on debug logs profiling sql queries with:

./configure --enable-dbprofile
2018-01-13 10:51:41 +01:00
ejurgensen 45d193e56c [scan] Use open()/close() instead of euidaccess() to support ACL's
Fixes #474
2018-01-06 20:10:34 +01:00
ejurgensen 02e5f02e7f [configure] Fix misplaced av_* declaration checks 2017-09-17 00:34:20 +02:00
ejurgensen eec98e3b7e [main/transcode] Fix some libav compability + log what ffmpeg/libav we are using 2017-09-16 23:01:42 +02:00
ejurgensen f8c442ba38 [configure] Change so we enable/disable websockets based on libwebsockets >= 2.0.2 presence 2017-09-16 00:05:50 +02:00
chme b678542ad6 [htdocs] Add admin web interface 2017-09-15 18:49:04 +02:00
chme 75eb5420fd [httpd/websocket/conf] Initial websocket implementation
If enabled (default) requires libwebsockets >= 2.0.2, can be disabled
with configure option --disable-websocket.
2017-09-15 07:14:08 +02:00
ejurgensen 1b8adc11ed [dmap] Use a wrapper for dmap_find_field()
Avoids the need to have definition of dmap_find_field in dmap_common.h that
must be kept in sync with the definition that gperf generates.

Also should fix compilation problems when gperf is not present, ref pr #390
2017-08-25 19:27:41 +02:00
ejurgensen e489f1a6a9 [configure] Use avcodec_parameters_from_context as check for codecpar 2017-08-06 22:31:43 +02:00
Scott Shambarger 6b94a34501 [config] Added check for modern AV apis 2017-08-06 22:31:43 +02:00
ejurgensen c13ed8761a [trancode/artwork] Put back compability with older versions of ffmpeg/libav 2017-08-06 22:31:43 +02:00
ejurgensen d933e171d4 [filescanner_ffmpeg] Update to use ffmpeg's new stream->codecpar
- keep some compability with older ffmpeg/libav, but also remove some
2017-08-06 22:20:44 +02:00
ejurgensen 03ec423f83 Bump to version 25.0 2017-07-22 00:25:35 +02:00
ejurgensen f63d103753 [raop] Add support for Apple TV device verification, required by tvOS 10.2 (fix for issue #377)
- also change how speakers are saved/retrieved from the db
- add generic authorization methods in outputs.c and player.c
- let filescanner read *.verification files (containing PIN)
- configure options to enable and disable, since libsodium is required
2017-06-19 21:52:01 +02:00
Gergan Penkov 08d25154e5 fix the compilation problem because of gperf changes in 3.1 2017-05-27 12:28:00 +02:00
sshambar c54c909ae4 Added support for libav/ffmpeg dual installs (#346)
* [config] Added support for libav/ffmpeg dual installs

Reordered CPPFLAGS/LIBS so that library flags (includes etc) appear
ahead of prefix/global directives and the correct headers/libraries
are checked (if symbols are defined in alternative libraries).
Updated libav checks to use header declaration checks
rather than link checks (so differences between
libav/ffmpeg can be correctly found), and updated code references
to use new defines.  Added support the alternate pkg-config
package names for libav.  Updated ffmpeg vs libav check
to check MICRO version number (>=100 for ffmpeg).  Simplified
resulting configure script by using a function to merge
CPPFLAGS variables.

* [config] Use FORKED_OPTS prefix for libevent_pthreads option

* [config] Add --with-libav option to select libav even if ffmpeg present
2017-02-19 15:21:00 +01:00
Scott Shambarger c7855e7c55 [config] Min automake 1.11, support silent rules on automake < 1.13 2017-02-16 10:44:00 -08:00
ejurgensen bbb3322ddc [spotify] Flush audio buffer on playback stop - and since we are
flushing from another thread we use evbuffer_enable_locking() which
in turn adds a requirement for libevent_pthreads to be present
2017-01-30 22:50:02 +01:00
ejurgensen b6f969d96e [pipe/mxml] Add compability with older versions of mxml 2017-01-28 22:20:35 +01:00
Scott Shambarger bb68d59a6e [osx] Added missing timer/clock functions, support Bonjour mDNS on OSX
Added configure checks needed to detect missing functions on OSX
Added compat clock functions using clock_get_time on OSX
Added compat timer functions using clock_gettime and setitimer on OSX
Added byteswap functions on OSX
2017-01-14 00:56:43 -05:00
Scott Shambarger ba5d5f0f4a [config] Add prefix search to library tests, re-test unistring with iconv
- Updated function tests to additionally check for libraries/headers under $prefix
- libunistring test now also tests with iconv library on failure (like original)
- Reworked macros to allow nested tests even on the same library
2017-01-10 10:10:09 -08:00
Scott Shambarger 20e19d9fe9 [config] Fix check for pthread_setname_np on linux 2017-01-06 13:58:02 -08:00
Scott Shambarger c4195239d2 [config] Make macros more robust
- FORK_ macros now correctly ignore non-empty but blank default actions
- Removed test variable left in last commit
2017-01-06 12:49:57 -08:00
Scott Shambarger ce4ef0aa23 [config] Many updates to configuration and feature checks
- Added custom checks for libraries and pkgconfig modules that test library
 presence with additional checks for use of headers and functions with
 given options.  Also support correct additional feature library checks
 using provided flags.
- Added custom enable/disable feature macros to simplify their use.
- Use custom CFLAGS and LIBS variables for Makefiles to simplify maintenance.
- Update many feature checks from platform to function.
- Streamline many function checks.
- Correctly check gnutls, gcrypt and gpg-error libraries.
- Fix chromecast and spotify config and compile on FreeBSD
- Added inotify, signalfd and kqueue, and byte swap checks.
- Many clarifications of error messages.
- Correct json-c checks to properly use supplied CFLAGS.
- Correct many quoting inconsistencies
- Use __DATE__ in place of BUILDDATE
- Use full path for gperf and antlr3
- Remove unnecessary CFLAGS
- Added tests for pthread_setname_np parameters
- Added tests for clock_gettime and timer_settime
- Added tests for time.h
- Test if pthread, dl and rt libs are required/available.
- Updated checks for libunistring
2017-01-06 00:44:18 -08:00
Scott Shambarger 8ead7ea3b8 [config] configure.ac checks required features, updated porting
Added a real config.rpath
Fixed build date calc for BSD
Require some needed headers at configure time
Correctly check libav functions using pkg-config flags
Made checks for some Linux features available on other ports
Fixed porting issue with antlr dep files
Added default HOST_NAME_MAX if not defined
Added missing libav header
2016-12-29 16:14:22 -08:00
Scott Shambarger a1498fbe4f [config] Added rpm spec file
Build/dist rpm spec file, include -with/without options for all
supported features (defaults same as configure).
2016-12-27 15:57:41 -08:00
Scott Shambarger 17d3058147 [config] Build conf/service, added user/group name config
systemd service and config files populated with paths/users
Added user/group override options to configure
Added man ref in service file
2016-12-27 15:47:00 -08:00
Scott Shambarger 8b4b55b748 [config] Make gperf/antlr maintainer tools, support distcheck
Updated configure to allow gperf/antlr to be missing if products are
in distribution (allows option of building w/o those tools)
Removed circular dependency of antlr products on clean
Added missing ffmpeg-compat.h header (correct dist)
Include gperf/antlr products in dist
gperf/antlr products removed with maintainer-clean
Support vpath builds, distcheck passes
Added support for non-verbose builds
2016-12-27 15:32:08 -08:00
Scott Shambarger b9e62ce75f [config] Update configure to support autodetect of features
Updated tests for alsa, pulseaudio, libcurl and json to autodetect
when no with/without options are given (given options still enforce)
Fixed check for libprotobuf-c < 1.0.0 to actually check for it.
Fixed various quoting issues in configure
2016-12-27 15:15:04 -08:00
Scott Shambarger d7f8dea0ec [config] Modernize autotools
Updated AC_OUTPUT to use AC_CONFIG_FILES
Use PACKAGE in install path
Remove automake -Wno-portability, not needed with foreign option
Fixed typo in evrtsp.h path
Autotools commands moved to build-aux directory
Allow CFLAGS and package CFLAGS/LIBS to be updated at build time
2016-12-27 14:51:37 -08:00
ejurgensen 3921cf5732 Merge branch 'spwebapi2' 2016-11-27 22:54:06 +01:00
ejurgensen 1b6283752e Bump version to 24.2 2016-11-09 22:48:09 +01:00
ejurgensen 807951976c [configure/mdns] Register CNAME forked-daapd.local + generalize CURL detection in configure.ac 2016-11-05 13:33:30 +01:00
ejurgensen 3d6d4e8521 [config] Print build info in the log 2016-09-07 22:18:29 +02:00
ejurgensen 53e3a6a7b2 [config] Use defines in config.h instead of -D flags for the optional modules 2016-09-07 20:53:53 +02:00
ejurgensen 5722772817 [pulseaudio] Don't try to build by default - yet 2016-08-28 22:36:06 +02:00
ejurgensen 42d4e150d8 [pulseaudio] Make both ALSA and Pulseaudio default in configure.ac 2016-08-25 23:06:51 +02:00
ejurgensen f8d3ccddb2 [pulseaudio] Let configure check if Pulseaudio supports setting its thread name 2016-08-25 22:32:07 +02:00
ejurgensen 5b67f84855 [pulseaudio] First draft 2016-07-21 22:13:32 +02:00
ejurgensen 524d060b7a Bump version to 24.1 2016-05-06 19:50:14 +02:00
ejurgensen 9a56044c77 [misc] Explicitly check for pthread_setname_np/pthread_set_name_np
Seems there is no pthread_setname_np in OpenWrt
2016-05-05 19:39:15 +02:00
ejurgensen 618493c688 Bump version to 24.0 2016-05-01 23:08:12 +02:00
ejurgensen 084a86597b [laudio] Remove OSS4 support and move dummy output to outputs interface 2016-04-14 09:48:48 +02:00
ejurgensen bf27a879df [filescanner] Use libinotify for FreeBSD (should fix issue #245)
Filescanner was broken in FreeBSD. Besides fixing this, using
libinotify instead of kqueue directly should make the code easier
to maintain, since it will be less divergent.

This commit includes these changes:
- Add libinotify to FreeBSD install scripts
- Fix reading multiple events from inotify fd (possible bug in Linux too)
- Deferred scanning since FreeBSD doesn't have IN_CLOSE_WRITE
- Configure search for inotify library
- Removal of kqueue stuff
2016-04-12 22:11:56 +02:00
ejurgensen b454a2fd60 [general] Put back support for platforms without pipe2(), see issue #239 2016-03-17 22:20:16 +01:00
ejurgensen 598ae1bd71 [chromecast] json-c < 0.11 compability 2016-03-06 21:33:49 +01:00
ejurgensen a2222c8a52 [chromecast] Try json if pkg-config doesn't find json-c 2016-03-06 19:49:24 +01:00
ejurgensen 23db4c3f4e [chromecast] Support protobuf v1 2016-02-11 20:04:30 +01:00
ejurgensen 153ed98dba [chromecast] Begin adding actual Chromecast support (basic playback) 2016-02-11 20:04:29 +01:00
ejurgensen 4c887ba7bb [chromecast] First building blocks for supporting ChromeCast 2016-02-11 20:04:29 +01:00
ejurgensen 1b24a86169 [artwork] Tidy up artwork.c and handle remaining ffmpeg deprecated warning 2016-01-07 22:48:04 +01:00
ejurgensen 0d55e055c0 [ffmpeg] Update most deprecated functions 2016-01-05 23:22:01 +01:00
ejurgensen 90514de7c8 Bump to version 23.4 2016-01-01 12:18:13 +01:00
ejurgensen 1a8028600f [config] Enable MPD support by default 2015-12-28 21:41:48 +01:00
ejurgensen fc8ab41f29 [config] Add libavutil to AC_CHECK_LIB, as it may otherwise not detect av_packet_rescale_ts 2015-12-18 21:54:20 +01:00
ejurgensen 058b2fb0d6 [transcode] Improve decoding to allow for decoder special cases, like decoders not processing
entire packets, rejecting packets and not returning frames. Should fix issue with network
streams not opening.
2015-10-21 23:53:21 +02:00
ejurgensen 55104015e0 Full removal of libevent 1 legacy code. Also drop pipe() in FreeBSD, since pipe2 is available now. 2015-10-19 21:15:29 +02:00
ejurgensen 2a610812a5 Refactor transcode.c so it can actually transcode + use new capability to support mp3 streaming.
Also includes the skeleton for perhaps supporting video in the future. Adds more fine-grained
ffmpeg/libav compability checks. Dependency on libavresample/libswresample exchanged with
dependency on libavfilter, which seems more versatile.
2015-10-09 23:58:27 +02:00
ejurgensen 6606bfafed Bump to version 23.3 2015-10-03 22:20:30 +02:00
ejurgensen 7e9cf80ec0 Reorganize configure.ac according to subject (and my taste) 2015-07-21 23:00:55 +02:00
ejurgensen bf72547b9b Drop legacy FLAC, Musepack and WMA file scanners (ffmpeg/libav can do this now) 2015-07-21 22:16:50 +02:00
Erik Mackdanz 349a30cbab
Fix --disable-* 2015-07-20 18:06:03 -05:00
ejurgensen 227017ef5b Bump version to 23.2 2015-06-18 23:19:06 +02:00
ejurgensen 75ded12d7f Bump version to 23.1 2015-05-21 22:26:33 +02:00
ejurgensen 33a64a4a95 Bump version to 23.0 2015-05-02 23:36:03 +02:00
ejurgensen fa4496c729 Begin removing support for libevent 1 2015-04-24 22:11:08 +02:00
ejurgensen 76a638a277 Merge pull request #130 from chme/laudio
[laudio] Make output type for local audio configurable
2015-04-16 17:56:01 +02:00
ejurgensen 2d8a6a7102 Drop support for libavformat versions < 53 (issue #128) 2015-04-12 20:05:14 +02:00
chme c8e793fd0c [laudio] Makes the output type for local audio configurable and
introduces a dummy output for local audio

Changes configure.ac to control the with-alsa and with-oss4 separately.
This makes it possible to only use the dummy output and compile without
alse+oss4.
2015-04-12 07:03:32 +02:00
ejurgensen c8158805e3 Merge pull request #64 from chme/mpdprotocol
Add support for the mpd protocol
2015-02-20 22:39:03 +01:00
ejurgensen 81b0d33069 Bump version to 22.3 2015-02-19 19:30:03 +01:00
ejurgensen df9bcade5a Embed libavl (v0.3.5), it is no longer available upstream and the dependency is a hassle 2015-02-14 20:58:01 +01:00
chme 830054bd71 Initial support for mpd protocol 2015-02-14 08:50:18 +01:00
ejurgensen 3cd7b27bac Remove FreeBSD/OSS4 hacks and add FreeBSD 10.1 install and startup helper scripts (issue #94) 2015-02-11 22:59:57 +01:00
ejurgensen 5d58b6b559 Remove check for old versions of ffmpeg
(was becoming obsolete and produces errors in FreeBSD)
2015-01-27 21:49:04 +01:00
ejurgensen 77f206c118 Bump version to 22.2 2015-01-21 21:10:31 +01:00
ejurgensen 4df4c50c35 Add option to exclude paths from scanning based on regex 2015-01-14 21:50:25 +01:00
ejurgensen 2879458e98 Fix for issue #62 (slow internet streams), credit @chme 2015-01-02 23:24:44 +01:00
chme 0ef1819f02 Pass the foreign option to automake thus omitting README is not an error 2014-12-31 10:12:28 +01:00
Stuart C. Naifeh ee902a1a68 Fix for bug introduced by commit 67c092828d 2014-12-23 11:34:11 -05:00
ejurgensen 6489d717b6 Bump version to 22.1 2014-11-22 23:04:22 +01:00
ejurgensen 61a4da215c Revert special ffmpeg linker handling - not required any more
- ref https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758337#11
2014-10-16 22:16:25 +02:00
ejurgensen f0e1d919c4 Bump version to 22.0 2014-10-14 21:24:39 +02:00
ejurgensen d61dc295e8 Fix for previous commit which would not work when PKG_CONFIG also returned -L flags 2014-10-02 23:31:30 +02:00
ejurgensen d0685aed6f Use pkg-config to determine FFmpeg linker flags (for Debian, see #758337) 2014-10-02 23:08:38 +02:00
ejurgensen 88fcfa061d Add compability with ffmpeg's libswresample 2014-10-02 22:48:50 +02:00
ejurgensen 6d8e4c67aa Support for LastFM scrobbling (issue #19) 2014-08-15 23:36:54 +02:00