Commit Graph

184 Commits

Author SHA1 Message Date
chme
6163269832 [dacp/db] Fix issue found with scan-build
- Result of operation is garbage or undefined in dacp_reply_cue_play
- Uninitialized argument value in dacp_reply_playqueuecontents
- Uninitialized argument value in queue_fetch_byposrelativetoitem
2017-01-20 19:00:11 +01:00
chme
4e869f6fda [dacp] Fix indentation 2017-01-20 19:00:11 +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
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
chme
fb55960b0a [db] Remove db_queue_enum struct and use generic query_params 2016-12-04 08:18:33 +01:00
chme
6c6f02fdfa Rename "queue_item.item_id" to "queue_item.id" 2016-12-03 11:14:03 +01:00
chme
cef4fedfb4 Remove unused structs and player arguments 2016-12-03 11:12:19 +01:00
chme
c504abe451 Use queue db table instead of in memory queue struct 2016-12-03 11:11:33 +01:00
ejurgensen
bdd6bab982 [-] Lots of housekeeping thanks to scan-build and input from @acmay 2016-11-19 23:08:50 +01:00
chme
eddab1f1c0 [dacp] Use correct log domain 2016-11-04 19:10:07 +01:00
chme
bdb2c74934 [player/dacp/mpd] Pass absolute volume to speaker enumerate callback and
add absolute volume to mpd 'outputs' command
2016-10-25 22:40:48 +02:00
ejurgensen
c44f4310b7 [httpd] Replace evhttp_send_error with the httpd_send_error wrapper 2016-10-18 22:45:22 +02:00
ejurgensen
40c49f1fde [httpd] Use httpd_send_reply() wrapper in httpd_*, dmap_common and mpd 2016-10-17 22:25:31 +02:00
ejurgensen
249d923af2 [httpd] Allow caller of httpd_send_reply to avoid gzipping 2016-10-17 14:18:13 +02:00
ejurgensen
dbf9a208b8 [dacp] Don't return hard error if queue item goes missing
Remote doesn't seem to like the 500 Internal error we were sending
if queue item went missing, e.g. during pause.
2016-03-23 20:38:19 +01:00
chme
cb919515e4 [dacp] Start playback from selected song in the playqueue if player is
stopped
2016-03-19 09:40:36 +01:00
chme
d000ea571b [dacp] Return the playqueue even if player is stopped 2016-03-19 09:40:36 +01:00
chme
d35894ac15 [mpd] Return correct item-id for command 'addid' and return correct
number of items in the queue if player is stopped for command 'status'
2016-03-19 09:40:36 +01:00
ejurgensen
b454a2fd60 [general] Put back support for platforms without pipe2(), see issue #239 2016-03-17 22:20:16 +01:00
chme
c2ba2f6779 [dacp] Fix playing from history for Remote 2015-10-31 06:18:05 +01:00
ejurgensen
9853b8f9bd Merge pull request #188 from chme/playerfixes
Playerfixes
2015-10-19 22:15:43 +02:00
chme
551f441273 [dacp] Fix playing from playspec request 2015-10-19 21:55:43 +02:00
ejurgensen
55104015e0 Full removal of libevent 1 legacy code. Also drop pipe() in FreeBSD, since pipe2 is available now. 2015-10-19 21:15:29 +02:00
chme
199b765a7d [player] Store item-ids in history to allow start of playback from the
previously played items in dacp
2015-10-04 08:05:37 +02:00
chme
ba3385b0ec [queue] Remove queue_info and queue_item_info structs 2015-10-04 08:05:37 +02:00
chme
100e08da9d Rename make_queue functions 2015-10-04 08:05:36 +02:00
chme
c8a61015fc [dacp] Fix playing of radio streams after queue refactoring 2015-10-04 07:59:58 +02:00
chme
1f53d7ab1a [queue] Refactor queue handling
Decouple the playing/streaming item from the queue. Move all queue
related functions to seperate file queue.h/c.
Introduce internal item "head" to make iterating over the play-queue and
shuffle-queue easier.
2015-10-04 07:59:57 +02:00
chme
1fbedaa54f [player] Refactor queue_get 2015-10-04 07:57:38 +02:00
chme
f0a6a48599 [player] Refactor queue_remove functions 2015-10-04 07:57:38 +02:00
chme
8e1834cdea Rename make_queue function and set as static 2015-10-04 07:57:38 +02:00
chme
1812848ee1 Move client protocol specific make_queue functions out of player.c/h 2015-10-04 07:57:38 +02:00
ejurgensen
68912efa1f Enable resuming playback from saved position for certain media kinds (eg audiobooks) 2015-08-04 22:33:32 +02:00
ejurgensen
7881df67f6 Hack to push live ICY metadata/artwork to remote clients 2015-07-31 14:43:22 +02:00
ejurgensen
1fe6521aff Remove libevent 1 support in httpd_dacp 2015-07-30 22:50:11 +02:00
chme
41a08d1931 [mpd] rework listener events to use a bit map 2015-05-18 20:12:18 +02:00
chme
d2c7c87191 use listener logic to send dacp update requests 2015-05-09 07:46:33 +02:00
ejurgensen
7841e59afc Don't report negative remaining times for streams 2015-04-11 22:38:33 +02:00
ejurgensen
94f94b03fe Swap artwork arguments so destination evbuffer comes first 2015-04-09 21:23:20 +02:00
chme
10f2eb2409 Improve behaviour for playing from history 2015-02-26 17:29:13 +01:00
chme
f4fcbfb526 Fix segfault when starting playback for audiobooks (dacp_reply_playspec) 2015-02-22 06:13:21 +01:00
chme
830054bd71 Initial support for mpd protocol 2015-02-14 08:50:18 +01:00
ejurgensen
dccbe92a75 Only do hex conversion if param is 0x-format. Also accept song-spec from Retune (issue #90). 2015-01-26 22:37:02 +01:00
ejurgensen
a2151a2cd5 Add playqueue-edit mode 2 comment 2015-01-18 22:54:01 +01:00
chme
7578bb1205 Artwork caching (pull request #61), and also:
- introduced new section in config file for sqlite pragma settings,
added config for artwork cache
- added setting of pragma synchronous, cache size and journal mode to
daap cache
2014-11-10 22:53:08 +01:00
ejurgensen
dafa26a48a Protect against uinitialized var if query is empty 2014-09-26 23:13:17 +02:00
chme
49a985391d Ignore queuefilter on playqueue-edit-add if mode = 0 (add to up next) 2014-07-19 08:44:27 +02:00
ejurgensen
0a2d2273bd Remove build warning caused by data type mismatch 2014-06-22 22:29:45 +02:00
ejurgensen
5b4ef31758 Migrate all evhttp to non-deprecated libevent2
- well except a troublemaker in httpd_daap.c (req->flags &= ~EVHTTP_PROXY_REQUEST)
2014-05-29 23:22:00 +02:00
chme
b7cb0da2c2 Modifications to the playqueue-clear command:
- do not stop playback when clearing the UpNext queue
- clear history, if mode=0x68697374 ("hist")
2014-05-24 07:34:59 +02:00
chme
f60be3c8af Do not use queryfilter on "play next" and "add to up next" commands 2014-05-18 09:04:17 +02:00
ejurgensen
305c1a141c Indentation 2014-05-04 22:36:37 +02:00
chme
79646c78e4 fixup indentation 2014-05-03 20:16:51 +02:00
chme
8036a5a6d3 fixes for playqueue-contents 2014-05-03 20:16:51 +02:00
chme
5f307c7ce1 Added support for playqueue-contents with negativ span value (returns the previously played songs) 2014-05-03 20:16:51 +02:00
ejurgensen
8eb6b46ed2 Adjustments to queue_move/queue_remove, mostly for consistency 2014-04-21 21:21:40 +02:00
chme
4c5abdac5e add songs for album or artist ordered by album 2014-04-20 11:03:49 +02:00
chme
01cc83f819 respect coding convention and changed log level 2014-04-20 06:43:01 +02:00
chme
32c3b57fcd added support for the playqueueedit add next command 2014-04-19 09:12:58 +02:00
chme
475a2f4e8f added support for the playqueueedit remove command 2014-04-19 08:35:07 +02:00
chme
c3c2c421d2 added support for the playqueueedit move command 2014-04-19 08:09:32 +02:00
ejurgensen
365c5a3bc9 Only queue the rest of the album on quirky query 2014-04-18 22:39:17 +02:00
ejurgensen
9efc97d702 Add support for query-modifier=containers in DACP playqueue-edit 2014-03-31 01:53:46 +02:00
ejurgensen
3ff4fa77be Merge branch 'libevent2' into dev 2014-03-24 04:59:08 +01:00
ejurgensen
708b76ce1e Play only a single item when playspec has item-spec (Podcasts/Audiobooks) 2014-03-21 23:38:14 +01:00
ejurgensen
687f349927 Let configure check libevent version and include according to version 2014-03-13 23:33:35 +01:00
ejurgensen
190f91114e Support songartistid (asri) in group requests and queuefilter=artist
- credit misenhower of wp8remote.com
2014-02-21 20:39:57 +01:00
ejurgensen
1ec1528f3b Mimic iTunes and reply 204 No Content to playqueue-edit&add 2014-02-13 15:46:24 +01:00
ejurgensen
9c90abf603 Allow 0 as an initial value of revision-number 2014-01-03 22:22:21 +01:00
ejurgensen
c360bdd5bd Also account for playqueue-edit?...queuefilter=album:(null) 2013-11-23 23:05:13 +01:00
ejurgensen
9760a43ccf Add support for mode 2 (shuffle) in playqueue-edit and -contents 2013-11-22 22:05:55 +01:00
ejurgensen
afd25b79d9 Support for playqueue-edit 2013-11-22 16:41:57 +01:00
ejurgensen
4d542f9e22 Set some dmap_send_error messages to "Invalid request" 2013-11-21 23:44:37 +01:00
ejurgensen
83a89edfd0 Small changes in playqueue-edit wrapper 2013-11-21 23:41:29 +01:00
ejurgensen
a4c16741d9 Better support for playqueue-edit (command add, mode 1)
- reply message not fixed
2013-11-21 23:33:03 +01:00
ejurgensen
ecd8b5d940 Misc work on httpd_dacp for support of playqueue-*
- playqueue-edit still working poorly, but added documentation
2013-11-17 23:15:50 +01:00
ejurgensen
0576643ae5 Use artist in Up Next 2013-11-16 22:33:12 +01:00
ejurgensen
f42bbd37e1 Add basic support for playqueue-contents (real reply) and add placeholder
for playqueue-edit
2013-11-14 23:14:58 +01:00
ejurgensen
00a790c0c1 Fix typo and add more comments 2013-11-09 23:58:18 +01:00
ejurgensen
f71954eb43 Add dummy playqueue-contents support 2013-11-09 23:51:36 +01:00
ejurgensen
0d5fef60e6 Add empty DACP property get for media-kind and extended-media-kind 2013-11-07 22:45:12 +01:00
ejurgensen
c70496bb58 Accept item-spec in playspec requests 2013-10-19 11:07:10 +02:00
ejurgensen
736d19f924 Fix error in c897761ee3
Changed the way it's detected if speaker id is hex or dec
2013-08-31 11:03:15 +02:00
ejurgensen
83edef0f01 Fixes two issues with Hyperfine Remote for Android
1. H. Remote uses the playpause command to both play and pause,
but forked-daapd would only support play, not pause.
2. H. Remote sends speaker id's in decimal, not in hex like other
remotes. Fixed so forked-daapd will understand both.
2013-08-30 21:50:31 +02:00
Thijs Reus
6b0fde9dba Fixed RemoteApp communication which broke for Remote 3.0 due to some new properties in the query 2013-05-24 18:44:57 +02:00
Julien BLACHE
4472f9e955 Fix infinite loop on unknown DACP property
Missing strtok_r() call in the !dpm case.
2011-08-15 12:50:43 +02:00
Julien BLACHE
52691d6c4d Rename dmap_helpers.[ch] to dmap_common.[ch] 2011-04-09 10:11:34 +02:00
Julien BLACHE
6949859ff1 Add caiv tag to video-capable devices in speaker list 2011-04-09 10:11:34 +02:00
Julien BLACHE
f3e7836453 Introduce struct spk_flags to reduce argument count for enumeration callback 2011-04-09 10:11:34 +02:00
Julien BLACHE
cbb1669ee1 Replace AVL tree in DACP by a static hash using gperf 2011-04-02 09:52:19 +02:00
Julien BLACHE
ac73ee0ce5 Enable and handle JPEG artwork in DACP 2011-04-01 22:04:09 +02:00
Julien BLACHE
c7209ab699 Add support for JPEG as a valid artwork output format
Reduce CPU usage by avoiding unneeded JPEG -> PNG conversions; it appears
all the clients we care about support JPEG as well as PNG.
2011-03-30 21:50:29 +02:00
Julien BLACHE
d6d7450557 Bump DACP protocol version 2010-12-04 15:08:07 +01:00
Julien BLACHE
76621797e2 Implement DACP volume interface for Remote 2.0 2010-12-04 15:08:07 +01:00
Julien BLACHE
1372f90ce7 Send out per-speaker (relative) volume atom 2010-12-04 15:08:07 +01:00
Julien BLACHE
5674314161 Support clear-first in cue play command 2010-12-04 15:08:07 +01:00
Julien BLACHE
0df4ab4555 Implement master volume & per-speaker relative volume
Volume is set independently for each speaker relative to the master
volume. Methods allow to set speaker volume independently and in relation
to the master volume.
2010-12-04 15:08:07 +01:00
Julien BLACHE
12daf7237e Downgrade debug message priority 2010-11-28 17:33:07 +01:00
Julien BLACHE
942f3e4aad Modify player-to-DACP status update communication
Have DACP set a callback (through a sync_command() setter) into the player
instead of setting an fd without any locking. All the code now lies in DACP
instead of being split between DACP and the player.
2010-09-13 18:40:41 +02:00
Julien BLACHE
01b42d3108 Fix typo, checking for evbuf instead of update 2010-09-12 17:31:31 +02:00