Commit Graph

3973 Commits

Author SHA1 Message Date
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
ejurgensen 0af75217e9 Merge branch 'inputs1' - new input modules 2017-01-29 13:16:58 +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