Commit graph

128 commits

Author SHA1 Message Date
badaix
e8bb8ecdba Send initial hardware mixer volume to the server 2020-05-01 22:37:25 +02:00
badaix
9bb1c4a041 Make controller async, add client Mixer settings
Controller uses the asio io_context and thus uses one thread less.
This also fixes a lot of thread sanitizer issues.
2020-05-01 22:37:25 +02:00
badaix
bbdbe48cbc Fix compile error on Windows 2020-04-19 15:22:05 +02:00
badaix
827cfb7985 Fix client latency 2020-04-19 14:27:41 +02:00
badaix
ad8332345f Remove SLOG from logging 2020-04-16 09:01:09 +02:00
badaix
30753f9f61 Rename WasapiMode to SharingMode
The mode is more general and will be applied
in a second step also to other audio devices
2020-04-10 10:15:58 +02:00
Stijn Van der Borght
9737c1ac44 wasapi: added client option for selecting shared/exclusive mode 2020-04-08 11:33:25 +02:00
Stijn Van der Borght
094ec9b53c re-added Outurnate's Windows client for master branch 2020-04-08 11:33:25 +02:00
badaix
238116071a Remove unneeded loop 2020-03-12 23:47:23 +01:00
badaix
d49b5c251c Switch to exception_ptr for async exceptions 2020-03-12 23:33:10 +01:00
badaix
1bc8f74c41 Change SampleFormat variables to getters 2020-02-18 22:47:04 +01:00
badaix
3fc8b9ca08 Add optional resampling of the output stream 2020-02-14 08:46:13 +01:00
Christian Flach
8c8226f2dc Remove most usages of "new" and "malloc" in the client 2020-02-12 22:46:15 +01:00
badaix
eb3a240120 Add ClientSettings struct for client settings
Add "player" command line argument to choose the player backend.
Currently there are only for Android different players available.
2020-02-09 19:57:10 +01:00
badaix
5b9fc3d68d Add Oboe player for Android 2020-01-24 23:06:12 +01:00
badaix
8c6d703ec5 Update copyright dates 2020-01-04 01:03:48 +01:00
badaix
e9a5a36855 Client uses less memory allocations 2019-12-12 21:46:23 +01:00
badaix
6b793dfb76 Replace some shared_ptr with unique_ptr 2019-12-11 22:48:21 +01:00
badaix
07e8290ee4 Add namespace for encoder and decoder 2019-11-04 14:53:02 +01:00
badaix
258bab4f65 WIP opus is working, some values are hard coded 2019-11-02 13:19:55 +01:00
badaix
0c7691756c merge PR#4 2019-11-01 23:07:32 +01:00
badaix
7fda592d13 enable extra warnings 2019-10-13 19:01:56 +02:00
badaix
0b21a5daee rename files to snake_case 2019-10-13 18:43:32 +02:00
badaix
a30f548a31 rename files to snake_case 2019-10-12 18:28:29 +02:00
badaix
ea3921d8b7 rename some files to snake_case 2019-10-12 14:34:00 +02:00
badaix
7cb595db28 move aixlog and popl to common 2019-10-09 22:11:43 +02:00
badaix
8b231c7cc6 modernize with clang-tidy 2019-09-25 19:02:33 +02:00
badaix
b20add3815 add clang-format file
reformat code
2019-09-24 22:42:36 +02:00
badaix
44046821c1 update date in copyright 2018-02-19 20:04:28 +01:00
Jörg Krause
9abeac8365 Allow building server and client without FLAC support
Allows building the server and the client without FLAC support:

```
readelf -d ./bin/snapserver | grep NEEDED
 0x00000001 (NEEDED)                     Shared library: [libjsonrpcpp.so]
 0x00000001 (NEEDED)                     Shared library: [libavahi-common.so.3]
 0x00000001 (NEEDED)                     Shared library: [libavahi-client.so.3]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so]
```

Note, that the current client and server Makefiles always enable FLAC
support.
2018-02-03 21:29:45 +01:00
Jörg Krause
c4e38b60b0 Improve macro check for ogg decoder
The OGG decoder needs libogg and (tremor or libvorbis).
2018-02-03 21:28:08 +01:00
frafall
67083975b0 Support for text tags through snapcast.
Only added tags Spotify stream input from modified librespot
for now.
2017-11-29 14:36:28 +01:00
frafall
af3ea660b9 Basic metadata working librespot/server/client. Still missing client hooks.
The librespot metadata api kinda messy, no clear API. For now I addded
printing of artist in Librespot, should publish patch
2017-11-25 05:13:04 +01:00
frafall
d444052233 Added basics for maintaining metadata by stream on server and pushing to clients.
Modified Spotify stream handler to get the track name from Libreelec's stderr.
Note, to support artist/album (or album art) we need to modify Libreelec
to print these.
2017-11-20 20:44:54 +01:00
badaix
baf5a7af3b parse sample format in Android 2017-10-04 23:13:47 +02:00
badaix
b58ecfdcf1 handle async exception properly 2017-09-26 07:51:58 +02:00
badaix
4670927d67 better async exception handling 2017-09-16 17:13:49 +02:00
badaix
ce55f15c02 update logger 2017-07-24 18:59:49 +02:00
badaix
ead110ccae bugfix 2017-06-10 18:37:28 +02:00
badaix
acd70148fe rename client ID to host ID 2017-06-08 08:14:49 +02:00
badaix
81f46ff41f configurable client ID 2017-06-08 00:04:09 +02:00
badaix
5bf78eb874 improve unique host ID creation 2017-06-05 22:23:45 +02:00
badaix
fdb292edb4 2017 2017-02-04 11:56:40 +01:00
Johannes Pohl
bb7bea1b6c instance id for snapclient 2016-11-22 00:09:54 +01:00
badaix
3fe88b7440 stream is shared_ptr 2016-11-13 15:57:49 +01:00
badaix
951548f412 portable sleep function 2016-10-28 10:10:58 +02:00
Johannes Pohl
43e3daaf9b allow negative latency 2016-09-15 11:22:08 +02:00
Johannes Pohl
20ab3deedb basic coreAudio playback is working 2016-09-13 14:49:20 +02:00
Johannes Pohl
71e0a89e29 added "TARGET=MAC" and dummy CoreAudio player 2016-09-11 20:51:01 +02:00
Johannes Pohl
98ff013ab4 compiles with gcc 6.Â1 2016-05-07 10:03:27 +00:00