Commit Graph

5741 Commits

Author SHA1 Message Date
ejurgensen 04fa902b01 [xcode] Change open_input() to return ffmpeg error 2020-11-21 20:40:30 +01:00
ejurgensen eea3a3bd27 [xcode] Fix memleak on open input error 2020-11-21 20:40:30 +01:00
ejurgensen a0830727dd
Merge pull request #1131 from whatdoineed2do/rss-playlistitems-deletion-fix
[rss] defer playlistitems purge til ready to update with new rss
2020-11-21 20:31:38 +01:00
whatdoineed2do/Ray 2e69f5dac6 [rss] defer playlistitems purge til ready to update with new rss
Current impl fetches pl, purge pl items, fetch RSS, inserts entries.  If the RSS
fetch fails (remote server is temporary unreachable) the playlistitems for that
RSS are all dropped.

This has a side effect that RSS playlists cannot be determined from tracks (see
issue #1126) and thus cannot be deleted.

Simple fix to defer playlist item purge to the point that the RSS fetch is ok
and before the inserts
2020-11-21 14:01:39 +00:00
chme 5bb3cb1006 [gh-actions] Add codeql config file to exclude compiled js, html, css 2020-11-21 13:04:21 +01:00
Christian Meffert f192b6dd2e
Merge pull request #1128 from chme/web_next
Player web interface v0.8.2
2020-11-21 12:04:22 +01:00
chme ba0aa969b2 [htdocs] Rebuild player web interface v0.8.2 2020-11-21 11:59:29 +01:00
chme 94bdd18648 [web-src] Fix missing cover update for streams 2020-11-21 11:59:28 +01:00
chme 070f5bb8a9 [web-src] Fix Spotify search for single type 2020-11-21 11:08:26 +01:00
chme cbfea854d2 [web-src] Search tab buttons now trigger search 2020-11-21 11:06:18 +01:00
chme ee6419041a [web-src] Update dependencies and set version to v0.8.2 2020-11-21 10:01:38 +01:00
Christian Meffert afb4594602
Merge pull request #1127 from whatdoineed2do/web-podcast-delete-typo
[web-src] typo blocking podcast deletion dialog
2020-11-21 09:51:56 +01:00
whatdoineed2do/Ray c0ba076e2b [web-src] typo blocking podcast deletion dialog 2020-11-20 19:07:46 +00:00
ejurgensen e3308a464b Merge branch 'castfix2' 2020-11-18 23:29:00 +01:00
ejurgensen 695927de2a [artwork] Remove old artwork_get_xxx in favor of new which has a format arg 2020-11-18 23:23:05 +01:00
ejurgensen a9e6497be2 [cast] Increase packet buffer 2020-11-18 23:13:00 +01:00
ejurgensen 572c15a04d [cast] Remove some unused MEDIA_xxx commands 2020-11-18 23:13:00 +01:00
ejurgensen bb8719718a [cast] Rename state enums, don't use MEDIA any more 2020-11-18 23:13:00 +01:00
ejurgensen d5f5e312ab [cast] Add config option for max_volume, like for Airplay 2020-11-18 23:13:00 +01:00
ejurgensen c21266d26f [cast] Use RTCP ACKs/nACKs from device to control how packets are sent
Previously we just sent packets when ready, which especially during startup
meant a largish number of packets got sent rapidly. This seemed to cause audio
glitches. With this change the rate is adapted to follow ACKs from the device,
which is more in line with Chromium's way, though still far from the same.

Also added capability to resend packets when a nACK is received.

Also some wip attempts at sending coverart as VP8 video.
2020-11-18 23:13:00 +01:00
ejurgensen dff64e3dd0 [raop] Remove endian includes, now included via rtp_common.h 2020-11-18 23:13:00 +01:00
ejurgensen 06d1d7273d [player] Add a basic RTCP parser for Chromecast packets
Also put the endian includes in the header, both raop.c and cast.c will need
them.
2020-11-18 23:13:00 +01:00
ejurgensen cd9fa019dd [misc] Add NTOSTR() macro
Get the string value of a number definition
2020-11-18 23:13:00 +01:00
ejurgensen 5929938a18 [outputs] RTP: Distinguish clearly between payload type and marker bit
Also make quality an optional input to rtp_session_new(), since it isn't
required internally by the RTP module.
2020-11-18 23:13:00 +01:00
ejurgensen 2098349fdb [artwork] Add ability to request a specific image format 2020-11-18 23:13:00 +01:00
ejurgensen 7e106aec09 [xcode] Add VP8 encoding profile 2020-11-18 23:13:00 +01:00
ejurgensen a11ab808b2 [cast] Make fake announcement of video stream (fixes #1092)
For unknown reasons some Chromecast devices disconnect causing a TLS error if
we don't OFFER a video stream. Seems actually sending video isn't required to
fix the issue.
2020-11-18 23:13:00 +01:00
ejurgensen db43d51568 [xcode] Explicitly set the frame duration of OPUS packets to 20 ms
Protect against errors in case future versions of ffmpeg change default
2020-11-18 23:13:00 +01:00
ejurgensen ad4b886a11 [cast] Make GET_CAPABILITIES request in debug mode
Note that not all devices support this request
2020-11-18 23:13:00 +01:00
ejurgensen 92953f1a2c [cast] Use unsigned ints for ID's so we don't risk negative values
ssrc_id could become negative because rtp_session.ssrc_id is uint32, but we
were printing it with %d.
2020-11-18 23:13:00 +01:00
ejurgensen 504a66a315 [cast] Add some comments 2020-11-18 23:13:00 +01:00
ejurgensen b86259fd57
[docs] Update README with Airplay troubleshooting info
Ref. issue #902 and #1123
2020-11-18 20:11:07 +01:00
ejurgensen 09b6225967
Merge pull request #1122 from sshambar/update-spec2
[spec] Add comment on reason for libplist-devel requires
2020-11-17 11:54:01 +01:00
Scott Shambarger e30f755181 [spec] Add comment on reason for libplist-devel requires 2020-11-16 11:27:54 -08:00
ejurgensen 9239726c68
Merge pull request #1121 from sshambar/update-spec
[spec] Update rpm spec to handle libplist-devel name variations
2020-11-15 23:09:45 +01:00
Scott Shambarger 0195a56490 [spec] Update rpm spec to handle libplist-devel name variations 2020-11-14 12:24:08 -08:00
Christian Meffert 22a4af7b93
Merge pull request #1111 from whatdoineed2do/disable-playlist-caching
[db] playlist cache invalidation fix
2020-11-07 08:43:07 +01:00
ejurgensen 745fee4eb9 [db] Remove unused macro STR() 2020-11-05 23:02:44 +01:00
ejurgensen 92dbd717d8
Merge pull request #1116 from 0mp/patch-2
Encourage FreeBSD users to use the ports framework
2020-11-04 12:07:45 +01:00
Mateusz Piotrowski 6d95262174 Encourage FreeBSD users to use the ports framework 2020-11-04 11:51:02 +01:00
ejurgensen 6eb01f8ffc [outputs] Remove incorrect NULL return if packet buffer seqnum is 0
Since seqnum wraps around it should be ok to call rtp_packet_get() even when
session->seqnum is 0.
2020-11-03 23:44:22 +01:00
whatdoineed2do/Ray 7917695676 [db] add LISTENER_DATABASE for db_pl_*() on CRUD 2020-11-03 10:12:42 +00:00
whatdoineed2do/Ray 827921a028 [db] update db_statement_run() to accepts update events like db_query_run() 2020-11-03 09:28:14 +00:00
Christian Meffert db5ba5bf47
Merge pull request #1112 from whatdoineed2do/web-random-playlist
[web-src] random playlist playlist modal fix
2020-11-02 20:01:06 +01:00
ejurgensen fb2c3c5cc4
Merge pull request #1114 from niacat/master
Remove unnecessary check for FreeBSD
2020-11-02 15:51:18 +01:00
nia 4cdeb1afea Remove unnecessary check for FreeBSD
The non-timerfd code path depends on SIGALRM being defined, so signal.h
always needs to be included.

This allows forked-daapd to build and run on NetBSD and probably other
BSD systems too.
2020-11-02 15:07:17 +01:00
whatdoineed2do/Ray 2057d8cf0a [web-src] random playlist playlist modal fix
the 'uris' is passed from page/PagePlaylist.vue to handle a dynamic 'random'
smartpl playlist - we cannot add via 'playlist.uri' because when it will ask
the server for that uri it will generate another set of tracks, different to
the ones on display of the playlist page
2020-10-26 11:27:15 +00:00
Christian Meffert 3395773c9f
Merge pull request #1105 from chme/rescan-metadata
[spotify] Force metadata update on library "metarescan" update
2020-10-24 09:57:40 +02:00
ejurgensen 36d07baf2c [docs] Update INSTALL Debian quick guide (issue #1104)
Suggest actual package name instead of wildcard, since that throws apt off
2020-10-20 23:37:16 +02:00
ejurgensen c20b85a6d9 [artwork] Always stash results of http requests in cache, even if negative
This is an attempt to be nice to peers, so that we don't make many similar
requests to e.g. Discogs. This could happen via proces_items() for an album
where we have the same artwork url for each track, and if it was 404 we
would continue attempting the same request for each track.
2020-10-20 23:22:49 +02:00