Commit Graph

3718 Commits

Author SHA1 Message Date
chme 56ce3f9cba [library/filescanner/spotify] Add library source abstraction and new
"library" thread

- Implement filescanner as a library_source
- Add library source implementation for spotify
- Move process_media_info to library with small adjustments:
  - Remove dependency to F_SCAN_TYPE defines
  - Pass data_kind as parameter
  - Pass media_kind and compilation as parameter if a source forces a
specific value for these
- Move declaration of scan_ffmpeg to library; add
library_add_playlist_info to library
2017-01-13 18:56:37 +01:00
ejurgensen ca6836f638 [scripts] Add missing linker flags to FreeBSD install script 2017-01-12 22:44:08 +01:00
ejurgensen 785ff21045 Merge pull request #328 from sshambar/fixconfig
Updated configure/makefiles related to Issue #327
2017-01-12 22:41:47 +01:00
ejurgensen 45d513d206 [rtsp] Do not fail if ContentLength has chars after num value (e.g. whitespace) 2017-01-10 21:09:08 +01: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 637faa41f4 [config] Just use an empty config.rpath as it's only used by iconv 2017-01-07 13:27:17 -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
ejurgensen 966a81cc77 [db] Fixup - itemcount not required for finding a playlist 2017-01-06 20:03:02 +01:00
ejurgensen 213b58c012 [db] Forgot to add Q_FIND_PL as a playlist query 2017-01-06 19:58:38 +01:00
ejurgensen 89b715aeba [docs] README update - playlist artwork 2017-01-06 19:49:09 +01:00
ejurgensen 27946a472b [artwork] Add handler for playlist local artwork (for http items)
- ref https://www.raspberrypi.org/forums/viewtopic.php?p=1090166#p1090166
2017-01-06 19:35:05 +01: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
ejurgensen b7c4256df4 [db] Refactor db_build_query_* to reduce redundancy 2017-01-04 22:29:47 +01: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
ejurgensen ce998fb38a [rtsp] Additional logging 2016-12-29 21:30:47 +01:00
ejurgensen 80fe738583 [mdns] Fix for missing HOST_NAME_MAX on FreeBSD 2016-12-29 19:30:04 +01:00
ejurgensen 82470b5168 [filescanner] Ignore spotify/lastfm/remote during startup, they can give DB deadlocks
- see https://www.raspberrypi.org/forums/viewtopic.php?p=1087137#p1087137
2016-12-28 22:53:00 +01:00
Scott Shambarger bcf7324c0a [config] Fixed service file perms 2016-12-27 16:02:59 -08:00
Scott Shambarger 97afb22dc8 [config] Updated libunistring macro 2016-12-27 16:01:41 -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 b38bccc458 [gperf] Renamed products to .h so they aren't built if listed in SOURCES 2016-12-27 15:08:08 -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 e4387fe33e Merge pull request #326 from chme/tx
[filescanner] Fix nested transaction
2016-12-27 22:15:10 +01:00
chme 201f019655 [filescanner] Purge old db entries outside of the transaction in bulk
scan
2016-12-27 21:32:42 +01:00
chme be6b4376e8 [db] wrap db_purge_cruft in a transaction 2016-12-27 21:31:01 +01:00
ejurgensen 3bb6220ce9 [transcode] Make sure transcode_seek() only returns negative on error
- newer ffmpeg seems to give timestamps that give negative got_pts when seeking to 0
2016-12-27 00:02:02 +01:00
chme cf7787dbc2 [filescanner] Fix nested transaction 2016-12-24 07:44:03 +01:00
ejurgensen 1748430c48 [db] Review of cache regeneration triggers 2016-12-18 21:18:15 +01:00
ejurgensen 40d34ed4ad Merge pull request #324 from chme/db3
Remove rebuilding the persistent-ids on startup
2016-12-18 11:20:10 +01:00
ejurgensen 70f3465dfe Merge pull request #323 from chme/db
Remove unnecessary query in filescanner_process_media
2016-12-18 11:18:23 +01:00
chme 7856498951 [db] Remove unused functions db_files_update_songartistid,
db_files_update_songalbumid
2016-12-17 16:17:23 +01:00
chme f5fe1e665a [filescanner] Remove rebuilding of persistent ids (artist, album)
The hash is not portable, therefor this removes the ability to build the
database on a different machine than the one running forked-daapd.
It also removes the clearing of the groups table and replaces it with a
cleanup call (removes unreferenced entries from the groups table).
2016-12-17 07:38:51 +01:00
chme 3d3c27190b [db] Add function to cleanup the 'groups' table (artists and albums)
Allows removing of item no longer referenced from the files table
2016-12-17 07:38:47 +01:00
chme af774ef175 [filescanner] Remove unnecessary query for file id in process_media
The previous query for db_file_stamp_bypath already retrieves the file
id for the given path.
2016-12-17 07:11:51 +01:00
chme 351725c8b2 [db] initialize id parameter with 0 2016-12-17 07:11:43 +01:00
ejurgensen 1ab9151489 [http] Repair broken libevent 2.0 compability 2016-12-11 20:20:27 +01:00
ejurgensen 2ee4988a50 [httpd] Add missing include for event2/keyvalq_struct.h (closes #321) 2016-12-11 19:10:53 +01:00
ejurgensen 7a9bf07d90 Merge pull request #320 from chme/admintable
Add primary key column to admin table
2016-12-10 08:19:50 +01:00
chme de61a3a851 [db] Remove db_admin_update and rename db_admin_add 2016-12-10 06:15:43 +01:00
chme e29539fa68 [db] add primary key to admin table 2016-12-10 06:15:43 +01:00
ejurgensen ad4cdc2216 [httpd] Silence compiler warning about unused var 2016-12-09 21:49:22 +01:00
ejurgensen d7b63ebc6a Merge pull request #319 from chme/dbgetint
[db] Rename db_get_count
2016-12-09 19:29:01 +01:00
ejurgensen 2f6131091b Merge pull request #318 from chme/mpdconsume
[mpd] Add support for the 'consume' player mode
2016-12-09 19:28:03 +01:00
chme c4732b835f [db] Remove unused function db_file_id_byfilebase 2016-12-09 16:20:50 +01:00
chme 588fe120b7 [db] Rename db_get_count to db_get_one_int 2016-12-09 16:20:03 +01:00
chme 1221244eed [mpd] Implement consume command and return consume mode in
status command
2016-12-09 14:48:24 +01:00