ejurgensen
f8c442ba38
[configure] Change so we enable/disable websockets based on libwebsockets >= 2.0.2 presence
2017-09-16 00:05:50 +02:00
ejurgensen
546362980b
Merge pull request #408 from chme/web
...
Add a web api and a webinterface
2017-09-15 23:15:49 +02:00
chme
da2e998c8d
[listener] fix typo in comment for stored playlists
2017-09-15 18:49:04 +02:00
chme
ecfea82234
[httpd/spotify] Redirect to admin.html, remove old oauth interface
2017-09-15 18:49:04 +02:00
chme
2c51c6571a
[misc] Add websocket to buildopts
2017-09-15 07:16:41 +02:00
chme
75eb5420fd
[httpd/websocket/conf] Initial websocket implementation
...
If enabled (default) requires libwebsockets >= 2.0.2, can be disabled
with configure option --disable-websocket.
2017-09-15 07:14:08 +02:00
chme
0abf195347
[httpd/json] Add json api to httpd
2017-09-15 07:07:17 +02:00
chme
42b644020d
[conf] Add "websocket_port" to config file
2017-09-15 07:04:18 +02:00
chme
f1e706ee8f
[httpd] Allow browsers to cache static files
...
Setting the response headers "Cache-Control" and "Last-Modified" results
in clients being able to cache the response. For a subsequent request
for the same file, the browser sets the request header
"If-Modified-Since" with the value from "Last-Modified" from the last
response. The server (httpd.c) checks if the file has been modified and
if not returns HTTP 304 Not Modified.
2017-09-15 07:01:53 +02:00
chme
5d5ed42749
[main/misc] Add misc-function to retrieve enabled buildoptions
2017-09-15 07:01:53 +02:00
chme
a04604f693
[logger] New logdomain L_WEB for websocket/jsonapi implementation
2017-09-15 06:56:24 +02:00
chme
9275f7a938
[httpd] Expose function for authenticating admin requests
2017-09-15 06:56:24 +02:00
chme
1d49413070
[httpd/conf] Fix serving files from WEB_ROOT folder and enforce setting
...
the admin password
Changes the default for the admin password to be unset, by default only
allowing access to the WEB_ROOT files if accessed from localhost.
2017-09-15 06:56:24 +02:00
chme
9b84150f6e
[misc_json] New function jparse_obj_from_evbuffer
2017-09-15 06:42:21 +02:00
chme
89fc1fa5b8
[misc/spotify] Move json helper functions into its own file
2017-09-15 06:42:21 +02:00
chme
a832e40bea
[spotify] Add function spotify_login_user
2017-09-15 06:42:21 +02:00
chme
29c0264444
[spotify] Add spotify status info and notify about status changes
2017-09-15 06:42:21 +02:00
chme
7bf6aec3a6
[listener] New event type for spotify status changes
2017-09-15 06:42:21 +02:00
chme
f449204ea2
[spotify] Add support for calling sp_session_user_name
2017-09-15 06:42:21 +02:00
chme
4b49ce69e2
[pairing/listener] Add function to retrieve name of remote and notify
...
about start and finish of remote pairing requests
2017-09-15 06:42:21 +02:00
ejurgensen
400f4ef3ee
[main] Fix typo
2017-09-08 08:19:49 +02:00
ejurgensen
c27448418c
[httpd/mpd] Make sure daemons listen on both ipv4 and ipv6 if enabled
...
Before setting ipv6 = enabled on FreeBSD would make the daemon not listen on ipv4
2017-09-07 23:14:18 +02:00
chme
ae446046f5
[mpd] Notify mpd clients on library update events
2017-08-27 11:54:32 +02:00
chme
f81d33701b
[listener/library] Notify listeners about start/finish of library update
2017-08-27 11:54:32 +02:00
chme
0b2ee5a9eb
[db/mpd] Simplify getting file count from db
2017-08-27 11:54:32 +02:00
ejurgensen
c45a85d143
[dacp] Fix issue where Hyperfine Remote provides speaker ids as decimal
...
Also align a bit on how we handle hex/dec parameters
2017-08-27 00:02:39 +02:00
ejurgensen
1b8adc11ed
[dmap] Use a wrapper for dmap_find_field()
...
Avoids the need to have definition of dmap_find_field in dmap_common.h that
must be kept in sync with the definition that gperf generates.
Also should fix compilation problems when gperf is not present, ref pr #390
2017-08-25 19:27:41 +02:00
ejurgensen
43abb18e4e
[transcode] Fix illegal write when *icy_timer is null (fixes issue #412 )
2017-08-20 23:08:36 +02:00
ejurgensen
2d3d641f41
Merge pull request #413 from chme/realpath
...
[misc] Replace m_realpath with realpath from stdlib.h
2017-08-12 21:52:30 +02:00
chme
14877a49e0
[misc] Replace m_realpath with realpath from stdlib.h
2017-08-12 13:35:22 +02:00
chme
d477294809
[filescanner] Guard against modifying files outside the library and
...
guard against creating m3u playlists with the same virtual path like pls
playlists
2017-08-12 10:22:18 +02:00
chme
8f49a6fb45
[mpd/conf] Add config option to enable modifying stored playlists
2017-08-12 10:16:07 +02:00
chme
dc3f9443e7
[mpd/conf] Add support for stored playlist commands (add/save/delete)
...
This also introduces a new config option to define a default playlist
folder. The default playlist folder is used by forked-daapd if the
playlist is not a full virtual path (simpifies creation of playlists
with mpd clients).
2017-08-09 21:41:32 +02:00
chme
d10c3672c6
[filescanner] Add support to save/add/delete local stored playlists
...
Allows creating/modifying of playlists in one of the configured library
directories.
2017-08-09 21:41:32 +02:00
chme
f84e87913c
[library] Allow save/add/delete of playlists if source supports it
2017-08-09 21:30:23 +02:00
chme
ff4b388d26
[db] Use db_get_one_int in db_pl_id_bypath
2017-08-07 20:13:46 +02:00
ejurgensen
a975dabded
[artwork] Re-apply commit ef13abe
to artwork_legacy.c
2017-08-07 00:09:27 +02:00
ejurgensen
e489f1a6a9
[configure] Use avcodec_parameters_from_context as check for codecpar
2017-08-06 22:31:43 +02:00
ejurgensen
394dee2a86
[raop] Log src and dst ip addresses (checking for ipv6, not sure it is allowed)
2017-08-06 22:31:43 +02:00
ejurgensen
548d9ada2e
[transcode] Fixup dead assignment
2017-08-06 22:31:43 +02:00
ejurgensen
c13ed8761a
[trancode/artwork] Put back compability with older versions of ffmpeg/libav
2017-08-06 22:31:43 +02:00
ejurgensen
f9375ef915
[transcode] More adjustments for libav 12
2017-08-06 22:31:43 +02:00
ejurgensen
6951639d24
[transcode] Adjustments for libav 12
2017-08-06 22:31:43 +02:00
ejurgensen
441ad006a6
[artwork/transcode] Also let transcode.c handle rescaling of non-file Spotify artwork
2017-08-06 22:31:43 +02:00
ejurgensen
e7f888645f
[artwork/transcode] Adjust transcode.c so it can take care of artwork
...
rescaling, meaning we can do without parallel ffmpeg interfaces.
This also moves artwork rescaling from libswscale to libavfilter, which
seems to fix a problem with PNG rescaling.
2017-08-06 22:31:43 +02:00
ejurgensen
d933e171d4
[filescanner_ffmpeg] Update to use ffmpeg's new stream->codecpar
...
- keep some compability with older ffmpeg/libav, but also remove some
2017-08-06 22:20:44 +02:00
ejurgensen
1e180b5ce8
[transcode] Call av_write_trailer before cleanup so that any flushed data
...
will be written to encode_ctx->obuf, where it can be passed to the caller
2017-08-06 22:20:44 +02:00
ejurgensen
e96b9500db
[transcode] Implement new ffmpeg decoding methods: avcodec_send_packet/avcodec_receive_frame
2017-08-06 22:20:44 +02:00
ejurgensen
5afed60a42
[transcode] Implement new ffmpeg encoding methods: avcodec_send_frame/avcodec_receive_packet
2017-08-06 22:20:44 +02:00
ejurgensen
7c8eba74bb
[transcode] Remove unused param to open_filter()
2017-08-06 22:20:44 +02:00
ejurgensen
25c1795af2
[transcode] Update to new ffmpeg api - part 1
...
- no more use of AVStream.codec
- ditch some backwards compability
- move closer to being able do video, at least for artwork
2017-08-06 22:20:44 +02:00
ejurgensen
b71b32438b
[player] Don't log single tick overruns
2017-07-23 16:58:18 +02:00
ejurgensen
b19553811c
[main] Respect the configure check for libevent_pthreads
2017-07-22 00:04:35 +02:00
ejurgensen
3f2ad41094
[alsa] Fix missing cleanup of failed ALSA sessions
2017-07-14 23:20:53 +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
ejurgensen
4085161e9a
Merge pull request #403 from jkellerer/pipe_metadata_volume
...
Add support for instant volume changes when using metadata pipe (pvol)
2017-07-14 19:43:40 +02:00
chme
b6807a24aa
[filescanner] Add missing break statement in process_file
2017-07-14 17:21:08 +02:00
juergen kellerer
93e4886993
[pipe] Added instant volume support (pvol) to named metadata pipe.
2017-07-13 21:53:35 +02:00
ejurgensen
072c940426
Merge branch 'playback_resilience'
2017-07-09 22:06:01 +02:00
chme
e136c726c1
[raop] Add device name to log message for retransmit requests
2017-07-09 11:44:05 +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
074b4e773d
[input] Increase input buffer size to two seconds
2017-07-08 23:37:12 +02:00
ejurgensen
1549d0d4b5
[pipe] Fix crash if pipe is deleted after being written to (caused by double free)
2017-07-08 01:41:12 +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
a23bb0b7e2
[raop] Clear auth_key for device verification if verify request to device is denied
...
- should make it easier for user to setup a new pin
2017-07-01 08:33:11 +02:00
ejurgensen
2068794b7f
[pairing] Make log message more helpful
2017-06-30 19:35:33 +02:00
ejurgensen
467b652da0
[rtsp] Silence event_del warnings
2017-06-27 22:15:53 +02:00
ejurgensen
81a93bbec1
[player] Add config option high_resolution_clock
2017-06-26 23:32:24 +02:00
ejurgensen
c2b1706855
[raop] Send correct volume as keep-alive for ATV's (fix for #368 )
2017-06-26 20:11:31 +02:00
ejurgensen
f4e171db75
[raop] Save verification key to db immediately after verification
2017-06-24 23:59:02 +02:00
ejurgensen
01308f7f83
Misc fixup to keep scan-build happy
2017-06-20 22:07:49 +02:00
ejurgensen
20128e2235
[raop] Raise log level of verification setup complete message
2017-06-20 21:36:21 +02:00
ejurgensen
9369e97753
[raop] Lower log level of verification success slightly
2017-06-20 21:17:17 +02:00
ejurgensen
299a8f9e4b
[mpd] Add support for "mpc sendmessage verification [pincode]"
2017-06-20 21:01:55 +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
7626b6c535
[raop] Fix bad enum
2017-06-20 20:00:05 +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
736979a9a2
[evrtsp] Add POST rtsp method - used for device verification
2017-06-18 01:31:23 +02:00
ejurgensen
0e9bca9e3d
[db] Add column for auth key to speakers table (incl methods for saving/retrieving)
2017-06-18 01:29:40 +02:00
ejurgensen
0642171de0
[mpd] Adjust so "sendmessage pairing" now gives an arglist to remote_pairing_kickoff()
2017-06-15 00:00:05 +02:00
ejurgensen
283df8aa72
[misc] Consolidate control file reader (e.g. for pairing credentials) into misc.c
...
- also remove requirement to enter device name in .remote file
2017-06-14 23:49:18 +02:00
Gergan Penkov
08d25154e5
fix the compilation problem because of gperf changes in 3.1
2017-05-27 12:28:00 +02:00
ejurgensen
3fe3c71ea7
[lastfm] Remove obsolete include of curl.h
2017-05-18 22:55:04 +02:00
ejurgensen
1aa8072e68
[misc] Change name of string_printf to safe_asprintf
2017-05-05 20:00:51 +02:00
ejurgensen
dcf75f59eb
Merge branch 'string_printf' of git://github.com/chme/forked-daapd into chme-string_printf
2017-05-05 19:43:17 +02:00
ejurgensen
497ffc2f43
[misc] Add __attribute__((__noreturn__)) to our abort functions so
...
scan-build doesn't complain about logic errors after abort
2017-05-05 19:41:17 +02:00
ejurgensen
f465f6a77d
[raop] Fix possible incorrect address family in SDP
2017-05-04 19:31:26 +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
e2f65debc8
[mdns] Keep Avahi resolvers alive so we get IP changes from e.g. Airplay devices (fix for issue #378 )
2017-05-02 19:27:35 +02:00
chme
2f1124d4dc
[mpd] Use string_printf instead of asprintf
2017-05-01 10:28:41 +02:00
chme
6887ff9d7b
[spotify] Use string_printf instead of asprintf
2017-05-01 10:21:58 +02:00
chme
4e6b78ca29
[misc] Add string_printf function
2017-05-01 10:21:57 +02:00
chme
6b9878490e
[mpd] Add missing free in channel_outputvolume
2017-04-30 19:27:44 +02:00
chme
989b44c8dc
[mpd] Implement 'channels' command (returns the special forked-daapd
...
channes like 'pairing')
2017-04-30 19:27:44 +02:00
chme
eeef65f951
[mpd] Add support to change output volume through sendmessage command
...
Output volume can be set by sending a message to the channel
'outputvolume' by passing a message with the output id and the volume
separated by a colon.
2017-04-30 19:27:44 +02:00
chme
d8b5951e40
[mpd] Move function mpd_command_outputvolume and split into two
...
functions
2017-04-30 19:27:44 +02:00
chme
9d72dc9176
[pairing] Only require the pin for kicking off the remote pairing
2017-04-29 23:36:11 +02:00
chme
170e4aaf75
[pairing] Only keep last remote pairing request from mdsn
2017-04-29 23:36:11 +02:00
chme
6f60006edb
[mpd] Support pairing remotes over mpd 'sendmessage' command
...
Adds a basic structure for supporting sendmessage and implements the
first message handler for the channel 'pairing'.
Pairing can be achieved by passing a message to channel 'pairing' in the
format "devicename:pin". With mpc this looks like 'mpc pairing
"devicename:1234"
2017-04-29 23:36:11 +02:00
chme
fd2c77cb9f
[pairing] Add public function to pair by devicename and pin
2017-04-29 23:36:11 +02:00
chme
8ed1c9c0ec
[pairing] Rename 'remote_pairing_read_pin' to
...
'remote_pairing_kickoff_byfile'
2017-04-29 23:36:11 +02:00
chme
3f10dac2f7
[dacp] Start playback from selected song in shuffle mode ( #379 )
2017-04-17 10:46:24 +02:00
ejurgensen
3a35a51cb9
[db] Align naming of struct query_params pointers et al
2017-04-16 23:54:07 +02:00
chme
626c77046c
[spotify] Fix empty spotify playlists
2017-04-10 09:33:22 +02:00
chme
cc29c617b0
[filescanner] Switch argument order (input first)
2017-03-19 18:30:46 +01:00
chme
888710612c
[library] Add missing attribute mapping from mfi to queue item
2017-03-19 18:30:46 +01:00
chme
e31fea6c44
[filescanner] Remove unused include and make privat function static
2017-03-19 18:30:46 +01:00
chme
59ade61d7b
[library] Rename constants
2017-03-19 18:30:46 +01:00
chme
f4aade7f3a
[filescanner] Fix and refactor scanning of playlists
2017-03-19 18:30:46 +01:00
chme
f5c65d1eef
[db] Do not notify clients in 'db_queue_add_by_query' if no items were
...
added
2017-03-19 18:30:46 +01:00
chme
a65737b4e7
[filescanner] Add scan-metadata function for non library items
...
For now only support scanning metadata for internet radio streams
2017-03-19 18:30:46 +01:00
chme
8381b7489e
[mpd] Try to read metadata and add to queue if path is not in the
...
library
2017-03-19 18:30:46 +01:00
chme
e6f49b721f
[library] New functions to support scan metadata for arbitrary path and
...
adding a mfi as a queue item
2017-03-19 18:30:46 +01:00
chme
cc899651c7
[db] New function to add a media file info as a new queue item
2017-03-19 18:30:46 +01:00
chme
bdd08f516f
[library] Rename 'library_process_media' to 'library_add_media'
2017-03-19 18:30:46 +01:00
chme
dadba23efc
Refactor library scan of media files
...
Remove the data_kind specific parts out of the general library functions
and into their (library) source specific functions.
2017-03-19 18:30:46 +01:00
ejurgensen
fce68ebd1a
[raop] Add option to exclude particular devices from speaker list
2017-03-15 23:24:24 +01:00
ejurgensen
ef13abe2cf
[artwork] Fix for issue #345 and #367 : Broken PNG rescaling
2017-03-15 22:12:37 +01:00
ejurgensen
efd6805f9e
Merge pull request #365 from chme/spotifybaseplaylist
...
Avoid adding spotify playlist folder
2017-03-11 19:30:31 +01:00
ejurgensen
5d74c98431
[input] Pass read errors to the player through the input buffer
2017-03-11 19:23:49 +01:00
chme
6c97448e2f
[spotify] Remove log messages after token request
...
The whole response is already written to the log in debug mode
2017-03-11 09:55:32 +01:00
chme
247abec88f
[spotify] Only create spotify playlist folder after successful login
...
Before creating the folder there should be either a valid api token or a
valid libspotify session.
2017-03-11 09:44:54 +01:00
ejurgensen
6c94cdd635
[httpd_daap] Honour sort param "artist" for album groups (fixes issue #358 )
2017-03-05 09:45:34 +01:00
ejurgensen
9f2f5566d2
[commands] Protect against race condition by moving event_add() inside lock
...
- otherwise commands_base_destroy() could free cmdbase before event_add()
2017-03-04 17:26:45 +01:00
chme
00e5e098d4
[spotify] Purge spotify songs from db before scanning after oauth ( #361 )
2017-03-04 17:24:42 +01:00
chme
1dde41fb87
[mpd] Fix wrong db playime info in 'stats' command ( #360 )
2017-03-04 17:23:52 +01:00
chme
1dfca1ec22
[dacp] Always start playing from the beginning of the shuffle queue
2017-03-04 08:57:58 +01:00
chme
03e9182423
[spotify] Fix usage of "artist_override" config value
2017-02-26 11:04:04 +01:00
chme
9c90cbcd12
[db] Fix return value of db_queue_add_by_query
2017-02-26 11:04:04 +01:00
chme
82e216c931
Add missing FALLTHROUGH comments to switch-case statements
...
This allows to suppress code analysis warnings in IDEs for missing break
statements.
2017-02-26 11:04:04 +01:00
chme
50b28bde96
[filescanner] Remove unused scan_metadata_icy function declaration
2017-02-26 11:04:04 +01:00
chme
78975b1aa3
[filescanner_ffmpeg] Add doc to scan_metadata_ffmpeg
2017-02-26 11:04:04 +01:00
chme
e4f25f9418
[filescanner_ffmpeg] Refactor: consolidate special handling for
...
http-streams
2017-02-26 11:04:04 +01:00
sshambar
c54c909ae4
Added support for libav/ffmpeg dual installs ( #346 )
...
* [config] Added support for libav/ffmpeg dual installs
Reordered CPPFLAGS/LIBS so that library flags (includes etc) appear
ahead of prefix/global directives and the correct headers/libraries
are checked (if symbols are defined in alternative libraries).
Updated libav checks to use header declaration checks
rather than link checks (so differences between
libav/ffmpeg can be correctly found), and updated code references
to use new defines. Added support the alternate pkg-config
package names for libav. Updated ffmpeg vs libav check
to check MICRO version number (>=100 for ffmpeg). Simplified
resulting configure script by using a function to merge
CPPFLAGS variables.
* [config] Use FORKED_OPTS prefix for libevent_pthreads option
* [config] Add --with-libav option to select libav even if ffmpeg present
2017-02-19 15:21:00 +01:00
ejurgensen
ff49e176f2
[spotify] Fixup header path to json.h
2017-02-16 21:51:46 +01:00
Scott Shambarger
c7855e7c55
[config] Min automake 1.11, support silent rules on automake < 1.13
2017-02-16 10:44:00 -08: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
98348b8fe9
[pipe] Removing CHECK_NULL with malloc, scan-build not happy about it
2017-02-11 00:28:29 +01:00
ejurgensen
f0c9843194
[pipe] Fix exit problem due to misuse of COMMAND_PENDING
2017-02-10 23:56:58 +01:00
ejurgensen
d8255e1d08
[pipe] Fix minor memleak
2017-02-10 23:03:38 +01:00
ejurgensen
13e6889990
[cast] Use friendly device name from mdns announcement
2017-02-10 19:27:52 +01:00
ejurgensen
d2fe608c72
[http_streaming] Reduce log severity if write returns EAGAIN, it
...
just means that pipe was temporarily full (ref issue #329 )
2017-02-08 22:47:49 +01:00
ejurgensen
245ce1d4e4
[player] Allow starting playback with no outputs
2017-02-08 22:31:47 +01:00
ejurgensen
1f15fb1993
[pipe] Refactor pipe input, hopefully into a more thread safe version
2017-02-08 22:29:37 +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
ejurgensen
f27fb53caf
[input] Rename player source ->xcode to ->input_ctx, because any input may use it, not just transcode
2017-02-08 22:29:37 +01:00
ejurgensen
a183463bb2
[spotify] Try to avoid image load callbacks from Spotify after timeouts,
...
since the artwork struct may have become invalid
2017-02-07 23:23:39 +01:00
ejurgensen
3a7ed96895
[misc] Adding missing header for non-Posix timer platforms
2017-02-07 23:22:38 +01:00
chme
1f4e474671
[spotify] Retrieve playlist tracks based on user country ( #352 )
...
This avoids adding unplayable items to the library and due to the active
track relinking should make additional tracks playable by linking to a
playable version of the track.
2017-02-05 13:56:12 +01:00
ejurgensen
18fe8fe0ef
[pipe] Temporary "fix" for threading issues
2017-02-05 00:11:21 +01:00
chme
9680fa093a
[db] Fix mpd command 'delete' removing to many items
...
Previously db_queue_delete_bypos iterated over the items and called
delete for each item. The delete also adjusted the pos/shuffle_pos
values for the remaining items.
A delete of pos = 0 resulted therefor in:
- fetch item with pos = 0
- delete item at pos
- update remaining items to pos = pos - 1
- fetch item with pos = 0 (returns the new item at pos 0)
- delete item at pos
- ...
2017-02-04 08:37:58 +01:00
chme
d293356d8b
[db] Extract function to fix queue position values
2017-02-04 08:37:58 +01:00
chme
1c8263224e
[db] Fix incorrect query for db_queue_delete_bypos
2017-02-04 08:37:58 +01:00
chme
bd4e379f15
[dacp] Fix requests for cue_play with command = "play"
2017-02-04 08:35:02 +01:00
chme
4e4e91d4a2
[player] Add log messages in case playback_start_item returns -1
2017-02-04 08:35:02 +01:00
ejurgensen
9d8dbaffe1
[db] Fix typo ( closes #347 )
2017-02-01 18:56:34 +01:00
ejurgensen
bbb3322ddc
[spotify] Flush audio buffer on playback stop - and since we are
...
flushing from another thread we use evbuffer_enable_locking() which
in turn adds a requirement for libevent_pthreads to be present
2017-01-30 22:50: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
12567d8e93
[pipe] Make Shairport metadata parser work with incomplete reads from pipe
2017-01-28 22:20:35 +01:00
ejurgensen
41c5ef1474
[compat] Suppress warnings about unused functions
2017-01-28 22:20:35 +01:00
ejurgensen
b6f969d96e
[pipe/mxml] Add compability with older versions of mxml
2017-01-28 22:20:35 +01:00
ejurgensen
97aa544945
[library] Move library update trigger to new library module
2017-01-28 22:20:35 +01:00
ejurgensen
dc84294348
[input/pipe] Parse basic Shairport metadata using mxml
2017-01-28 22:19:51 +01:00
ejurgensen
ea874154b2
[input/file_http] Use swap_pointers to transfer ownership of metadata
2017-01-27 22:36:00 +01:00
ejurgensen
67d0504700
[input] Let input_metadata_free zero metadata like the other free functions
2017-01-27 22:36:00 +01:00
ejurgensen
c975cf4474
[misc] Set output of safe_xxx to 0 also in error cases (for safety)
2017-01-27 22:36:00 +01:00
ejurgensen
ab06a9fd7d
[player] Update info about player.c
2017-01-27 22:36:00 +01:00
ejurgensen
ae1f2d75d3
[pipe] Prepare reading and parsing Shairport metadata pipes
2017-01-27 22:36:00 +01:00
ejurgensen
8b5cac0538
[file/http/input] Implement metadata handling through input interface
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
7b6a7b65b3
[input] Add interface for getting metadata from input modules
2017-01-27 22:36:00 +01:00
ejurgensen
2696b27972
[artwork] Let the artwork handler for streams use queue->artwork_url instead of calling the player, which was messy
2017-01-27 22:36:00 +01:00
ejurgensen
4d4a4ffd70
[db] Remove special icy update function, add db_queue_update_item()
...
- we will use the latter generalised form from now on, even though it is perhaps a tad slower
2017-01-27 22:36:00 +01:00
ejurgensen
e92152cadb
[db] Upgrade db to 19.03: Add artwork_url column to queue table
2017-01-27 22:36:00 +01:00
ejurgensen
40d50d693b
[misc] Add small function to swap pointers
2017-01-27 22:36:00 +01:00
ejurgensen
ee32b9cb70
[pipe] Reset pipes when required + prepare for metadata pipes
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
9fb62441d2
[pipe] Use worker thread instead of filescanner for watching pipes
2017-01-27 22:36:00 +01:00
ejurgensen
061beaf272
[worker] Make sure worker accepts NULL-arguments
2017-01-27 22:35:16 +01:00
ejurgensen
7f7207bb87
[pipe] Pipe input interface (wip)
2017-01-27 22:35:15 +01:00
ejurgensen
acc67338a1
[input] Add a buffer full callback for the player
2017-01-27 22:35:15 +01:00
ejurgensen
aa8edeead4
[player] Add suspend/resume on underrun + misc fixing up
2017-01-27 22:35:15 +01:00
ejurgensen
18918ce489
[db] Rename db_file_save_seek -> db_file_seek_update
2017-01-27 22:35:15 +01:00
ejurgensen
6af8fa07b4
[spotify] Use timespec_reltoabs instead of internal mk_reltime
2017-01-27 22:35:15 +01:00
ejurgensen
6db4e40119
[misc] Add function to add a relative time to current clock
2017-01-27 22:34: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
60daf03f66
[cache/scan] Let notifications from db.c about library updates go through
...
filescanner/listener instead of directly to the cache
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
ejurgensen
c50b038397
[misc] Move STOB and BTOS macros to misc.h
2017-01-27 22:01:24 +01:00
ejurgensen
171a75375b
[outputs] Fix for (unlikely) situation where all outputs have no init()
2017-01-27 22:01:24 +01:00
ejurgensen
41aa530fd3
[http] Add support for http post in the libevent client (required for scrobbling)
2017-01-25 22:52:11 +01:00
ejurgensen
db4068f046
[artwork] Hardcode destination pixel format for png rescaling since
...
avcode_find_best_pix_fmt_of_list() does not live up to its name
(fixes issue #345 )
2017-01-25 21:02:41 +01:00