Commit Graph

281 Commits

Author SHA1 Message Date
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
chme
6c66d39d91 [player] Fix segfault if player reaches end of queue, fix repeat single 2016-12-03 11:12:19 +01:00
chme
a0590ce548 [db/player] Icy metadata update 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
chme
faaeb92ce5 [player] Reading media_file_info is not necessary in source_pause 2016-12-03 10:58:26 +01:00
ejurgensen
51e6008ef6 Merge pull request #305 from chme/streamsetup
Reduce dependency to media file in stream setup methods
2016-11-26 17:43:24 +01:00
ejurgensen
bdd6bab982 [-] Lots of housekeeping thanks to scan-build and input from @acmay 2016-11-19 23:08:50 +01:00
chme
6690ba32eb [player/transcode/httpd] Pass path, data_kind and song_length to
transcode_decode_setup/transcode_setup
2016-11-12 09:11:40 +01:00
chme
477088a36c [player/pipe] Only pass path to pipe_setup 2016-11-12 09:11:40 +01:00
chme
2db3318ce7 [player/spotify] Only pass spotify-path to spotify_playback_setup 2016-11-12 09:11:40 +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
chme
3981c67e3a [player] Do not execute the bottom half if playback_start is called
while player is already playing (results in s segfault after adding new
items through dacp clients)
2016-10-23 08:25:19 +02:00
ejurgensen
b3a1e744d6 [player] Fix possible segfault on http timeouts
Cause: 1) av_read_frame blocks and times out, 2) cur_streaming gets set to NULL, 3) playback timer callback where cur_streaming gets deref
2016-09-25 22:19:59 +02:00
ejurgensen
ac290b8b65 [player] Config option to disable speaker autoselection (closes #282) 2016-09-10 23:26:06 +02:00
chme
da83af04e2 [player] Fix return value in repeat_set if repeat mode did not change 2016-08-06 06:36:42 +02:00