chme
626c77046c
[spotify] Fix empty spotify playlists
2017-04-10 09:33:22 +02:00
chme
cc29c617b0
[filescanner] Switch argument order (input first)
2017-03-19 18:30:46 +01:00
chme
888710612c
[library] Add missing attribute mapping from mfi to queue item
2017-03-19 18:30:46 +01:00
chme
e31fea6c44
[filescanner] Remove unused include and make privat function static
2017-03-19 18:30:46 +01:00
chme
59ade61d7b
[library] Rename constants
2017-03-19 18:30:46 +01:00
chme
f4aade7f3a
[filescanner] Fix and refactor scanning of playlists
2017-03-19 18:30:46 +01:00
chme
f5c65d1eef
[db] Do not notify clients in 'db_queue_add_by_query' if no items were
...
added
2017-03-19 18:30:46 +01:00
chme
a65737b4e7
[filescanner] Add scan-metadata function for non library items
...
For now only support scanning metadata for internet radio streams
2017-03-19 18:30:46 +01:00
chme
8381b7489e
[mpd] Try to read metadata and add to queue if path is not in the
...
library
2017-03-19 18:30:46 +01:00
chme
e6f49b721f
[library] New functions to support scan metadata for arbitrary path and
...
adding a mfi as a queue item
2017-03-19 18:30:46 +01:00
chme
cc899651c7
[db] New function to add a media file info as a new queue item
2017-03-19 18:30:46 +01:00
chme
bdd08f516f
[library] Rename 'library_process_media' to 'library_add_media'
2017-03-19 18:30:46 +01:00
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
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
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
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
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
f7018dc659
[player] Skip/remove unplayable tracks in queue instead of aborting
2017-01-29 22:07:51 +01:00
ejurgensen
b44ae55c1d
Some scan-build fixing up
2017-01-28 22:37:56 +01:00
ejurgensen
12567d8e93
[pipe] Make Shairport metadata parser work with incomplete reads from pipe
2017-01-28 22:20:35 +01:00
ejurgensen
41c5ef1474
[compat] Suppress warnings about unused functions
2017-01-28 22:20:35 +01:00
ejurgensen
b6f969d96e
[pipe/mxml] Add compability with older versions of mxml
2017-01-28 22:20:35 +01:00
ejurgensen
97aa544945
[library] Move library update trigger to new library module
2017-01-28 22:20:35 +01:00
ejurgensen
dc84294348
[input/pipe] Parse basic Shairport metadata using mxml
2017-01-28 22:19:51 +01:00
ejurgensen
ea874154b2
[input/file_http] Use swap_pointers to transfer ownership of metadata
2017-01-27 22:36:00 +01:00
ejurgensen
67d0504700
[input] Let input_metadata_free zero metadata like the other free functions
2017-01-27 22:36:00 +01:00
ejurgensen
c975cf4474
[misc] Set output of safe_xxx to 0 also in error cases (for safety)
2017-01-27 22:36:00 +01:00
ejurgensen
ab06a9fd7d
[player] Update info about player.c
2017-01-27 22:36:00 +01:00
ejurgensen
ae1f2d75d3
[pipe] Prepare reading and parsing Shairport metadata pipes
2017-01-27 22:36:00 +01:00
ejurgensen
8b5cac0538
[file/http/input] Implement metadata handling through input interface
2017-01-27 22:36:00 +01:00
ejurgensen
0b9b008a1a
[player] Try to consolidate metadata handling + use input interface
2017-01-27 22:36:00 +01:00
ejurgensen
7b6a7b65b3
[input] Add interface for getting metadata from input modules
2017-01-27 22:36:00 +01:00
ejurgensen
2696b27972
[artwork] Let the artwork handler for streams use queue->artwork_url instead of calling the player, which was messy
2017-01-27 22:36:00 +01:00
ejurgensen
4d4a4ffd70
[db] Remove special icy update function, add db_queue_update_item()
...
- we will use the latter generalised form from now on, even though it is perhaps a tad slower
2017-01-27 22:36:00 +01:00
ejurgensen
e92152cadb
[db] Upgrade db to 19.03: Add artwork_url column to queue table
2017-01-27 22:36:00 +01:00
ejurgensen
40d50d693b
[misc] Add small function to swap pointers
2017-01-27 22:36:00 +01:00
ejurgensen
ee32b9cb70
[pipe] Reset pipes when required + prepare for metadata pipes
2017-01-27 22:36:00 +01:00
ejurgensen
90f37b75ce
[player] Fix it so source_read() returns silence and not an error until source_check stops playback
2017-01-27 22:36:00 +01:00
ejurgensen
9fb62441d2
[pipe] Use worker thread instead of filescanner for watching pipes
2017-01-27 22:36:00 +01:00
ejurgensen
061beaf272
[worker] Make sure worker accepts NULL-arguments
2017-01-27 22:35:16 +01:00
ejurgensen
7f7207bb87
[pipe] Pipe input interface (wip)
2017-01-27 22:35:15 +01:00
ejurgensen
acc67338a1
[input] Add a buffer full callback for the player
2017-01-27 22:35:15 +01:00
ejurgensen
aa8edeead4
[player] Add suspend/resume on underrun + misc fixing up
2017-01-27 22:35:15 +01:00
ejurgensen
18918ce489
[db] Rename db_file_save_seek -> db_file_seek_update
2017-01-27 22:35:15 +01:00
ejurgensen
6af8fa07b4
[spotify] Use timespec_reltoabs instead of internal mk_reltime
2017-01-27 22:35:15 +01:00
ejurgensen
6db4e40119
[misc] Add function to add a relative time to current clock
2017-01-27 22:34:15 +01:00
ejurgensen
9aede45a12
[pipe] Add a pipe input with autostart capabilities
2017-01-27 22:30:47 +01:00
ejurgensen
938e197fa4
[player] Refactor read/write
...
- remove read skip which is obsolete when input has own thread and cannot block
- simplify code
- fix while loop that could loop infinitely
2017-01-27 22:29:08 +01:00
ejurgensen
1258481202
[listener] Rename LISTENER_PLAYLIST to LISTENER_QUEUE
2017-01-27 22:25:32 +01:00
ejurgensen
60daf03f66
[cache/scan] Let notifications from db.c about library updates go through
...
filescanner/listener instead of directly to the cache
2017-01-27 22:25:32 +01:00
ejurgensen
79639c73ed
[input] Add Spotify input module
2017-01-27 22:08:56 +01:00
ejurgensen
c92ebf9dfb
[player] Fix problem where player_playback_cb triggers after playback stop
2017-01-27 22:01:24 +01:00
ejurgensen
3e24f857fa
[input] Add input interface to player - WIP
2017-01-27 22:01:24 +01:00
ejurgensen
c50b038397
[misc] Move STOB and BTOS macros to misc.h
2017-01-27 22:01:24 +01:00
ejurgensen
171a75375b
[outputs] Fix for (unlikely) situation where all outputs have no init()
2017-01-27 22:01:24 +01:00
ejurgensen
41aa530fd3
[http] Add support for http post in the libevent client (required for scrobbling)
2017-01-25 22:52:11 +01:00
ejurgensen
db4068f046
[artwork] Hardcode destination pixel format for png rescaling since
...
avcode_find_best_pix_fmt_of_list() does not live up to its name
(fixes issue #345 )
2017-01-25 21:02:41 +01:00
ejurgensen
084de7811e
[raop] Fix missing uint64 cast, which since commit fdd85cc
was giving too short song lengths
2017-01-23 23:41:10 +01:00
sshambar
bc4b046897
[logger] Add missing include ( #342 )
2017-01-23 08:41:23 +01:00
ejurgensen
36d9051a91
[misc] Fixup coding style
2017-01-22 23:47:45 +01:00
ejurgensen
5dc8eea4c2
[main] Re-include pthread.h that was removed in pr #334 , needs to be
...
here because it is used by the gcrypt macro
2017-01-22 23:35:38 +01:00
Scott Shambarger
836320518b
Merge branch 'master' into fixosx
2017-01-21 13:04:38 -05:00