441 Commits

Author SHA1 Message Date
casey langen
7b6db07037 PulseAudio's output plugin should not include ALSA headers. 2022-07-21 14:04:20 -07:00
casey langen
f311ad4de7 Fix xiph album art extraction. 2022-07-19 19:27:06 -07:00
casey langen
64c7521a9d Fix APE decoding. 2022-06-30 23:16:10 -07:00
casey langen
e483e1f35e Update to VS2022 and newer musikcube-bin submodule without libogg,
libvorbis (they are no longer used in favor of ffmpeg)
2022-05-03 16:19:13 -07:00
casey langen
daaa7c268f Merge branch 'master' of github.com:clangen/musikcube 2022-04-28 12:34:45 -07:00
casey langen
82fa9bda81 Don't treat slashes as delimiters for artist names; this breaks things
like AC/DC. We already support tag formats that allow for multiple
artists, no need to parse the strings manually.
2022-04-27 22:18:04 -07:00
casey langen
f95c2a8816 Fix debugging in HttpServer, WebSocketServer to use IDebug instead of
iostream/std::err
2022-04-25 13:11:05 -07:00
casey langen
f3a2074a9e Fix rpi standalone build after recent cmake refactors. 2022-04-23 15:15:02 -07:00
casey langen
120b6fec0b Improve the way we scan for and add plugin, and also add the ability to
log colors.
2022-03-13 16:53:06 -07:00
casey langen
feb316864a Merge remote-tracking branch 'robertgzr/buildoptions' into clangen/contributions-03-12-2022 2022-03-12 13:17:51 -08:00
casey langen
79875fe764 Cross-compile support and various other build cleanups. 2022-02-17 01:45:22 -08:00
casey langen
8089935f76 Add libopenmpt to vendor libraries. 2022-02-15 12:01:00 -08:00
casey langen
7ec96630bc More macOS rpath fixes. Hopefully this is the last of them. 2022-02-13 11:26:17 -08:00
casey langen
991ac72ca2 Add missing dependencies to httpdatastream's CMakeLists.txt 2022-02-10 23:04:06 -08:00
casey langen
8c4397470d Fix FreeBSD compile. 2022-02-10 10:31:14 -08:00
casey langen
42782ee6ea Minor script updates. 2022-02-09 15:50:50 -08:00
casey langen
e3f870efc6 Fix normal darwin build 2022-02-08 18:57:30 -08:00
casey langen
dff533d1a7 Almost working... musikcube still resolves the wrong version of libssl
(but musikcubed is fine??)
2022-02-08 15:58:54 -08:00
casey langen
f113c3ce61 More cleanups. 2022-02-08 13:31:58 -08:00
casey langen
86b0200b27 More refactoring; moving away from "statically link" everything to
"bundle everything".
2022-02-08 13:12:53 -08:00
casey langen
deed24b1c2 static linking working on darwin? 2022-02-08 01:22:14 -08:00
casey langen
44b4eabe78 Flapping back in the macOS direction 2022-02-08 00:20:55 -08:00
casey langen
a8383b3469 Fix libmicrohttpd linking. 2022-02-07 20:00:11 -08:00
casey langen
e357a1fd9d More work towards static linking. Things seme to work except the server. 2022-02-07 19:53:26 -08:00
casey langen
4aea14d30a Remove unused libraries from most plugins. 2022-02-07 17:36:43 -08:00
casey langen
35c8e1df02 Some CMake cleanup. Marching towards static linking... 2022-02-07 17:22:51 -08:00
casey langen
41228f82b0 Remove unused / out of date plugins. 2022-02-07 16:57:47 -08:00
casey langen
017b410f66 Renames for clarity. 2022-02-06 14:51:20 -08:00
casey langen
21977bc601 Support ffmpeg4 and ffmpeg5. 2022-02-06 14:50:09 -08:00
casey langen
324d5e8338 More ffmpeg5 fixes. 2022-02-06 14:37:10 -08:00
casey langen
6c1870edc3 Remove deprecated APIs to support ffmpeg5. 2022-02-06 14:31:52 -08:00
casey langen
e0763f3730 Add additional debug logging to PipeWire state changes. 2022-01-02 23:32:25 -08:00
casey langen
332e8c25d1 Fix duration calculation for float-encoded WAVs.
e4813f4996
2022-01-02 22:12:45 -08:00
casey langen
f38ab09ec6 Fixed issue where IsFormatSupported was called with incorrect
parameters, causing `AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM` to get tacked
on unnecessarily.

Additionally, ensure we opt-in to higher quality resampling via
`AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY`

This may have been the cause of weird resampling artifacts in `WasapiOut`.
2022-01-02 14:54:32 -08:00
casey langen
25b2e07d3b Added an option to WasapiOut to enable its internal resampler. 2022-01-02 13:48:14 -08:00
casey langen
4bb9bbad3c Fix race condition by adding required locking in WasapiOut to avoid rare
crash.
2021-12-27 22:41:57 -08:00
Maksymilian Jodłowski
f013f1065d
Add missing header.
Fixes #476
2021-12-22 08:45:46 +01:00
Robert Günzler
aa12ef18bb
cmake: support sd-bus fallback implementations
* elogind: https://github.com/elogind/elogind
* basu: https://github.com/emersion/basu

Relates https://github.com/clangen/musikcube/issues/365
Fixes https://github.com/clangen/musikcube/issues/456

Signed-off-by: Robert Günzler <r@gnzler.io>
2021-11-08 02:32:51 +01:00
casey langen
51275f35ba Looks like some versions of pw_stream_flush() crash if the stream was
never connected. If we can't connect, let's destroy the stream
immediately to avoid this from happening later when the plugin cleans
up.
2021-10-17 14:39:25 -07:00
casey langen
a0162d1fc3 Allow for user to configure NullOut's default sample rate. 2021-09-20 12:25:03 -07:00
casey langen
0497260ddb Fix use after free bug in FfmpegDecoder. 2021-09-20 08:18:25 -07:00
casey langen
042c857895 Fix sample back pressure leading to increased memory usage over time in
FfmpegDecoder.
2021-09-20 08:05:16 -07:00
casey langen
06bdf32959 * Updated WasapiOut to provide the preferred sample rate for the
selected device
* Updated FfmpegDecoder to accept the preferred sample rate from the
  output, and use it when resampling if it is non-negative. Otherwise,
  use the sample rate defined by the file.

Note: this is not wired up in the main app yet.
2021-09-19 21:50:54 -07:00
casey langen
f2e8fd45f8 Update IOutput and IDecoder interfaces to allow for querying and setting default/preferred output sample rates. Nothing is wired up yet. 2021-09-19 21:00:59 -07:00
casey langen
f91bee6a1c Fix parsing album art from FLAC files. 2021-09-05 14:49:55 -07:00
casey langen
c86230d3aa Fix rare PipeWire bug that may cause volume to not get set properly after restarting the app. 2021-07-15 22:50:34 -07:00
Tian Yunhao
00cf3eb59d
Build: ensure static library existence only when needed (#447)
The current cmake build script for flac, m4a and ogg
asserts the corresponding library existence. However,
when building in environments like buildroot, the static
library may not exist. Thus only check for them when
static build is actually needed.
2021-07-01 21:35:30 -07:00
eater
fea06d9674
Use pkg-config for pipewire library in cmake (#432) 2021-04-19 15:55:14 -07:00
casey langen
f44157a220 Copyright year updates. 2021-04-14 20:16:48 -07:00
casey langen
e35d117156 Better bad packet detection...? 2021-04-11 20:35:23 -07:00