Commit Graph

93 Commits

Author SHA1 Message Date
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