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
chme
30d43bef4f
[player] Fix return value in volume_setrel_speaker if device is not
...
selected
2016-08-06 06:34:34 +02:00
chme
2ae94e8f82
[player] Fix return value in playback_prev_bh if source_open failed
2016-08-06 06:31:09 +02:00
chme
cd9a3bae07
[player] Fix return value in playback_start_item if source_open failed
2016-08-06 06:29:55 +02:00
ejurgensen
547783d008
Merge pull request #268 from chme/threadexit
...
Refactor thread exit handling
2016-06-11 22:57:09 +02:00
chme
32ac6c2ea9
[commands] Rename commands_cmdloop_break to commands_base_destroy and
...
free commands_base after breaking the libevent loop
2016-06-11 10:56:27 +02:00
chme
a9a656042b
[player] Cleanup: player clock is the only sync-source available
2016-06-11 10:37:09 +02:00
chme
5258ee712c
[commands] Added functionality to break the event loop of a command base
2016-06-11 09:52:31 +02:00
chme
5dc1cba5c8
On deinit free event base before freeing command base and pipes
2016-05-21 06:48:02 +02:00
chme
3c9a7d9119
[player] Use generic commands for inter thread communication
2016-05-15 08:42:15 +02:00
ejurgensen
9a56044c77
[misc] Explicitly check for pthread_setname_np/pthread_set_name_np
...
Seems there is no pthread_setname_np in OpenWrt
2016-05-05 19:39:15 +02:00
ejurgensen
1f10c6a928
[player] Always reselect output devices when they return online
...
Consider this use case:
1. Playback stops, device switched off
2. Device switched back on, playback started by user
Before this commit, the device would be unselected when it came back on.
I don't think that is desirable, so with this commit the selection will
stay (except if the device comes back on during playback).
2016-04-30 23:55:45 +02:00
ejurgensen
960f89fcbd
[player] Remove unused var
2016-04-14 10:04:21 +02:00
ejurgensen
857055a18d
[player] Insert duplicate packets slowly on timer overrun
2016-04-14 09:48:48 +02:00
ejurgensen
acc1ff4a47
[player] Sort devices and autoselect based on priority
2016-04-14 09:48:47 +02:00
ejurgensen
c5bb83480d
[alsa] Add rewritten ALSA to generic outputs interface
2016-04-14 09:48:47 +02:00
ejurgensen
617303d545
[player] Purge laudio from player.c
2016-04-14 09:48:47 +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
ejurgensen
a07c24d625
[player] Fix possible segfault after playback stop on FreeBSD/machines with lo-res timers
2016-04-14 08:55:59 +02:00
chme
1fb1fc7d2d
[player] Add config option to disable clearing the queue after playback
...
stops (default is clearing the queue) and if true do not clear the
queue.
This option is necessary because some dacp clients rely on the queue
being empty if player is stopped. Retune for example does not always
show the queue contents if player state is stopped.
2016-03-20 07:45:21 +01:00
chme
e3750957f5
[player] Allow removing by position (dacp-requests) if player is stopped
2016-03-19 09:40:36 +01:00
chme
ed2fe682fe
[player] Allow moving by position (dacp-requests) 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
ejurgensen
abce1d0eeb
Merge pull request #237 from chme/threadnames
...
Set thread names
2016-03-12 17:18:34 +01:00
chme
98d6db002f
Set thread names to make it easier to identify threads during debugging
2016-03-12 14:01:08 +01:00
chme
9a5b67031e
[player] Remove unnecessary check for plid != 0 and set plid always to 0
...
if queue changed
2016-03-12 14:01:08 +01:00
ejurgensen
bd61399e49
[player] Only catch up by lowering sample rate if data_kind is http or pipe
2016-03-06 10:55:10 +01:00
ejurgensen
3000341acd
[player] Different timer catch up for files + remove timer abort
...
Timer abort should no longer apply since we may catch up for more
than a second. Introduce separate catch up strategies for files and
streams, since for files we can read at our own pace.
2016-02-28 22:28:37 +01:00
chme
494a936caa
[mpd] Implement mpd command 'move'
2016-02-21 19:01:52 +01:00
ejurgensen
a824f73779
[player] Remove some debug log messages
2016-02-12 22:00:10 +01:00
ejurgensen
bd75281340
[player] Save speaker name and rename raop_ to output_
2016-02-11 20:04:30 +01:00
ejurgensen
483a428bae
[chromecast] Try to improve session handling + actually remove device on mdns cb
2016-02-11 20:04:29 +01:00
ejurgensen
e4d209f8a0
[chromecast] Support for most basic functionality
2016-02-11 20:04:29 +01:00
ejurgensen
ffe8653d9e
[chromecast] Remove RAOP specifics from player.c, add generic output interface
2016-02-11 20:04:29 +01:00
ejurgensen
4c887ba7bb
[chromecast] First building blocks for supporting ChromeCast
2016-02-11 20:04:29 +01:00
ejurgensen
62eb1a067d
[player] Rename ticks to overrun and safeguard against decreasing from 0
2016-02-11 20:02:17 +01:00
ejurgensen
5f5a138c77
[player] Fix for player getting ahead of network streams (issue #218 )
...
Issue caused stuttering after a few hours. This fix will check if
the player is getting behind the playback timer. Apparently, we
sometimes get samples at a rate slightly below 44100 from network
streams, and then we end up consuming too quickly. This introduces
a way of reducing consumption if that happens.
2016-02-11 08:29:29 +01:00
chme
b2d2e9286f
[mpd] implement range support for 'delete' command
2015-11-22 12:06:01 +01:00
chme
8fc8d08b42
[player] Add missing notification of playlist changes after removing an
...
item from the playlist
2015-11-21 14:23:06 +01:00
ejurgensen
316af87189
Merge pull request #193 from chme/mpd
...
[mpd] Add support for moveid and close command
2015-10-31 11:31:27 +01:00
chme
1c409846d5
[player/queue] Add player commands to move queue-items by item-id
2015-10-31 07:56:50 +01:00
chme
94895b8eed
[player] if source is not pausable (http-streams or pipe) abort playback
...
on pause command
This restores the behaviour before the queue/player-refactoring.
2015-10-25 09:00:47 +01:00
ejurgensen
3e80e5c517
[transcode] Don't pass error to player on eof + some comments and cleaning
2015-10-22 22:09:19 +02:00
ejurgensen
9853b8f9bd
Merge pull request #188 from chme/playerfixes
...
Playerfixes
2015-10-19 22:15:43 +02:00