Commit Graph

5393 Commits

Author SHA1 Message Date
whatdoineed2do/Ray dd2ee019a8 [streaming] drop client mp3 streaming connections if libav has mp3 encode 2020-06-11 13:11:12 +01:00
ejurgensen 9af258a50f
Update Ubuntu workflow, add apt-get update 2020-06-08 11:26:30 +02:00
ejurgensen e3f8c5b44e [docs] Include wildcard in libgnutls Debian package name (closes #1026) 2020-06-03 20:14:16 +02:00
ejurgensen 8046f13698 [outputs] Fix issue where speaker becomes unselected after pause (flush) 2020-05-30 21:31:27 +02:00
ejurgensen 70a84ab9dc [docs] Add MacOS build instructions with Homebrew 2020-05-28 17:30:14 +02:00
ejurgensen 92406e5794 [docs] Remove obsolete mention of MPoD 2020-05-28 17:29:38 +02:00
ejurgensen 5fd79a52c5 Merge branch 'player_listener1' 2020-05-28 16:59:38 +02:00
ejurgensen 5d22f11b0e [player/outputs] Fix for speaker selection and volume adj (closes #1011)
* Make sure that vol_adjust() bases adjustments on the same speakers that the
  user sees as active
* If a speaker fails during activation we unselect it, so that we don't keep
  trying to start it, so we find a new master volume if required, and so it is
  possible for the user to reselect it.
2020-05-27 23:02:29 +02:00
ejurgensen a9a6f4b584 [outputs] Check for session in outputs_device_authorize() 2020-05-27 23:02:29 +02:00
ejurgensen 384b1171d9 [raop] Change device verification so we don't risk stale sesssions
Before, if a user never verified the device, we would have a device->session
even though the device was not streaming and was in a failed state.

This solution should be more clean and in line with the overall principle that
we only have a session when communicating with the device.

Also includes a bit of code refactoring.
2020-05-27 23:02:29 +02:00
ejurgensen 138d482510 [dummy] Add capability to mock device verification for testing 2020-05-27 23:02:29 +02:00
ejurgensen d6ec6afb5b [outputs] Remove outputs_authorize()
Replaced by outputs_device_authorize()
2020-05-26 23:21:06 +02:00
ejurgensen 3cca778419 [player] Stop using outputs_authorize() so it can be removed
Use outputs_device_authorize() instead
2020-05-26 23:20:29 +02:00
ejurgensen d18e49f59b [jsonapi] Make PUT /api/outputs/x capable of device verification 2020-05-26 22:46:49 +02:00
ejurgensen 18e75c2445 [player] Add player_speaker_authorize()
A more straightforward function for device verification, using the new
outputs_device_authorize() function.
2020-05-26 22:45:38 +02:00
ejurgensen 2fa2d33602 [outputs] Add a more standard device authentication function
outputs_authorize() has two issues, one that the caller can't specify device
(problem if there are two devices waiting for verification), the other that it
didn't offer a standard callback, so difficult to catch failure/success.
2020-05-26 22:42:06 +02:00
ejurgensen 9308f81224 [player] Get rid of listener notifications direct from outputs
Try to consolidate in player.c
2020-05-25 22:43:08 +02:00
ejurgensen 010185eab5 [player] Another way of implementing commit 3b033e48 2020-05-25 22:43:04 +02:00
ejurgensen 3b033e48ee [player] Consolidate listener handling in one player trigger - wip
The goal is to make the listener invokation more unified and less ad hoc. Also
reduce risk of blocking/deadlocking player thread.
2020-05-25 22:42:22 +02:00
ejurgensen 3885b92111 [worker] Remove not-so-useful log message 2020-05-25 22:42:22 +02:00
ejurgensen 38ed9e59ad [listener] Update so that comments etc match actual use 2020-05-25 22:42:22 +02:00
ejurgensen 108744e02b
Update workflow file to see if the action runs now 2020-05-25 21:15:31 +02:00
ejurgensen 5683a7a793 Merge branch 'chme-github-actions' 2020-05-23 17:57:24 +02:00
ejurgensen 279431dd91 [gh-actions] Use local antlr3_install script for MacOS workflow 2020-05-23 17:55:55 +02:00
ejurgensen 498ce9f9c7 Modify antlr install script so it can run without prompts
Useful for automated actions, e.g. Github workflow
2020-05-23 17:35:53 +02:00
chme 0c157451cd [gh-actions] Fix OSX build in Github actions
- fetch raw antlr3 install helper script and make it executable
- fix fatal error "'openssl/ssl.h' file not found" while building
forked-daapd (included in libwebsocket.h)
(https://github.com/libimobiledevice/libimobiledevice/issues/389#issuecomment-289284190)
2020-05-23 09:48:08 +02:00
ejurgensen 18a37f7177
Try Github action workflow for Ubuntu 2020-05-22 20:17:57 +02:00
ejurgensen de54f547d5
Try Github action workflow for MacOS build 2020-05-22 20:10:57 +02:00
ejurgensen 4bdc8e6b9e Remove Github actions file again, didn't work 2020-05-22 20:07:20 +02:00
ejurgensen bd3a872cd0 Add Github action workflow for MacOS build 2020-05-22 20:03:53 +02:00
ejurgensen e132b2fd25 Merge branch 'streamurl1' 2020-05-19 23:08:26 +02:00
ejurgensen 37521406f3 [input] Split file_http.c input into file.c and http.c
The common code is by now limited, and there is a lot of http-specific code.
2020-05-19 23:06:36 +02:00
ejurgensen 3c65f8a71e [docs] Add README_RADIO_STREAMS.md
Credit @sfeakes
2020-05-19 23:06:36 +02:00
ejurgensen 8acb2a647d [http] Don't set ICY metadata if they are just empty strings
An empty string will mean that m3u tags won't get used (unless m3u_override is
configured), but they should be used, since they are probably better than an
empty string.
2020-05-19 23:06:36 +02:00
ejurgensen a69cc65ff6 [input] Download StreamUrl resource async so input thread is not blocked 2020-05-19 23:06:36 +02:00
ejurgensen 28df2fb0f9 [input] Extra comment 2020-05-19 23:06:36 +02:00
ejurgensen 552c201cf3 [artwork] Change cache strategy for artwork_url_get
Credit @sfeakes
2020-05-19 23:06:36 +02:00
ejurgensen b44e5b3ede [input] Add handler/parser for StreamUrl tags 2020-05-19 23:06:36 +02:00
ejurgensen ca82857bfe [artwork] Add artwork_extension_is_artwork() + some fixup/renaming 2020-05-19 23:06:36 +02:00
ejurgensen d2ac216f47 [http] Change name of struct field for StreamUrl
Should not be called artwork_url, since it also can link to other ressources.

Also some fixup, e.g. use new macros.
2020-05-16 00:13:31 +02:00
ejurgensen d073781445 [json] Add endpoint to delete a setting (reset to defaults) 2020-05-16 00:13:10 +02:00
ejurgensen bb434297ca [artwork] Be more forgiving towards incorrect mime content-types 2020-05-15 23:10:43 +02:00
Christian Meffert aaadc28001
Merge pull request #1000 from whatdoineed2do/web-localised-time-filter
[web-src] use browser locale for 'time' filter for display
2020-05-15 07:55:16 +02:00
whatdoineed2do/Ray 947b0db3f0 [web-src] use locale date format 2020-05-14 17:14:51 +01:00
ejurgensen 65831bb9ca [docs] Add svg logo to repository
Credit @cdlenfert
2020-05-13 22:43:26 +02:00
ejurgensen 25795053b7 Fix for Travis build stopping on tzdata install prompt 2020-05-12 23:21:35 +02:00
ejurgensen 360e46683b [input] Add a simple input for testing timing 2020-05-12 22:25:38 +02:00
ejurgensen c1fad30df0 Merge branch 'input_progress2' 2020-05-12 22:20:50 +02:00
ejurgensen e570cbdcbd [player] Use input progress metadata to update clients
Before, we were ignoring progress metadata, and we were also updating clients
and db too early with input metadata (right when read from the input, instead of
waiting until playback (speakers) were at that position.

This change adds a complicated async chain of events from when the update is
received.
2020-05-12 20:16:15 +02:00
ejurgensen 68022d5c10 [dacp] Change update id's more often
Sometimes the artwork changes, but the album does not (especially likely if we
are in a row of "Unknown album"-tracks)
2020-05-11 21:39:02 +02:00