ejurgensen
b5087e110f
[xcode] Modifications for ffmpeg 5 ( fixes #1396 )
2022-01-21 19:25:58 +01:00
ejurgensen
33837f0382
[mpd] Coverity fixups
2022-01-20 21:42:05 +01:00
ejurgensen
6f6a9c6cb9
[misc] Coverity fixups
2022-01-20 21:42:05 +01:00
ejurgensen
ad4c7fd74c
[main] Coverity fixups
2022-01-20 21:42:05 +01:00
ejurgensen
933affaa7e
[remote] Coverity fixups
2022-01-20 21:42:05 +01:00
ejurgensen
dcb3973aa4
[web] Coverity fixups
2022-01-20 21:42:05 +01:00
ejurgensen
3e099072e8
[streaming] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
2d84b0bab9
[alsa] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
cd4386228d
[spotify] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
0fdca0587c
[airplay] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
a09da06e8f
[scan] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
d72958f1f7
[db] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
070866b41a
[jsonapi] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
53ee9a3c39
[daap] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
334beb1cfa
[httpd] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
c9aac896ee
[player] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
0bc574fafe
[rtsp] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
b059d73211
[commands] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
e321c54655
[artwork] Coverity fixups
2022-01-20 20:17:38 +01:00
ejurgensen
d857116e41
[daap] Fix null dereference on missing group-type param
2022-01-14 23:12:49 +01:00
ejurgensen
5e6f19a6da
[airplay] Fix reading features txt from Kodi ( fixes #1381 )
...
Adds support for "features" values that are not comma separated.
2022-01-12 20:33:07 +01:00
ejurgensen
021a53aa64
[spotify] Add missing return() in librespot-c channel.c
2022-01-11 20:11:35 +01:00
ejurgensen
6a0c7db50a
[airplay] Disable unused ntp_to_timestamp()
2022-01-11 20:10:54 +01:00
whatdoineed2do/Ray
07a9ed6654
[jsonapi] composer review
2021-12-30 10:49:45 +00:00
whatdoineed2do/Ray
69d32eb691
[jsonapi] support composers
...
- enable search for composer (albums/tracks)
- expose new rest endpoint for retreiving all known composers
2021-12-29 14:14:56 +00:00
chme
8dfbb460c2
[db/readme] Add comment to browse_info object; update docs for genre
...
endpoint
2021-12-29 12:01:42 +01:00
chme
8becdee8f1
[db] Refactor db_query_fetch_* functions to take the output parameter
...
first and the input parameter as last parameter
2021-12-28 07:23:56 +01:00
chme
a65ee4462e
[db] Refactor fetching query result into generic function
...
Additionally changes the return value in case the end of the result set
is reached.
2021-12-28 06:55:35 +01:00
chme
d7086cab00
[db,jsonapi] Additional meta data for browse queries
2021-12-28 06:29:07 +01:00
chme
f3fa343b9b
[spotify] Add missing listener notification on librespot logout
2021-12-26 20:22:06 +01:00
whatdoineed2do/Ray
8f9356ff11
[http,conf] allow user to request no ssl peer verification
...
This solves for the case where hosted RSS podcasts have self signed or
expired certs: using default (verify peer) in these instances results
in 'SSL peer certificate or SSH remote key was not OK'
2021-12-18 17:00:05 +00:00
ejurgensen
5efe0eeb0f
[pipe] Fix regression in commit 6646802
...
Don't try to apply pipe metadata if parsing failed. Resolves #1366 .
2021-12-12 10:32:42 +01:00
ejurgensen
d6cc0e453d
[airplay] Update pair_ap to 0.12
...
Better input validation of public keys
2021-12-06 22:49:34 +01:00
ejurgensen
088e26c1f0
[airplay] Fix rare pairing bug due to incorrect SRP padding (ref #1280 )
...
Update pair_ap to version 0.11, which it fixes an issue where some randomized
values of SRP "a" are short enough that they require padding.
2021-12-04 23:05:33 +01:00
ejurgensen
1418bfb245
[scan] Don't iTunes playlist scan timestamp on failed scan
...
Also some refactoring.
Closes #1359
2021-12-01 20:11:54 +01:00
ejurgensen
b71c353fc9
[spotify] Update librespot-c for better connection handling
...
- New attempt at fixing #1317 : Don't prevent reconnection if a request is queued
- Protection against flooding Spotify with reconnection attempts
- Don't reconnect when getting a stop request during blocked download
2021-11-27 15:10:56 +01:00
ejurgensen
ce5634e372
[spotify] Fix log message typo
2021-11-20 14:55:27 +01:00
ejurgensen
6646802832
[pipe] Fix deadlock coming from metadata pipe (issue #1343 )
...
Cause of deadlock:
new volume pipe metadata -> lock pipe mutex -> set player volume waiting for
player -> player waiting for input write -> input write waiting for get
metadata -> get metadata waiting for mutex
Change implementation so lock is only held while parsing/storing metadata,
where it is required, and not when calling the player.
2021-11-15 23:13:13 +01:00
ejurgensen
0d67f26662
[artwork] Fix memleak on pipe artwork error
2021-11-15 22:57:43 +01:00
ejurgensen
6d54886030
[librespot-c] Close connection if peer disconnects
...
Attempt to fix possible bad state where librespot-c keeps try to using a
connection even after the access point has disconnected.
2021-11-04 17:20:55 +01:00
ejurgensen
5e66dbd8c9
[spotify] Fix Spotify initialization issues
...
* loading library even though library playback login failed
2021-11-01 10:37:17 +01:00
ejurgensen
65d578f8c8
[scan] Ignore 0-byte files in library so ffmpeg 3.2 doesn't crash
2021-10-29 23:08:37 +02:00
whatdoineed2do
a5f75dab36
[jsonapi] /api/library/*/{id} returns 404 (instead of 500) on not finding item ( #1326 )
...
Co-authored-by: whatdoineed2do/Ray <whatdoineed2do@nospam.gmail.com>
2021-10-25 17:36:51 +02:00
ejurgensen
d2ee9f20fb
[jsonapi] Add PUT /api/library/tracks endpoint (update multiple tracks)
...
Also fix error in json doc (track->id type)
2021-10-10 23:31:34 +02:00
ejurgensen
41e3733ccc
[misc] Make safe_xxx integer conversions safer by checking for NULL input
...
Also don't touch output on error + fix missing check for return in db.c
2021-10-09 23:39:00 +02:00
ejurgensen
c4d57aa5d1
[spotify] Clear spotify_status on logout (clears logged_in and username)
2021-10-05 20:46:44 +02:00
ejurgensen
ae7280b770
[library] Fix macos format warning
...
library.c:233:123: warning: format specifies type 'long' but the argument has type '__darwin_suseconds_t' (aka 'int') [-Wformat]
2021-10-01 19:01:32 +02:00
ejurgensen
679c142212
[db] Remove unused strdup_if()
2021-10-01 18:58:13 +02:00
ejurgensen
5e93080aa2
[airplay] Fix warning about int type seqnum
2021-10-01 16:52:47 +02:00
ejurgensen
aff8ac6a6b
[raop] Fix warning about int type seqnum
2021-10-01 16:52:02 +02:00
ejurgensen
7572560bf2
[chromecast] Fix format and type errors
2021-10-01 16:44:30 +02:00
ejurgensen
63c3d59d2f
[spotify] Preserve fine-grained errors from request_make()
2021-09-24 19:17:47 +02:00
ejurgensen
6692411040
[-] Fixup PR 1309 (usermark)
2021-09-17 22:58:21 +02:00
whatdoineed2do/Ray
4d5c256327
[db,jsonapi] revert usermark from queue item table
2021-09-16 10:43:55 +01:00
whatdoineed2do/Ray
16cf3cb44b
[jsonapi] use u32 types for parsing param: rating
2021-09-16 09:11:31 +01:00
whatdoineed2do/Ray
52d1ba7dd4
[db,jsonapi] remove DB_FILES_USERMARK_MAX
2021-09-15 08:40:07 +01:00
whatdoineed2do/Ray
d43ce017f5
[db,jsonapi,smartpl] db usermark flag review
2021-09-08 14:51:55 +01:00
whatdoineed2do/Ray
e65203e1e2
[db] expand file tbl's flag values
2021-09-07 11:49:24 +01:00
whatdoineed2do/Ray
ad573b8bc7
[db,jsonapi]] update api/library/tracks and db to accept 'flag' param
2021-09-06 20:15:35 +01:00
whatdoineed2do/Ray
5cbb5f061d
[smartpl] add review 'flag'
2021-09-06 20:15:35 +01:00
whatdoineed2do/Ray
4dcc9b602e
[db] add review 'flag' column to files/queue tbls
2021-09-06 20:15:35 +01:00
Christian Meffert
29cd5a7a19
Merge pull request #1286 from chme/spotify_podcasts
...
[spotify] Scan spotify podcast subscriptions into library
2021-09-04 12:06:26 +02:00
chme
d8a344d87c
Fix wrong check for NULL after creating smartpl parser
2021-09-04 09:55:11 +02:00
chme
ce3e79d804
[spotify] Move "has_podcast_support" to spotify_status and expose this
...
flag in the web API
2021-09-04 09:46:29 +02:00
chme
c58e792ff4
[spotify] Code format change
2021-09-04 09:46:28 +02:00
chme
f700935b57
[spotify] Add artwork support for episodes (podcasts)
2021-09-04 09:46:28 +02:00
chme
24450bc90a
[spotify] Scan spotify podcast subscriptions into library
2021-09-04 09:46:28 +02:00
ejurgensen
3f13ab1026
[pipe] Use fstat instead of lstat to fix time-of-check time-of-use warning
...
Fixes warning from CodeQL. Wasn't really a security issue since the check was
just a service to the user.
2021-09-02 00:17:22 +02:00
ejurgensen
de7ab1547f
[library] Remove needless stat() in scan_playlist()
...
Fixes time-of-check time-of-use warning from CodeQL
2021-09-02 00:12:18 +02:00
ejurgensen
54faa11ce5
[spotify] Update librespot-c so ./configure works with FreeBSD
2021-09-01 17:11:45 +02:00
ejurgensen
7584e6377f
[misc] Fix forgotten return in net_evhttp_bind()
...
Makes it impossible to use the bind_address config setting properly
2021-08-30 23:46:36 +02:00
ejurgensen
e1375f6ad6
[streaming] Clean up streaming_player_status_update()
...
Fixes compiler warning from newer versions of gcc + reduces malloc's
2021-08-27 16:46:08 +02:00
ejurgensen
774d7c36fd
[input] Logging changes
2021-08-18 01:00:17 +02:00
ejurgensen
f4983b8a11
[airplay] Add missing include of errno.h in the new events handling
...
Closes #1294
2021-08-14 21:13:50 +02:00
ejurgensen
b6835fac29
[airplay] Support for airplay events (eg Homepod controls)
...
Ref. issue #1181
2021-07-31 01:16:23 +02:00
ejurgensen
246d8ae0ce
[misc] Fix use-after-free in net_bind()
...
Thanks to Ba Jinsheng for reporting this bug
2021-07-31 00:55:48 +02:00
Christian Meffert
dc8e66109e
Merge pull request #1284 from chme/web-update
...
Web interface v1.1.0
2021-07-09 10:03:38 +02:00
Christian Meffert
81dafab4ac
Merge pull request #1283 from chme/smartpl-comment-field
...
[smartpl] Add "comment" field to smartpl expression language
2021-07-09 10:02:51 +02:00
Christian Meffert
3a9589c25b
Merge pull request #1282 from chme/httpd_webroot
...
[httpd] Dereference web root directory to allow symlinks
2021-07-09 09:56:06 +02:00
ejurgensen
d2f4efa1bf
[misc] Centralize thread naming plus name websocket thread
2021-07-05 21:40:31 +02:00
ejurgensen
eae09039d5
[spotify] Add missing include of config.h
2021-07-05 21:09:02 +02:00
chme
1e4728f6b1
[jsonapi] Expose "use_libspotify" config
2021-07-04 14:40:08 +02:00
chme
44c24cee0f
[jsonapi] Add "comment" field to track object
2021-07-04 12:03:05 +02:00
chme
467b169210
[smartpl] Add "comment" string field
2021-07-04 11:48:51 +02:00
chme
93b9740233
[httpd] Dereference web root directory to allow symlinks
2021-07-04 11:41:39 +02:00
ejurgensen
e18969ef75
[rsp] Interpret artist in queries as album_artist ( fixes #1263 )
2021-06-07 20:22:36 +02:00
ejurgensen
5d2d2ea227
[spotify] Add missing include of errno.h ( fixes #1267 )
2021-06-05 21:10:22 +02:00
ejurgensen
9fbbf9836c
[spotify] Submit actual system info to Spotify
2021-06-05 21:09:44 +02:00
ejurgensen
4463d4e7d8
[-] Fix build with old libgcrypt versions (eg Buster's) with no pkg-config
2021-06-01 20:29:16 +02:00
ejurgensen
6f0fef6179
[spotify] Reintroduce libspotify support, change spotifyc to librespot-c
...
Select use of either libspotify or librespot-c as streaming backend via config
option.
librespot-c (renamed/improved spotifyc) impl has the following:
- sync interface
- seek support
- honor bitrate config, set client and thread name
- use web access token with "streaming" scope for login
- fix issue with podcast playback
Also say goodbye to file-based Spotify login.
2021-05-31 23:24:58 +02:00
ejurgensen
2bbc5f16c5
[xcode] Add support for seekable custom I/O (evbuffer input to transcode)
2021-05-31 11:55:32 +02:00
ejurgensen
57449a126a
[xcode] Merge avio_evbuffer into transcode
...
Only used by transcode anyway. Makes it easier to add custom seek for evbuffer.
2021-05-31 11:55:32 +02:00
ejurgensen
b058f47ffb
[input] Also log input buffer threshold in debug mode
2021-05-31 11:55:32 +02:00
ejurgensen
a67c74ba6c
[spotify] Introduce own spotifyc as replacement for libspotify
2021-05-31 11:54:30 +02:00
ejurgensen
d3cc8a52f8
[mpd] Minor fixup
2021-05-28 16:57:57 +02:00
ejurgensen
c96dc1fcff
[dacp] Fix support for device-volume (speaker volume buttons)
...
Closes #613
2021-05-26 23:20:40 +02:00
ejurgensen
d2187d0ace
[db] Partially revert commit aaffa4a
so that source sort tags are used again
...
Fix for issue #1257
2021-05-25 23:44:53 +02:00
ejurgensen
684c23a044
[db] Fix error where adding Spotify track to queue returns "0 tracks added"
...
Caused by queue_item_add returning >0 as success, but caller is expecting ==0.
Try to avoid other occurancess of this issue by generally checking for error
("ret < 0") instead.
2021-05-24 21:55:09 +02:00
ejurgensen
5fdace5195
[web] Remove verbose listener_cb() logging added in commit f939215
2021-05-21 23:43:00 +02:00
ejurgensen
28f8ff5253
[web] Fix libwebsocket 2.0 (Debian Buster) incompability added in commit 1a56255
2021-05-21 19:59:12 +02:00
ejurgensen
5de0533232
[airplay] Add mdns txt for Sonos Symfonisk
2021-05-21 18:50:28 +02:00
ejurgensen
1a56255c54
[web] Fix for websocket server only listening on ipv6 on FreeBSD
...
Credit @luusl
2021-05-21 16:13:44 +02:00
ejurgensen
5128d9478a
[misc] Fix for evhttp_bind_socket not supporting dual stack ipv4/6 on BSD
2021-05-20 21:01:00 +02:00
ejurgensen
c1db4d914f
[http] Also allow remote playlists to have https streams ( fixes #1251 )
...
Fix it by adding net_is_http_or_https() utility function in misc.h and make
sure it used whenever a http protocol check is made.
2021-05-19 22:53:25 +02:00
Christian Meffert
f93921554e
Merge pull request #1243 from luusl/enhance_websocket
...
Improve the websocket to send events to clients immediately.
2021-05-19 20:32:08 +02:00
taku0220
4d22cb05b3
[scan]Add sort tags for ALAC
2021-05-19 03:02:08 +09:00
martin
f3e5400caf
Libwebsockets 2.x compatibility
2021-05-17 12:47:57 +02:00
martin
a15edfcae9
Improve the websocket to send events to clients immediately.
2021-05-13 22:54:11 +02:00
ejurgensen
520a1251ec
[-] Change forked-daapd -> owntone in src/.gitignore
2021-05-06 20:48:52 +02:00
ejurgensen
a93455b5a9
[cfg] Rename configure macros FORK -> OWNTONE
2021-04-24 23:54:20 +02:00
ejurgensen
5f1686695a
[-] Name update forked-daapd -> owntone throughout the code
2021-04-24 23:54:20 +02:00
ejurgensen
f61665b81d
[-] Rename source and target names from forked-daapd to owntone
2021-04-24 23:54:20 +02:00
ejurgensen
89807b61ed
[input] Fix possible segfault-on-exit
...
Could occur if killed during playback (because input_stop() is async, thus
referencing cmdbase after it is destroyed)
2021-04-22 17:00:36 +02:00
luusl
8a1f85a14e
Fixed potential crash on pulseaudio sink info callback, when an error
...
occurs.
2021-04-12 13:11:47 +02:00
ejurgensen
f77161b5c2
[jsonapi] Get currently playing queue item details ( closes #1206 )
...
Add now_playing shorthand, so that /api/queue?id=now_playing returns the
currently playing queue item info.
2021-04-05 08:49:27 -07:00
ejurgensen
1fafab12e3
[xcode] Fix for "Invalid return value 0 for stream protocol" log msg
...
Custom avio must not return 0, see https://patchwork.ffmpeg.org/project/ffmpeg/patch/20171025082258.32530-2-george@nsup.org/
2021-04-05 09:57:50 +02:00
ejurgensen
c7faefe1f8
[docs] Change git links: owntone/forked-daapd -> owntone/owntone-server
2021-04-01 22:09:26 +02:00
ejurgensen
790c9dcca9
[misc] Define SOCK_NONBLOCK and SOCK_CLOEXEC if platform doesn't
2021-04-01 01:45:09 +02:00
ejurgensen
64d6b0d4c3
[raop] Fix scan-build make warning after removing switch in commit 98dad07
2021-04-01 01:21:11 +02:00
ejurgensen
ba8b752a9b
[misc] Fix macOS build (doesn't have SOCK_CLOEXEC)
2021-04-01 00:01:12 +02:00
ejurgensen
ed6176062a
[airplay] Logging adjustments
2021-03-31 23:55:25 +02:00
ejurgensen
d2a5f939f5
[mpd] Bind via misc.c's net_xxx methods
2021-03-31 23:55:25 +02:00
ejurgensen
d4711decdc
[httpd] Bind via misc.c's net_xxx methods
2021-03-31 23:55:25 +02:00
ejurgensen
11151affbd
[misc] Add net_evhttp_bind() for centralizing libevent based binding
2021-03-31 23:55:25 +02:00
ejurgensen
c423f3af91
[cfg] Add websocket_interface option
2021-03-31 23:55:25 +02:00
ejurgensen
e5fcfc6574
[cast] Use net_connect() instead of own cast_connect()
2021-03-31 23:55:25 +02:00
ejurgensen
98dad07b7f
[airplay] Convert services to dual stack, plus use net_connect() and net_bind()
2021-03-31 23:55:25 +02:00
ejurgensen
f3febb63d9
[raop] Convert services to dual stack, plus use net_bind() and net_connect()
2021-03-31 23:55:25 +02:00
ejurgensen
dfc1580f13
[misc] Add logging of net_connect() service
2021-03-31 23:55:25 +02:00
ejurgensen
dd0f0ece78
[mdns] Remove ipv4/ipv6 argument to mdns_browse
...
Make sure mdns_browse() always works the same, and follows user config.
2021-03-31 23:55:25 +02:00
ejurgensen
7871d71a9c
[misc] Add utility network functions, incl configurable addr binding
...
Also make misc.c/h a bit less messy.
2021-03-31 23:55:25 +02:00
ejurgensen
3673aa7215
[player] Protect against crash if very first input_write() is FLAG_ERROR
2021-03-31 22:20:56 +02:00
ejurgensen
daa0652e7b
[docs] Rename repo: ejurgensen -> owntone
2021-03-30 23:39:07 +02:00
ejurgensen
75f6c72003
[misc] Correct comment
2021-03-27 22:44:16 +01:00
ejurgensen
9c3887a80f
[commands] Add missing include
2021-03-27 22:44:02 +01:00
ejurgensen
19635e61ec
[httpd] Fix scan-build make warning from commit 3a03c74
...
Potential buffer overflow
2021-03-15 21:59:40 +01:00
chme
3a03c74f91
Deny access to files outside the web root directory
2021-03-14 09:08:16 +01:00
ejurgensen
363bd5644b
[pipe] Support for Shairport sync metadata flush event
2021-03-12 19:48:01 +01:00
ejurgensen
bbe7526414
[airplay] Update pairing modules (pair_ap 0.2)
2021-03-07 23:02:14 +01:00
Peter Salas
8ba35dfa19
[scan] Remove leftover iTunes #ifdefs
2021-02-28 08:31:16 -08:00
ejurgensen
036100eecd
[cast] Length check of protobuf messages just to be safe
2021-02-17 22:45:45 +01:00
ejurgensen
13be7999cb
[db] Add some headers in db_upgrade.c for easier navigation
2021-02-10 20:05:56 +01:00
ejurgensen
bd91a238ec
[db] Upgrade schema to 21.06, change default of query_limit to 0
2021-02-10 20:04:56 +01:00
ejurgensen
79b4a070b0
[db] Change type of "disabled" to int64
...
Before the value in the db was not read straight into mfi->disabled and
pli->disabled, instead it was evaluated as != 0, so the ->disabled field
would just be true or false. This was also necessary when INOTIFY_FAKE_COOKIE
(1 << 32) was written to the DB, because it could not fit in the uint32 of
mfi->disabled/pli->disabled.
I consider this juggling poor practice, so with this change it is read straight
in and out, always as a int64.
2021-02-09 15:16:06 +01:00
ejurgensen
b6163c9d34
[db] Fix bug in bind_generic, input to sqlite3_bind_int64 should be int64_t
2021-02-09 15:16:06 +01:00
ejurgensen
1fa1d9091b
[db] Consolidate setting struct fields from database queries
2021-02-09 15:16:06 +01:00
ejurgensen
689d1ce3dd
[db] Refactor queue_item functions
...
- Use prepared statements
- Add qi_mfi_map that defines mapping between mfi, dbmfi and qi
- Use qi_cols_map/qi_mfi_map for iteration (avoid duplicating field references)
- Stick to "qi" as name for a queue_item in db.c (more similar to mfi/pli/gri)
- Some renaming and other minor stuff in db.c's queue code
2021-02-09 15:16:06 +01:00
ejurgensen
76c52bba3b
[rsp] Add ALAC as a codec Roku supports (ref issue #1182 )
2021-01-29 20:31:53 +01:00
ejurgensen
ac6d87656a
[airplay] Change recommended airplay2-receiver repo
2021-01-29 20:30:22 +01:00
chme
f75947f29a
[db] Remove break after v2103 update and directly run update for v2104
...
The break results in the ugrade stopping at v2103 and only after another
restart of forked-daapd the update to v2104 happens. Removing it will
directly update to the latest DB version.
2021-01-23 16:32:41 +01:00