Commit graph

37 commits

Author SHA1 Message Date
Christopher Snowhill
85c7073649 Reformat my own source code with clang-format
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 21:49:27 -08:00
Christopher Snowhill
62edb39761 Cog Audio: Major rewrite of audio buffering
Rewrite attempt number two. Now using array lists of audio chunks, with
each chunk having its format and optionally losslessness stashed along
with it. This replaces the old virtual ring buffer method. As a result
of this, the HRIR toggle now works instantaneously.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 03:08:34 -08:00
Christopher Snowhill
0131f7c925 Revert "Core Audio output: Rewrote major portions"
This reverts commit 637ea4efe1.
2022-02-05 04:14:03 -08:00
Christopher Snowhill
637ea4efe1 Core Audio output: Rewrote major portions
After all this rewriting, down or upmixing the audio is now handled with
the lowest latency possible, meaning that toggling the HRIR option now
takes effect immediately.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-05 03:45:02 -08:00
Christopher Snowhill
9d1fd08574 HDCD Decoder: Only process lossless tracks 2022-01-21 22:47:11 -08:00
Christopher Snowhill
26e0e0cead HDCD Decoding: Add HDCD indicator 2022-01-20 23:53:45 -08:00
Christopher Snowhill
6f0a737123 Cog Audio: Implement HDCD decoding 2022-01-19 02:08:57 -08:00
Christopher Snowhill
5ab728b205 Cog Audio: Overhaul output buffering yet again, adding an extra buffer stage between the converter and the output thread 2022-01-14 22:46:41 -08:00
Christopher Snowhill
c8d2864862 Cog Audio: Enhance playback queue handler, so it always halts buffering when there are at least 30 seconds worth of buffers filled, possibly spanning multiple files. Also improve the chain reset function so that playlist changes and playback order control reset the queue properly when the queue refill function is currently entered in another thread. 2022-01-13 23:05:32 -08:00
Christopher Snowhill
dfeca7aa97 Seeking now takes the true nuclear approach to output, and should no longer have glitches 2021-12-26 02:01:02 -08:00
Christopher Snowhill
d22ee14a36 Audio Output: Take a more nuclear approach to output resetting when seeking 2021-12-25 23:41:45 -08:00
Christopher Snowhill
9566a36815 Error handler: Better handle errors and increase silence generator to 10 seconds at a time 2021-12-22 16:22:05 -08:00
Chris Moeller
0e3644177e Updated everything else to ARC, and plugged a release cycle. 2016-05-05 13:05:39 -07:00
Chris Moeller
f55eb1d3bf Added a silence decoder, and fall back all decoder open failures on one second of silence 2015-02-08 18:15:02 -08:00
Chris Moeller
755147b48a Through a bit of ugliness and interface exposure, the InputNode will now pause the OutputNode while it is making the decoder seek, which prevents cases of the output continuing to run for seconds at a time during a slow seek operation by decoders such as HighlyComplete 2013-10-20 22:04:09 -07:00
Chris Moeller
c088011fd5 mamburu: Some more fixes 2013-10-12 14:01:21 -07:00
Chris Moeller
1b818bcaa7 mamburu: Fixed InputNode's thread not being stopped at all 2013-10-12 13:59:34 -07:00
Chris Moeller
56848daad6 mamburu: Fixed crashes when seeking near the end of stream 2013-10-12 13:52:58 -07:00
Chris Moeller
e5a648578b mamburu: Logging improved, no more excessive logging in release builds 2013-10-11 05:03:55 -07:00
Chris Moeller
cdafef8a9c Fixed handling ReplayGain info on automatic track changes 2013-10-07 13:03:34 -07:00
Chris Moeller
15c545b10d Fixed input to float conversion and made it mandatory, so I could move volume scaling to the converter node 2013-10-07 03:59:04 -07:00
Chris Moeller
4c0cf34250 More ReplayGain support, now with metadata handling, but only if the metadata is already loaded 2013-10-02 02:30:04 -07:00
vspader
5715522470 Moved to frame-based reading/seeking instead of byte/second based. Some formats have still not been updated and are broken.
Added icons for other formats.
2007-11-24 20:16:27 +00:00
vspader
f1b9141f4b Added mime type support. 2007-10-14 18:12:15 +00:00
vspader
97a278a143 Cleaned up memory leaks. 2007-10-13 07:09:46 +00:00
vspader
b51d8aedb5 Added metadata reading to cue sheets. 2007-10-13 01:07:19 +00:00
vspader
139bab5e0e Fixed up streaming a bit.
Removed debugging code for http source. Was that in 0.06? Whoops.
2007-10-12 02:55:59 +00:00
vspader
b57bcc121c Added support for gapless multitrack files.
Modified cue sheet plugin to use it.
2007-10-11 02:08:29 +00:00
vspader
5ad2728d3c Moved converter to a seperate node again. 2007-10-03 20:23:14 +00:00
vspader
daba91b462 Removed debugging messages. 2007-07-11 01:20:32 +00:00
vspader
88d26d3461 Fixed some seeking bugs. 2007-05-26 22:13:11 +00:00
vspader
0f7f8f2750 A fix to try to stop the buffer from running dry when seeking. 2007-05-26 12:42:00 +00:00
vspader
77c7819dd6 Added some error messages that should hopefully fix some initial stuttering issues. 2007-03-19 00:19:47 +00:00
vspader
1aead1bf0d Merged decoder and converter threads to facilitate midstream format changing. 2007-03-03 17:19:37 +00:00
vspader
116e78c3ed Removed SourceNode, since its dumb. 2007-03-03 00:41:19 +00:00
vspader
934840ace5 Added source plugin support. Things are incredibly broken. Besides Ogg Vorbis. That should still work. 2007-03-02 01:36:52 +00:00
vspader
927b65a4a5 Merged with cog-audio-framework branch. Cog now uses plugins. 2007-02-24 20:36:27 +00:00
Renamed from Sound/BufferChain.m (Browse further)