ejurgensen
bd6f38282c
[httpd] Main commit that adds multithreading to httpd
...
Also refactor streaming implementation to make it more like an output and to
let the design support multithreading.
2023-03-07 21:01:10 +01:00
ejurgensen
74f1b93b42
[httpd] Make http modules agnostic to evhttp
2023-03-07 21:01:10 +01:00
ejurgensen
2778088c52
[httpd] Refactor to use modules for daap, dacp, json api etc.
...
Removes a lot of code duplication which hopefully will make it easier to add
support for evhtp as http engine.
2023-03-07 21:01:10 +01:00
ejurgensen
316d932d99
[dmap] Move dmap_send_error() to dacp_send_error()
...
Means dmap_common doesn't need a dependency to httpd and http replying is kept
within httpd_xxx modules.
2023-03-07 21:01:10 +01:00
ejurgensen
23979d223c
[httpd] Refactor http handlers so they are initialized centrally
...
Means regex.h doesn't need to be in httpd.h making it easier to e.g. experiment
with evhtp.
2023-03-07 21:01:10 +01:00
whatdoineed2do/Ray
48526c2ab7
[dacp] bug fix - play item from 'up next' when stopped
2022-09-03 01:32:01 +02:00
ejurgensen
54aa9c32cc
[dacp] Listen for queue events to support json api metadata updates
...
Will only work for http and pipe sources
Fixes #1433
2022-03-22 20:57:43 +01:00
ejurgensen
228c8e7920
[daap] Move daap_query_parse_sql() into dmap_common.c/h, drop daap_query.c/h
2022-01-29 17:46:40 +01:00
ejurgensen
53ee9a3c39
[daap] Coverity fixups
2022-01-20 20:17:38 +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
ejurgensen
c96dc1fcff
[dacp] Fix support for device-volume (speaker volume buttons)
...
Closes #613
2021-05-26 23:20:40 +02:00
ejurgensen
5f1686695a
[-] Name update forked-daapd -> owntone throughout the code
2021-04-24 23:54:20 +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
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
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
ejurgensen
de1b1c3805
[cfg] Remove hardcoding of strings for unknown album etc
...
Now configurable, since we don't have real localisation
2020-05-11 17:02:14 +02:00
ejurgensen
08b2eb8d4c
[dacp/player] Change support for prevent-playback and busy (ref issue #934 )
...
Adds support for dcmp.device-busy, and also changes handling of
device-prevent-playback so it matches iTunes better.
2020-04-10 21:01:41 +02:00
ejurgensen
dfd2a4ab14
[dacp] Increase current revision number even if there are no open requests
...
This change aligns with iTunes behavior. It also means that a client that is
not long polling can use the revision number (cmsr) value to check for changes.
2020-01-12 01:06:34 +01:00
ejurgensen
92dee0386d
[daap/dacp] Workaround so that libevent cleans up when a long poll is disconnected
...
See https://github.com/ejurgensen/forked-daapd/issues/870
2020-01-12 01:06:34 +01:00
ejurgensen
4fa7eb98a0
[daap/dacp] Fix for memleak when client hangs up
2020-01-12 01:05:59 +01:00
ejurgensen
cc78926721
[dacp] Support for volumeup, volumedown and mutetoggle (issue #873 )
...
Mute toggle only supported via enable/disable
2020-01-03 23:40:16 +01:00
ejurgensen
af1bc27dd5
[dacp] Support for dmcp.device-prevent-playback (issue #855 )
2020-01-03 19:36:35 +01:00
ejurgensen
80b183c7ff
[dacp] Fix for genres that have single quotes in their name ( fixes #869 )
2020-01-03 19:05:48 +01:00
chme
6e5d6791ff
[player/dacp/mpd/jsonapi] Combine seek commands into one with mode param
...
Also changes relative seeking behavior:
- seeking behind the the current track only switches to the previous
track, if we are not more than 3 seconds into the current track,
otherwise starts current track from the beginning
- seeking beyond the current track will start the next track from the
beginning
2019-10-20 14:36:21 +02:00
ejurgensen
e1a0e366cf
[dacp] Make sure Remote updates images from metadata pipes
2019-09-20 21:47:17 +02:00
ejurgensen
87ca6363ae
[player/input] Refactor - WIP
...
* Open input sources earlier
* Gapless playback
* Remove fixed 44100/16 from player
* Complete restructure player internals
2019-03-18 23:06:08 +01:00
chme
116c315a84
[player] Rename struct spk_info to player_speaker_info
2019-01-22 17:47:15 +01:00
chme
7252b3e509
[db] Add support to add items to the queue at specified position
2018-09-16 09:36:43 +02:00
chme
3ca5402638
[dacp] Only return requested number of queue item ( fixes #556 )
2018-09-13 21:11:41 +02:00
ejurgensen
93730281f4
[dacp] Map discrete-pause to playpause command handler
2018-09-07 21:40:23 +02:00
ejurgensen
3ba92aa860
[httpd] Better logging of unauthorized requests
2018-09-07 17:01:32 +02:00
ejurgensen
b6e1269cf2
[raop/dacp/player] Support for Airplay speakers to register volume updates
...
Implements Active-Remote, which is sent to the speaker, so it can use this
to tell us who it is when it makes dacp request with a device-volume update.
2018-05-27 16:12:20 +02:00
ejurgensen
646bf37f17
[dacp] Add support for play + stop commands
...
These commands are not used by Remote, but some Airplay speakers are
able to make them (e.g. my Sony STR-DN1040).
Also prepare being able to set the device volume property.
2018-05-14 23:09:04 +02:00
chme
7dd8955a92
[filescanner] Add http stream to the library prior to adding to a
...
persistent playlist
2018-04-15 22:09:28 +02:00
chme
2b5fa56bf9
[dacp] Add missing call to "db_queue_enum_end" in error case
2018-03-08 21:50:41 +01:00
chme
93879c6f90
[player] Refactor speaker enumerate callback
2018-02-10 09:04:18 +01:00
chme
ef52f4ddc0
Rework user rating updates
2017-12-15 19:08:32 +01:00
Wolfgang Scherer
bbc5d3787e
[mpd] rating sticker translator
2017-12-15 19:08:32 +01:00
chme
f696229fff
[player/dacp/mpd] Pass additional information to speaker enum callback
2017-12-03 10:46:03 +01:00
chme
8d130cdc7c
[listener] Support passing multiple events in a single notify call
2017-11-18 07:15:45 +01:00
ejurgensen
a6fab4ac0d
[httpd/mpd] Adjustments to commit #69ff42f
2017-11-15 23:13:20 +01:00
ejurgensen
3d5aeda7aa
[httpd] Implement "trusted_networks" option
...
Some clients aren't really capable of authenticating + some users probably
don't want to enter a password for the web interface. This option allows
clients on for instance the local network to connect without authentication.
2017-11-12 21:29:57 +01:00
ejurgensen
6d937469f5
[httpd] Decrease log level of stream complete messages
2017-11-11 22:20:09 +01:00
ejurgensen
473a29ef8a
[httpd] More refactoring, reduce code duplication in the httpd_xxx modules
2017-11-11 22:20:09 +01:00
ejurgensen
709d99d4c4
[httpd] Major refactor of the httpd request handling
...
Make it easier to add new parameters later, get rid of redundant code, clean
up, align between httpd_xxx modules and introduce new bugs. Yes, the refactor
got a bit out of hand.
2017-11-11 22:20:09 +01:00
ejurgensen
0ebdd89715
[httpd_dacp] Log unrecognised requests
2017-11-11 22:20:09 +01:00
ejurgensen
d9f6097886
[httpd_dacp] Update to align with master
2017-11-11 22:20:09 +01:00
ejurgensen
725319789e
[httpd_dacp] Add debug logging of our playstatusupdates
...
Might help trace why some remotes sometimes show incorrect status
2017-11-11 22:20:09 +01:00
ejurgensen
eff9e6ebeb
[httpd] Add promiscuous mode option, i.e. no auth requirements
...
For people who want to avoid the web login, or want to get around pairing
problems. This is also added because commit #e59a1a1 means that all
Remotes are now subject to auth, not just those with a user-agent name that
starts with "Remote".
2017-11-11 22:20:09 +01:00