Christopher Snowhill
6d09b72c1d
Dynamic info now pushes to the correct track
...
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-12 07:29:02 -08:00
Christopher Snowhill
0b33fe6dea
Don't count output buffering for queue hold
...
This would count the output duration for every file buffered, rather
than only once.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-11 06:50:58 -08:00
Christopher Snowhill
5ff1f95481
Add decoder open error indicator
...
When decoder is redirected to the internal silence decoder, show an icon
on the playlist indicating a playback error.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 02:15:48 -08:00
Christopher Snowhill
7cea254f4c
Implement framework for dynamic metadata updates
...
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 21:21:53 -08:00
Christopher Snowhill
f4f4f80f64
Restart playback on device or output format change
...
Now the output is restarted on the current file at the current position
if the output format has changed. This should resolve the issue finally.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 22:44:56 -08:00
Christopher Snowhill
728c44242c
Do not reset output sample rate automatically
...
This was buggy as hell, and resulted in errors. Now the user should
restart playback if they change output device formats.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 22:02:17 -08:00
Christopher Snowhill
477feaab1d
Now properly supports sample format changing
...
Sample format can now change dynamically at play time, and the player
will resample it as necessary, extrapolating edges between changes to
reduce the potential for gaps.
Currently supported formats for this:
- FLAC
- Ogg Vorbis
- Any format supported by FFmpeg, such as MP3 or AAC
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 19:18:45 -08:00
Christopher Snowhill
1ef8df675f
Cog Audio: Implement support for channel config
...
This implements the basic output and mixing support for channel config
bits, optionally set by the input plugin.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 01:10:05 -08:00
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