Commit Graph

4162 Commits

Author SHA1 Message Date
chme dadba23efc Refactor library scan of media files
Remove the data_kind specific parts out of the general library functions
and into their (library) source specific functions.
2017-03-19 18:30:46 +01:00
ejurgensen bcb19908f4 [config] Add remark that local audio type may also be set to "disabled"
(since any unknown config value will disable local audio)
2017-03-15 23:24:24 +01:00
ejurgensen fce68ebd1a [raop] Add option to exclude particular devices from speaker list 2017-03-15 23:24:24 +01:00
ejurgensen ef13abe2cf [artwork] Fix for issue #345 and #367: Broken PNG rescaling 2017-03-15 22:12:37 +01:00
ejurgensen efd6805f9e Merge pull request #365 from chme/spotifybaseplaylist
Avoid adding spotify playlist folder
2017-03-11 19:30:31 +01:00
ejurgensen 5d74c98431 [input] Pass read errors to the player through the input buffer 2017-03-11 19:23:49 +01:00
chme 6c97448e2f [spotify] Remove log messages after token request
The whole response is already written to the log in debug mode
2017-03-11 09:55:32 +01:00
chme 247abec88f [spotify] Only create spotify playlist folder after successful login
Before creating the folder there should be either a valid api token or a
valid libspotify session.
2017-03-11 09:44:54 +01:00
ejurgensen 6c94cdd635 [httpd_daap] Honour sort param "artist" for album groups (fixes issue #358) 2017-03-05 09:45:34 +01:00
ejurgensen 9f2f5566d2 [commands] Protect against race condition by moving event_add() inside lock
- otherwise commands_base_destroy() could free cmdbase before event_add()
2017-03-04 17:26:45 +01:00
chme 00e5e098d4 [spotify] Purge spotify songs from db before scanning after oauth (#361) 2017-03-04 17:24:42 +01:00
chme 1dde41fb87 [mpd] Fix wrong db playime info in 'stats' command (#360) 2017-03-04 17:23:52 +01:00
ejurgensen 62cb07c73b Merge pull request #359 from chme/shuffle
[dacp] Always start playing from the beginning of the shuffle queue
2017-03-04 11:37:21 +01:00
chme 1dfca1ec22 [dacp] Always start playing from the beginning of the shuffle queue 2017-03-04 08:57:58 +01:00
chme 03e9182423 [spotify] Fix usage of "artist_override" config value 2017-02-26 11:04:04 +01:00
chme 9c90cbcd12 [db] Fix return value of db_queue_add_by_query 2017-02-26 11:04:04 +01:00
chme 82e216c931 Add missing FALLTHROUGH comments to switch-case statements
This allows to suppress code analysis warnings in IDEs for missing break
statements.
2017-02-26 11:04:04 +01:00
chme 50b28bde96 [filescanner] Remove unused scan_metadata_icy function declaration 2017-02-26 11:04:04 +01:00
chme 78975b1aa3 [filescanner_ffmpeg] Add doc to scan_metadata_ffmpeg 2017-02-26 11:04:04 +01:00
chme e4f25f9418 [filescanner_ffmpeg] Refactor: consolidate special handling for
http-streams
2017-02-26 11:04:04 +01:00
ejurgensen a89440253c Set theme jekyll-theme-slate 2017-02-26 00:51:07 +01: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
ejurgensen ff49e176f2 [spotify] Fixup header path to json.h 2017-02-16 21:51:46 +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 26c22144fc [-] Misc housekeeping (minor memleaks, invalid free's) 2017-02-12 01:19:56 +01:00
chme 3896f61d06 [dacp] Keep the now playing item in the queue when calling (#353)
playqueueedit_clear
2017-02-11 09:28:35 +01:00
ejurgensen 98348b8fe9 [pipe] Removing CHECK_NULL with malloc, scan-build not happy about it 2017-02-11 00:28:29 +01:00
ejurgensen f0c9843194 [pipe] Fix exit problem due to misuse of COMMAND_PENDING 2017-02-10 23:56:58 +01:00
ejurgensen d8255e1d08 [pipe] Fix minor memleak 2017-02-10 23:03:38 +01:00
ejurgensen 13e6889990 [cast] Use friendly device name from mdns announcement 2017-02-10 19:27:52 +01:00
ejurgensen d2fe608c72 [http_streaming] Reduce log severity if write returns EAGAIN, it
just means that pipe was temporarily full (ref issue #329)
2017-02-08 22:47:49 +01:00
ejurgensen 245ce1d4e4 [player] Allow starting playback with no outputs 2017-02-08 22:31:47 +01:00
ejurgensen 1f15fb1993 [pipe] Refactor pipe input, hopefully into a more thread safe version 2017-02-08 22:29:37 +01:00
ejurgensen e6793b4779 [player] Add player_playback_start_byid() function, will be needed for pipe input 2017-02-08 22:29:37 +01:00
ejurgensen f27fb53caf [input] Rename player source ->xcode to ->input_ctx, because any input may use it, not just transcode 2017-02-08 22:29:37 +01:00
ejurgensen a183463bb2 [spotify] Try to avoid image load callbacks from Spotify after timeouts,
since the artwork struct may have become invalid
2017-02-07 23:23:39 +01:00
ejurgensen 3a7ed96895 [misc] Adding missing header for non-Posix timer platforms 2017-02-07 23:22:38 +01:00
chme 1f4e474671 [spotify] Retrieve playlist tracks based on user country (#352)
This avoids adding unplayable items to the library and due to the active
track relinking should make additional tracks playable by linking to a
playable version of the track.
2017-02-05 13:56:12 +01:00
ejurgensen 18fe8fe0ef [pipe] Temporary "fix" for threading issues 2017-02-05 00:11:21 +01:00
chme 9680fa093a [db] Fix mpd command 'delete' removing to many items
Previously db_queue_delete_bypos iterated over the items and called
delete for each item. The delete also adjusted the pos/shuffle_pos
values for the remaining items. 

A delete of pos = 0 resulted therefor in:
- fetch item with pos = 0
- delete item at pos
- update remaining items to pos = pos - 1
- fetch item with pos = 0 (returns the new item at pos 0)
- delete item at pos
- ...
2017-02-04 08:37:58 +01:00
chme d293356d8b [db] Extract function to fix queue position values 2017-02-04 08:37:58 +01:00
chme 1c8263224e [db] Fix incorrect query for db_queue_delete_bypos 2017-02-04 08:37:58 +01:00
chme bd4e379f15 [dacp] Fix requests for cue_play with command = "play" 2017-02-04 08:35:02 +01:00
chme 4e4e91d4a2 [player] Add log messages in case playback_start_item returns -1 2017-02-04 08:35:02 +01:00
ejurgensen 9d8dbaffe1 [db] Fix typo (closes #347) 2017-02-01 18:56:34 +01:00
ejurgensen 8513c9416c [travis-ci] Update configuration file (fix package name) 2017-01-31 22:32:27 +01:00
ejurgensen 31bf0114b6 [travis-ci] Update configuration file 2017-01-31 22:27:01 +01: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 3ba2fb741b [docs] Update README with new pipe features 2017-01-29 22:09:28 +01:00
ejurgensen f7018dc659 [player] Skip/remove unplayable tracks in queue instead of aborting 2017-01-29 22:07:51 +01:00