Christopher Snowhill
3c351f6968
[Input API] Change input readAudio method
...
readAudio now returns an AudioChunk object directly, and all inputs have
been changed to accomodate this. Also, input and converter processing
have been altered to better work with this.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-07-10 15:14:47 -07:00
Christopher Snowhill
39f4d09c1a
Use NSNumber Literals as much as possible
...
Replaced a bunch of [NSNumber numberWith...] with NSNumber Literals.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 06:39:02 -07: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
b927f4c02b
Replace more NSDictionary use with literals
...
Use literals to initialize fixed NSDictionary objects in various places.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 19:56:04 -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
b2177fccbc
Core Audio input: Fix channel config, and a leak
...
Channel config should not contain duplicate channels, or unsupported
channels. Also fix a memory leak from not freeing the AudioChannelLayout
structure allocated previously.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 02:47:32 -08:00
Christopher Snowhill
22d8b8c132
Implement channel config fields for inputs
...
This implements channel masks for inputs where applicable, namely the
CoreAudio decoder, FFmpeg, FLAC, and WavPack. All others will still use
guessing from the channel number.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-07 02:06:51 -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
2e41e7c525
FFmpeg Input: Enable networking and HLS support...
...
... also disable use of AudioToolbox codecs, and use only bundled codecs
and libfdk-aac for AAC input. This is required for HLS at least, as
Apple's system codecs didn't really like the network streams that were
provided by HLS streaming stations.
Also reshuffle the input priorities between Core Audio input and FFmpeg
input, so that they were the way they were before I messed with things a
while back. This puts FFmpeg back at the top, using bundled codecs where
supported.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 00:11:14 -08:00
Christopher Snowhill
058614b6a0
Core Audio / FFmpeg inputs: Change to correctly discern most lossy/lossless codecs
2022-01-21 23:09:35 -08:00
Christopher Snowhill
0c4d5002f6
Metadata: Now supports storing cuesheet tags and encoding quality status properties
2022-01-21 22:38:54 -08:00
Christopher Snowhill
1540b84b09
Clean up association names
2022-01-18 03:20:07 -08:00
Christopher Snowhill
39a5ee8ab7
Utility: Add stubs to regenerate Info.plist with file type associations
2022-01-18 03:07:32 -08:00
Christopher Snowhill
c8301a9868
CoreAudio input takes priority over FFmpeg on 10.14.x and older
2022-01-09 17:05:10 -08:00
Christopher Snowhill
bb1f9dcb33
CoreAudio / FFmpeg: Swap decoder priorities so FFmpeg takes priority over Core Audio
2021-12-21 22:26:50 -08:00
Christopher Snowhill
0ec1ae4c47
Core Audio input: Added Codec info reporting
2021-10-01 20:22:26 -07:00
Christopher Snowhill
6395684001
CoreAudio input: Fixed new case where lossy inputs report file bit depth as unsupported field, causing some or possibly all lossy files to fail to decode
2021-08-25 01:57:59 -07:00
Christopher Snowhill
5b73336cb0
CoreAudio input: Optimized file size reporting to cache the file size on open, so file input isn't seeking as much
2021-08-25 01:57:05 -07:00
Christopher Snowhill
79d12e9fc7
CoreAudio: Don't try closing resources that aren't opened
2021-05-07 15:33:20 -07:00
Christopher Snowhill
04074f5d74
Fix Core Audio input to report and decode format native bits per sample, and report file bitrate
2021-02-22 20:48:23 -08:00
Christopher Snowhill
b16d2114eb
Change Core Audio file handler priority
...
Now it should take priority for all supported formats, including MP3, so that reported broken file should play properly now. Not fixing FFmpeg outside of FFmpeg, someone can report the file to FFmpeg if they want to.
2021-02-09 18:43:39 -08:00
Christopher Snowhill
53bfe785bb
Disable remote file support for CoreAudio decoder
2020-04-11 00:31:22 -07:00
Christopher Snowhill
b37a6f0f0d
Attempt to add rewinding to CoreAudio for streamed source files, but it doesn't work, it still fails to play anything from a stream
2020-03-09 00:23:58 -07:00
Christopher Snowhill
25a030a46c
Implement custom reader support in CoreAudio decoder, now supports archives and possibly streams
2020-03-08 20:05:03 -07:00
Christopher Snowhill
c1a45135b3
Remove unnecessary cleanup code that impeded cases where multiple decoders could handle a single file type.
2019-07-07 00:37:56 -07:00
Chris Moeller
03b825ced3
Hopefully fix the last of the Automatic Reference Counting issues that remained.
2016-06-19 12:57:18 -07:00
Chris Moeller
0e3644177e
Updated everything else to ARC, and plugged a release cycle.
2016-05-05 13:05:39 -07:00
Chris Moeller
63fba5930e
Implemented support for multiple decoders per file name extension, with a floating point priority control per interface. In the event that more than one input is registered to a given extension, and we match that extension, it will be passed off to an instance of the multi-decoder wrapper, which will try opening the file with all of the decoders in order of priority, until either one of them accepts it, or all of them have failed. This paves the way for adding a VGMSTREAM input, so I can give it a very low priority, since it has several formats that are verified by file name extension only. All current inputs have been given a priority of 1.0, except for CoreAudio, which was given a priority of 0.5, because it contains an MP3 and AC3 decoders that I'd rather not use if I don't have to.
2013-10-21 10:54:11 -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
74b6188772
Implemented floating point sample format support into CogAudio and all relevant plug-ins
2013-10-05 14:15:09 -07:00
Chris Moeller
ec0e45381e
Cleaned up most of the warnings, eliminated use of deprecated APIs, and fixed the hotkeys crashing.
2013-10-03 01:00:58 -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
5084b555cb
Removed nonexistent framework search paths.
2007-10-14 19:18:20 +00:00
vspader
d5919bc93e
Further cleanup and memory leak fixes.
2007-10-13 07:51:42 +00:00
vspader
78a908274b
Fixed bug where unseekable songs still allowed the user to move the slider and updated the time.
2007-05-27 15:11:30 +00:00
vspader
5798532fed
Might as well close the source if you aren't going to use it.
2007-03-04 04:37:36 +00:00
vspader
eb96a75a1f
Modified CoreAudioDecoder to use new source based system. It just ignores the source and uses its own, since the ExtAudioFile API is absolutely hopeless when it comes to streaming.
2007-03-04 04:36:10 +00:00
vspader
927b65a4a5
Merged with cog-audio-framework branch. Cog now uses plugins.
2007-02-24 20:36:27 +00:00