Commit Graph

51 Commits

Author SHA1 Message Date
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
Julien BLACHE
535d691a4a Fix full_uri memory leak in error path 2010-09-10 18:47:42 +02:00
Julien BLACHE
e373f83660 Kill useless memset() call 2010-08-04 19:01:53 +02:00
Julien BLACHE
d9f5e2aa40 Set playlist ID when queueing a playlist via DACP playspec 2010-07-31 12:32:14 +02:00
Julien BLACHE
ec1fc46c01 Include playlist ID in nowplaying 2010-07-31 12:31:56 +02:00
Julien BLACHE
94b4cd2459 Add support for shuffle in DACP playspec request 2010-07-31 12:09:13 +02:00
Kai Elwert
fa0ee0553a Implement DACP playspec request 2010-07-31 12:09:13 +02:00
Kai Elwert
055fe8f442 Make player_queue_make() generic and introduce player_queue_make_daap() 2010-07-31 10:30:45 +02:00
Julien BLACHE
58f4f2d345 Stop playstatus update event at deinit 2010-07-30 22:16:55 +02:00
Julien BLACHE
f6a9e1f7f4 Kill update request connections during deinit
Avoid leaving active requests on the HTTP server before shutting it down.
2010-07-30 21:42:53 +02:00
Julien BLACHE
81d09ed234 Account for new evhttp behaviour on failed incoming connections
The evcon associated with a request is freed by evhttp when the connection
fails. Protect against a NULL evcon when handling the connection failure.
2010-07-23 18:28:29 +02:00
Julien BLACHE
3b7a71527a Check & fix UTF-8 strings before adding/updating files 2010-06-21 17:50:09 +02:00
Julien BLACHE
36f0d0a76e Implement DACP setproperty for dacp.userrating 2010-05-05 19:13:22 +02:00
Julien BLACHE
eb66a56e1d Pass query parameters to DACP property setters 2010-05-05 19:13:15 +02:00
Julien BLACHE
548cd2a150 Use httpd_send_reply() instead of evhttp_send_reply() where pertinent
gzip replies where useful; artwork should not be compressed, as PNGs are
already compressed and that would be a waste of time.
2010-05-03 19:11:55 +02:00
Julien BLACHE
d38db5868c Implement jumping in DACP cue play command 2010-05-02 11:45:15 +02:00
Julien BLACHE
c11752e9a6 Honor dacp.shufflestate parameter in cue play command 2010-05-02 11:45:15 +02:00
Julien BLACHE
9f84fd9794 Wire up DACP setproperty for dacp.shufflestate 2010-05-02 11:45:15 +02:00
Julien BLACHE
a74caeed82 Wire up DACP setproperty for dacp.repeatstate 2010-05-02 11:45:15 +02:00
Julien BLACHE
7751c23f18 Implement DACP setproperty for dacp.playingtime 2010-05-02 11:45:15 +02:00
Julien BLACHE
6eca3a98d8 Implement DACP setproperty 2010-05-02 11:45:15 +02:00
Julien BLACHE
297c86c453 Implement DACP getproperty and DACP properties core code 2010-05-02 11:45:15 +02:00
Julien BLACHE
b73631bb5c Introduce helpers for DACP nowplaying & playingtime 2010-05-02 11:45:15 +02:00
Julien BLACHE
505b7a2ade Wire up nextitem and previtem 2010-05-02 11:45:15 +02:00
Julien BLACHE
b4a5ba6f3c Wire up pause and playpause 2010-05-02 11:45:15 +02:00
Julien BLACHE
f5e84d6950 Implement DACP nowplayingartwork 2010-05-02 11:45:15 +02:00
Julien BLACHE
9c569f10a9 Implement playstatus updates 2010-05-02 11:45:15 +02:00
Julien BLACHE
b72948e027 Rework playstatusupdate reply
Introduce make_playstatusupdate() and use player_get_status() to get the
player status. Implement the full playstatusupdate reply.
2010-05-02 11:45:15 +02:00
Julien BLACHE
ca2ee21d84 Implement DACP cue requests 2010-05-02 11:45:15 +02:00
Julien BLACHE
bb5703d878 Implement DACP setspeakers 2010-05-02 11:45:14 +02:00
Julien BLACHE
aa20a2e485 Implement DACP getspeakers 2010-05-02 11:45:14 +02:00
Julien BLACHE
bccc6da87f Set closecb to NULL on update requests' connections at deinit
Otherwise the closecb is called when the connection is closed/freed during
deinit, and this happens in the HTTP cleanup after the DAAP and DACP cleanups
have run, leading to spurious "struct update_request not found" messages.
2010-05-02 11:21:07 +02:00
Julien BLACHE
18abda3a97 Use evhttp_connection's closecb instead of our fail_cb extension
The closecb callback of evhttp_connection does what we need, so no need
to use that extension anymore.
2010-02-14 09:34:29 +01:00
Julien BLACHE
58faeaceca Integer types cleanup
Try to be a bit more strict about integer types, use off_t or int64_t for
file size and file offsets.

Replace safe_ato*() by safe_atoi32() and safe_atoi64(), fix integer types
at call sites to match.
2010-02-02 21:09:56 +01:00