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
casey langen
1230315a4e
Detect and discard invalid packets in FfmpegDecoder. This seems to fix issues when playing WAV files that have embedded artwork.
2021-04-11 20:04:40 -07:00
casey langen
bdb624a187
More logging and improved seeking in FfmpegDecoder.
2021-04-11 18:22:27 -07:00
casey langen
3b95b17753
Don't show EOF errors by default when decoding, as they're usually nothing to worry about and pollute the log.
2021-04-11 17:31:27 -07:00
casey langen
229b282aec
Check for libraries and fail fast if not found.
2021-04-10 22:33:33 -07:00
casey langen
8431598aa2
Upgraded Windows build to use ffmpeg4.4
2021-04-10 14:08:48 -07:00
casey langen
15134e9a80
Fixed USE_BUNDLED_TAGLIB=false, and renamed to ENABLE_BUNDLED_TAGLIB
2021-04-09 22:43:56 -07:00
casey langen
f2071d31aa
Ensure debug
is properly initialized for all plugins.
2021-03-21 22:15:10 -07:00
casey langen
56f3af3b96
Guard against null debug during shutdown.
2021-03-21 14:58:18 -07:00
casey langen
017bc1fdde
Fixed StockEncoder's plugin name
2021-03-19 23:29:41 -07:00
casey langen
3b6768cb2d
FFMPEG_ENABLED -> ENABLE_FFMPEG for consistency.
2021-03-19 23:29:03 -07:00
casey langen
9cacfb9832
Disable PipeWire by default; added ENABLE_PIPEWIRE flag to CMake. Added Hirsute build target that includes PipeWire.
2021-03-19 23:28:11 -07:00
casey langen
717b6066ec
Converted PipeWireOut to use IDebug
2021-03-18 22:19:35 -07:00
casey langen
bd0db547ff
Query device name.
2021-03-18 11:38:41 -07:00
casey langen
c8867a3b96
PipeWire device selection and persistence by ID. TODO: still need to resolve the name.
2021-03-18 00:41:41 -07:00
casey langen
0a0a192bbf
Incremental changes to support device enumeration. TODO: (1) resolving device name, (2) actually changing to a non-default device.
2021-03-17 23:56:39 -07:00
casey langen
89bbdf6f54
Let PipeWire determine the best buffer size automatically. We had selected buffers that were too small and causing gapless playback to not always work properly.
2021-03-17 20:22:21 -07:00
casey langen
ae800d788d
Implemented PipeWireOut::SetVolume
2021-03-17 19:15:04 -07:00
casey langen
75dac589d0
Stabilized Pipewire. Just a few TODOs left.
2021-03-16 23:44:47 -07:00
casey langen
4e2a46267c
TODOify
2021-03-15 22:33:40 -07:00
casey langen
95564ef5cd
Fix pause/resume in PipeWireOut
2021-03-15 22:32:01 -07:00
casey langen
a602b0efaf
Ensure PipeWireOut shuts down cleanly
2021-03-15 22:28:31 -07:00
casey langen
dcb4e38921
We have audio! Cleaned up some debug logging.
2021-03-15 22:09:25 -07:00
casey langen
b561bf8fb6
Minor updates and more debugging cruft. Need to test on a machine with a working PipeWire installation.
2021-03-15 21:50:03 -07:00
casey langen
aa7efd3d5b
Fix pointer arithmetic
2021-03-14 22:24:48 -07:00
casey langen
8172cac91f
Still not producing accurate sound, but this update ensures we completely fill our input buffers before returning them... at least in theory... we're not producing sound yet in the VM.
2021-03-14 22:22:06 -07:00
casey langen
beb95e55a5
More scaffholding.
2021-03-14 18:52:12 -07:00
casey langen
dee5150c2e
Fleshed out some PipeWire implementation, but no way to test it yet.
2021-03-05 09:32:02 -08:00
casey langen
104a65f183
Added scaffolding for a PipeWire output plugin.
2021-03-03 22:53:59 -08:00
casey langen
edce1d7c88
Warning and and precompiled headers fixes and cleanup ( #408 )
2021-01-25 19:03:57 -08:00
Casey Langen
d3bcb053b6
Fix libmicrohttpd integration in the server plugin statically linking
2020-12-06 16:52:30 -08:00
casey langen
c44343712d
Add support for older versions of libcurl (e.g. those found on RHEL7) that do not have support for the newer CURLOPT_XFERINFODATA / CURLOPT_XFERINFOFUNCTION options.
2020-12-05 13:38:59 -08:00
casey langen
04e8acc416
Fixed a bug where aborted audio tracks may be added to the filesystem
...
cache.
2020-11-01 00:12:36 -07:00
casey langen
5a5985932d
Fixed BSD compile.
2020-10-31 17:38:52 +00:00
Casey Langen
e0a2da7102
Fixed macOS compile.
2020-10-31 17:15:56 -07:00
casey langen
e141f7d555
Fixed Linux compile.
2020-10-31 17:09:12 -07:00
casey langen
6d16d602c4
enum -> enum class cleanup in SDK where applicable.
2020-10-31 17:00:59 -07:00
casey langen
783fb467ff
Explicitly enable multi-processor compile.
2020-10-30 19:58:28 -07:00
Casey Langen
c92744d102
Let's use std::atomic<> instead of volatile.
2020-10-24 12:15:53 -07:00
Casey Langen
fbf8844c91
Tweaked retry count logic to be weighted based on failure type; if the
...
server is overloaded let's allow for more retries with longer tries
between attempts.
2020-10-24 12:14:00 -07:00
Casey Langen
a50c2467dc
GmeDecoder variable renames for clarity
2020-10-23 23:54:40 -07:00