Commit Graph

256 Commits

Author SHA1 Message Date
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
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