chme
705b7013c3
[player/dacp/mpd/json] Update master volume after setting speaker volume
...
Changing a speaker volume in a DACP clients results in two dacp requests
(at least in Retune):
setproperty?include-speaker-id=0&dmcp.volume=41
setproperty?speaker-id=198018693182577&dmcp.volume=43
The first request sets the absolute volume for the speaker (player.c -
volume_setabs_speaker). The second request is only triggered if the
volume from the first one is not the new master volume. This second
requests adjusts the relativ volume based on the loudest device (new
master volume) (player.c - volume_setrel_speaker). After the second
request the master volume and the relative volumes are correct (range
from 0 - 100 percent and master volume is 100 percent).
MPD and JSON API clients only set the absolute volume which results in
inconsistent master_volume and relative volumes. The added option to
update the master volume in volume_setabs_speaker/volume_setrel_speaker
makes sure the master volume and the relative volumes are correctly set.
2018-05-31 10:49:53 +03:00
chme
3d779e1273
[player] Additional debug logs for speaker volume
2018-05-31 10:49:53 +03:00
ejurgensen
b6e1269cf2
[raop/dacp/player] Support for Airplay speakers to register volume updates
...
Implements Active-Remote, which is sent to the speaker, so it can use this
to tell us who it is when it makes dacp request with a device-volume update.
2018-05-27 16:12:20 +02:00
chme
decf9f1329
[player] Add commands to enable/disable output
2018-02-10 09:04:18 +01:00
chme
93879c6f90
[player] Refactor speaker enumerate callback
2018-02-10 09:04:18 +01:00
chme
94fd370df2
[player] Simplify parameter passing to player commands
2018-02-10 09:04:18 +01:00
chme
d36e6ac5ab
[player] Refactor speaker_set/speaker_activate
2018-02-10 09:04:18 +01:00
chme
f2659d995b
[player] Refactor speaker_set/speaker_deactivate
2018-02-07 21:04:47 +01:00
chme
183ac17fd5
[player] Check player state in stop and pause commands
2017-12-28 16:30:38 +01:00
chme
0b07cff633
[player] Only update queue item in metadata_update_cb on changed
...
metadata. This avoids an unnecessary update query and queue change
notification (leading to clients requesting the unchanged queue).
2017-12-09 11:01:41 +01:00
chme
8776aa36e2
[player] Trigger SPEAKER event after finishing the command speaker_set
2017-12-03 10:46:03 +01:00
chme
d839e8cabb
[listener/player] Adjust code comment for LISTENER_SPEAKER event
2017-12-03 10:46:03 +01:00
chme
1689182432
[player/raop] Trigger the SPEAKER event if device verification
...
succeeded/failed
2017-12-03 10:46:03 +01:00
chme
f696229fff
[player/dacp/mpd] Pass additional information to speaker enum callback
2017-12-03 10:46:03 +01:00
ejurgensen
b71b32438b
[player] Don't log single tick overruns
2017-07-23 16:58:18 +02:00
ejurgensen
b803c30dcd
[player] Check volume range when called for volume change + some adjustments in pipe input
2017-07-14 20:04:35 +02:00
chme
ecb41eccca
[player] Use false/true for boolean field
2017-07-09 11:43:10 +02:00
chme
3048817c0b
[player] Add warning log message if overrun is detected but player is
...
still able to catch up
2017-07-09 11:43:05 +02:00
ejurgensen
6295f2d79a
[player] Make the player resilient in cases where an output blocks
...
(due to e.g. network problems) and also make sure that all devices
have called back before restarting after a suspend. Also a whole
lot of tidying up while I am at it.
2017-07-06 22:13:04 +02:00
ejurgensen
81a93bbec1
[player] Add config option high_resolution_clock
2017-06-26 23:32:24 +02:00
ejurgensen
5e48a68525
[player] device_restart_cb() should also handle failures due to device verification
2017-06-20 20:58:46 +02:00
ejurgensen
f63d103753
[raop] Add support for Apple TV device verification, required by tvOS 10.2 (fix for issue #377 )
...
- also change how speakers are saved/retrieved from the db
- add generic authorization methods in outputs.c and player.c
- let filescanner read *.verification files (containing PIN)
- configure options to enable and disable, since libsodium is required
2017-06-19 21:52:01 +02:00
ejurgensen
544791ef59
[player] Prevent crash if output is failed and triggers a playback_abort
...
when a pause or seek is requested
2017-05-04 18:06:18 +02:00
ejurgensen
b9e069939e
[mdns] Also handle devices being switched on/off without Avahi service removal notices
2017-05-02 23:13:53 +02:00
ejurgensen
5d74c98431
[input] Pass read errors to the player through the input buffer
2017-03-11 19:23:49 +01: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
245ce1d4e4
[player] Allow starting playback with no outputs
2017-02-08 22:31:47 +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
chme
4e4e91d4a2
[player] Add log messages in case playback_start_item returns -1
2017-02-04 08:35: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
dc84294348
[input/pipe] Parse basic Shairport metadata using mxml
2017-01-28 22:19:51 +01:00
ejurgensen
ab06a9fd7d
[player] Update info about player.c
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
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
aa8edeead4
[player] Add suspend/resume on underrun + misc fixing up
2017-01-27 22:35: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
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
chme
dea5c50b67
[player] Fix memleaks found with scan-build
2017-01-20 19:00:11 +01:00
Scott Shambarger
8ead7ea3b8
[config] configure.ac checks required features, updated porting
...
Added a real config.rpath
Fixed build date calc for BSD
Require some needed headers at configure time
Correctly check libav functions using pkg-config flags
Made checks for some Linux features available on other ports
Fixed porting issue with antlr dep files
Added default HOST_NAME_MAX if not defined
Added missing libav header
2016-12-29 16:14:22 -08:00
chme
c3e8568782
[player] Add 'consume' mode
...
If consume mode is active the current song is removed from the queue at
eof or if the next song action is triggered.
2016-12-09 14:48:24 +01:00
chme
2d1e5f6d60
[player/db] Remove function "db_file_get_seekpos"
2016-12-04 17:48:35 +01:00
chme
fdd85ccf66
[raop/dmap] Build raop metadata from queue item
2016-12-03 20:40:54 +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