Commit Graph

61 Commits

Author SHA1 Message Date
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
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
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
e6793b4779 [player] Add player_playback_start_byid() function, will be needed for pipe input 2017-02-08 22:29:37 +01:00
ejurgensen
0b9b008a1a [player] Try to consolidate metadata handling + use input interface 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
3e24f857fa [input] Add input interface to player - WIP 2017-01-27 22:01:24 +01: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
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
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
36755031cb [outputs] Make a wrapper for mp3 streaming so it can be included in
the generic outputs interface and so special handling in player.c can
be removed
2016-04-14 09:48:47 +02: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
chme
494a936caa [mpd] Implement mpd command 'move' 2016-02-21 19:01:52 +01:00
ejurgensen
ffe8653d9e [chromecast] Remove RAOP specifics from player.c, add generic output interface 2016-02-11 20:04:29 +01:00
chme
b2d2e9286f [mpd] implement range support for 'delete' command 2015-11-22 12:06:01 +01:00
chme
1c409846d5 [player/queue] Add player commands to move queue-items by item-id 2015-10-31 07:56:50 +01:00
ejurgensen
2a610812a5 Refactor transcode.c so it can actually transcode + use new capability to support mp3 streaming.
Also includes the skeleton for perhaps supporting video in the future. Adds more fine-grained
ffmpeg/libav compability checks. Dependency on libavresample/libswresample exchanged with
dependency on libavfilter, which seems more versatile.
2015-10-09 23:58:27 +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
b19a7280b9 [player] remove unused player_queue struct 2015-10-04 08:05:37 +02:00
chme
fbce3a7d57 [player] Confusing naming of ids cleaned up 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
a06424a701 [mpd] Expose queue-item-id instead of dbmfi-id in mpd commands
[player] Reshuffle on end of playlist and repeat mode is "repeat all"
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
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
79cdfebf34 Merge pull request #150 from chme/mpdidle
Add support for mpd idle command
2015-05-21 22:31:03 +02:00
chme
8c12929b91 Added source code comments, return error value if adding/removing a
listener failed
2015-05-21 07:57:18 +02:00
chme
3886ec6638 Add version number for playlist (queue)
This is necessary to return a valid playlist id for mpd status command.
2015-05-09 07:46:33 +02:00
chme
d2c7c87191 use listener logic to send dacp update requests 2015-05-09 07:46:33 +02:00
chme
fb92040d4b expose generic player_queue_make function 2015-05-09 07:35:15 +02:00
ejurgensen
e72447954a Some cleaning up of ICY artwork retrieval 2015-04-09 22:22:42 +02:00
ejurgensen
6221e24f1b Support for live ICY metadata for streams (incl. artwork) 2015-03-14 21:42:53 +01:00
chme
63a480d5fc refactor playback_start, added comments to clarify the use of
item_range, renamed some variables (avoid using "song")
2015-02-14 22:39:51 +01:00
chme
830054bd71 Initial support for mpd protocol 2015-02-14 08:50:18 +01:00
ejurgensen
29265d6170 Drop special FreeBSD stream period 2014-09-27 23:08:24 +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
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
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
6062ca014b Make the player able to stream from pipes 2014-03-31 13:10:18 +02:00
ejurgensen
7ed6cc98c3 Add support for Spotify (squashed commit), and:
- Try to not return items which a client can't play
    - Remove inotify subscription to IN_MODIFY and IN_CREATE
    - Fix crash on unknown codec type in transcode.c
    - Probably added some new bugs...
2014-03-11 23:20:29 +01:00
ejurgensen
258163e6ce hi-res timer commit broke FreeBSD. This attempts to go back to the
old code for FreeBSD.
2014-02-08 22:59:07 +01:00
Anthony Doko
949cf3808d Add support for embedded platforms that don't have high-res timers. 2014-02-05 18:11:10 -08:00
ejurgensen
afd25b79d9 Support for playqueue-edit 2013-11-22 16:41:57 +01:00