Requires Apple Application Support (shipped with iTunes or QuickTime).
Supports playback and tagging of CAF (Apple Core Audio Format) files.
Supported codecs (not thoroughly tested):
- LPCM
- MPEG layer 1,2,3
- AAC(LC and HE, not HEv2)
- ALAC
- A-Law, μ-Law
- IMA 4:1, DVI, MS ADPCM, DVI/IMA ADPCM
- AMR-NB
- GSM 6.10
- iLBC
- QDesign, QDesign Music 2
- Qualcomm PureVoice, Quaicomm QCELP
Download (foo_input_caf_x.x.x.zip in the following page):
https://sites.google.com/site/qaacpage/cabinet (https://sites.google.com/site/qaacpage/cabinet)
Release note:
https://sites.google.com/site/qaacpage/news/fooinputcaf001 (https://sites.google.com/site/qaacpage/news/fooinputcaf001)
Updated to 0.0.2.
Now it passes 3 of 4 decoder validation tests by foo_input_validator;
However, for most of codecs, "Random Access" test fails.
As far as I tested, only Linear PCM, ALAC, A-Law, μ-Law could pass that (although many of standard decoder seems to fail that test, too ... so probably this is inevitable).
Updated to 0.0.3 (although nobody other than me might be interested on this).
- Switched to use input_cuesheet_factory_t, and now cuesheet referencing to CAF files is available. However, only use random access safe codecs for this purpose(explained later).
- Now LC-AAC, MPEG Layer1,2,3 pass the random access validation test, and can be said to be random access safe (Linear PCM and ALAC were already random access safe).
Actually when I tested before (on fb2k 1.1.15) LC-AAC failed the test, but now it seems working (without changes on plugin side).
As for MP1,2,3 case, it turned out that ExtAudioFileSeek() API doesn't perform pre-rolling for these codecs. Therefore, on this version foo_input_caf takes care of MP1,2,3 preroll.
For others (especially HE-AAC), it seems subtle difference exists on decoded result after seeking, which cannot be recovered by simple pre-rolling. Therefore, these are not random-access safe. It's not a serious problem just for listening or decoding whole song, but don't use with cuesheet.
Updated to 0.0.4
fixed a problem: VBR bitrate was not being properly refreshed until seeking once.
input_cuesheet_factory_t
Interesting...
input_cuesheet_factory_t
Interesting...
Actually, I just added two or so (non-working) functions and switched from input_single_track_t to input_cuesheet_factory_t. Only few lines of modification.
Released v0.0.5.
Fixed a crash when AppleApplicationSupport is not installed on the system.
Released 0.0.6.
Show channel layout on property dialog.
Should I be able to playback .mov files with Qdesign 2 audio with this plugin? What are the required steps to get there? Cheers.
Should I be able to playback .mov files with Qdesign 2 audio with this plugin? What are the required steps to get there? Cheers.
No, only CAF files.
Core Audio Format is a container format created by Apple to support files larger than 4GB files and contain various audio formats and metadata. Official spec: https://developer.apple.com/library/content/documentation/MusicAudio/Reference/CAFSpec/CAF_intro/CAF_intro.html
https://github.com/nu774/foo_input_caf/releases
Doesn't show up in preferences>components even though I see the files have been copied to %USERPROFILE%\AppData\Roaming\foobar2000\user-components
Probably you have to rename the directory name of "foo_input_caf_0.2.0" to "foo_input_caf".
Unfortunately it didn't fix the issue.
Extract the ZIP and install the DLL, or fix the directories.
It needs to be:
%appdata%\foobar2000\user-components\foo_input_caf\foo_input_caf.dll
Installing the ZIP as a component leaves it:
%appdata%\foobar2000\user-components\foo_input_caf\foo_input_caf_0.2.0\foo_input_caf.dll
Apparently, foobar2000 does not search more than one subdirectory deep.
Thanks, I'm glad I could make it work.
Does it read native metadata? If not is it at least retained should you write some tags?
Hi,
If I am creating a thread in the wrong place, please moderators move it.
I have a problem with one of the CAF files. I'm using a component by nu777 foo_input_caf and all files play fine otherwise. VLC Media Player plays it, but not completely. It may be a component error, but I don't rule out another error.
Maybe this file is corrupt.
File integrity verifier shows
1 Name: startup-old; Status: Failed: Unsupported format or corrupted file; Warnings: <none>; MD5: N/A; CRC32: N/A
Media Info shows
Ogólne
Pełna ścieżka : C:\Users\graco\Downloads\Compressed\startup-old.caf
Format : CAF
Format/Informacja : Core Audio Format
Wersja formatu : Version 1
Rozmiar pliku : 57,3 KiB
Czas trwania : 2s 499 ms
Całkowita przepływność bitów : 188 kb/s
Audio
Format : ADPCM
ID kodeka : ima4
Czas trwania : 2s 499 ms
Przepływność bitów : 187 kb/s
Kanały : 1 kanał
Częstotliwość próbkowania : 44,1 kHz
Rozmiar strumienia : 57,2 KiB (100%)
foobar2000 v2.1.5 x64 + FFmpeg Decoder Wrapper + FFmpeg 7.0 plays it!
https://www.foobar2000.org/components/view/foo_input_ffmpeg
https://github.com/GyanD/codexffmpeg/releases
Added *.CAF to Wrapper config.
That file contains a couple of issues (in other words, it's broken).
Anyway, I fixed foo_input_caf and now it's OK on v0.4.3:
https://github.com/nu774/foo_input_caf/releases/tag/v0.4.3
Thanks, this version works properly with this file.