Commit Graph

4003 Commits

Author SHA1 Message Date
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
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
8c0be3a0f3 [docs] Improve Spotify login instructions 2017-08-26 10:33:54 +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
ejurgensen
05b15d9679 Merge pull request #384 from chme/storedplaylist3
[mpd] Initial support for stored playlists
2017-08-12 21:49:08 +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
0f4f8a9a40 Merge branch 'ffmpeg_update2' 2017-08-07 00:13:31 +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
Scott Shambarger
6b94a34501 [config] Added check for modern AV apis 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
03ec423f83 Bump to version 25.0 2017-07-22 00:25:35 +02:00