Commit Graph

630 Commits (bbce6880d7916f043341cbb90fc9f437ec40843f)

Author SHA1 Message Date
Christopher Snowhill ee7b7dad5f VGMStream: Add a bodge for PSF files
For some incredibly dumb reason, PSF files get into FFmpeg 5.0, then
just sit there and lock up, reading them forever and ever, doing nothing
useful. Add a bodge to detect PSF files by signature and ignore them in
the VGMStream container parser, and all other parts of VGMStream in Cog.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-26 15:40:44 -08:00
Christopher Snowhill fee7fcdb21 FFmpeg: Handle preroll skip manually 2022-01-24 06:07:09 -08:00
Christopher Snowhill d771a58e69 FFmpeg: Update to version 5.0, and add another patch for iTunes MP3 gapless info 2022-01-24 04:41:27 -08:00
Christopher Snowhill 6b8d300384 Opus input: Support switching gain modes based on player settings, since the Opus tag reader doesn't support Opus gain tags yet 2022-01-22 21:03:52 -08:00
Christopher Snowhill 72f1168498 TagLib: Support reading Apple SoundCheck tags from ID3v2 and MP4 2022-01-22 20:20:24 -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 2165d37144 Metadata: Now supports disc number field where possible 2022-01-21 21:49:17 -08:00
Christopher Snowhill 698798a6f4 CUE Sheet input: Seek function now returns correct time offset 2022-01-19 22:09:29 -08:00
Christopher Snowhill 244f896318 CUE Sheet input: Fix for regular cue sheets, and for existing URLs for embed supported tracks 2022-01-19 22:06:36 -08:00
Christopher Snowhill 684951bdc0 Change a bunch of NSArray declarations to const collection literals 2022-01-18 18:12:57 -08:00
Christopher Snowhill ba0fedf151 Add stub function to Silence Decoder 2022-01-18 17:30:07 -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 6684a8280f AdPlug: Plugin now loads its AdPlug database on startup 2022-01-17 21:48:35 -08:00
Christopher Snowhill a1522aeb6e CueSheet parser: Support quirky FLAC generated CueSheets that contain sample counts instead of frames 2022-01-14 22:45:45 -08:00
Christopher Snowhill 33f3b4f5a0 CueSheet processor: Support timestamps with one or two fields, as well as the standard three fields 2022-01-14 19:05:48 -08:00
Christopher Snowhill dac1dfee47 CueSheet input: Implement support for ReplayGain tags 2022-01-14 18:51:44 -08:00
Christopher Snowhill 2d32381bc1 Cue Sheet: Fix decoder priority level 2022-01-14 17:45:10 -08:00
Christopher Snowhill d24a01a637 Implemented basic embedded CueSheet support 2022-01-14 16:46:35 -08:00
Christopher Snowhill 748891f285 Cog Audio / WavPack input: Add DSD decimation to converter, and change WavPack input to emit only raw DSD 2022-01-14 06:26:09 -08:00
Christopher Snowhill ec0b343596 WavPack input: Decode DSD without letting WavPack library decimate it. The supplied filter was rather noisy. 2022-01-14 02:11:46 -08:00
Christopher Snowhill ca4a2efea1 FFmpeg input: Disable peak limiting for libfdk-aac decoder 2022-01-13 16:14:04 -08:00
Christopher Snowhill bfa178f4e2 FFmpeg input: Add support for libfdk-aac, which will be used to support USAC and AAC on 10.14.x and older 2022-01-13 04:13:58 -08:00
Christopher Snowhill e3df82cf70 VGMStream input: Improve file interface, to handle duplicate file requests in the same thread, and to handle archive paths 2022-01-12 16:45:50 -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 a1a85c502e FFmpeg input: Check for seeking errors and stop decoding when they happen 2022-01-09 03:37:45 -08:00
Christopher Snowhill b35d405e20 libvgm input: Correctly declare logging formatting strings 2022-01-07 19:07:46 -08:00
Christopher Snowhill 614517f813 FFmpeg input: Disable AudioToolbox codecs on macOS 10.14.x and older 2022-01-07 19:07:07 -08:00
Christopher Snowhill 7ee76f914a OpenMPT legacy: Correct header import paths so that the correct version of OpenMPT framework headers are used 2022-01-06 23:53:39 -08:00
Christopher Snowhill 1eb2270049 VGMStream: Rewrite file interface based on the VGMStream stdio interface, only using CogSource files 2022-01-06 22:12:34 -08:00
Christopher Snowhill 0e8f417e67 libvgm Player: Correctly report version number in codec field 2022-01-05 02:37:39 -08:00
Christopher Snowhill 888ee2fb38 Implemented new libvgm-based VGM, S98, DRO, and GYM player 2022-01-03 01:55:48 -08:00
Christopher Snowhill 8ad7e086a8 Update copyright year 2022-01-02 23:34:29 -08:00
Christopher Snowhill df9743c821 Consolidated Vorbis framework usage 2021-12-31 01:35:08 -08:00
Christopher Snowhill 98ead66851 Consolidate File_Extractor framework usage 2021-12-31 01:16:44 -08:00
Christopher Snowhill 2e76c56ba7 Switch FFmpeg libraries to dynamic builds, consolidate to a single copy in the main application framework folder 2021-12-31 01:07:05 -08:00
Christopher Snowhill 112a20132b OpenMPT: Add format info as codec string 2021-12-30 00:07:32 -08:00
Christopher Snowhill e4cbdb07f8 FFmpeg Decoder: Remove spurious debug logging 2021-12-29 22:56:53 -08:00
Christopher Snowhill fa20465271 FFmpeg Decoder: Fix seeking in files with preroll that happens to make the decoder return EAGAIN error, so they don't inadvertently skip actual audio data unnecessarily. Fixes seeking to the start of USAC files with preroll packets. 2021-12-29 22:55:31 -08:00
Christopher Snowhill cd8b728ca6 Removed plugin 2021-12-29 15:24:23 -08:00
Christopher Snowhill 27dbd609c9 OpenMPT: Change decode call slightly 2021-12-28 15:38:57 -08:00
Christopher Snowhill 73a356ad1d Ogg Vorbis/Opus: Use correct channel output order for surround files 2021-12-28 00:54:28 -08:00
Christopher Snowhill 120daf291a OpenMPT legacy: No longer need to reduce its priority level, since it's OS version gated to not load on OSes that support the newer plugin 2021-12-27 17:47:57 -08:00
Christopher Snowhill e2bca8f93b OpenMPT: Correctly OS version gate the OpenMPT plugins, and add an interface for any other plugin to use, should it ever become necessary 2021-12-27 17:46:09 -08:00
Christopher Snowhill 106eb587b4 Updated libopenmpt to version 0.6.0, with major new changes. This new version requires macOS 10.15 to work, due to libc++ features required. A compatibility plugin has been duplicated from the existing plugin, which will now load libopenmpt 0.5.14, or whatever newer version may come out that still supports as old as macOS 10.12. 2021-12-26 03:29:43 -08:00
Christopher Snowhill fd75e1b260 HTTP source: Fix API abuse by calling completion handler as requested 2021-12-22 16:27:41 -08:00
Christopher Snowhill e207cdc022 Opus/FFmpeg: Add more streaming types to handle, now supports working Ogg Vorbis, Opus, and FLAC streaming 2021-12-22 16:23:54 -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
Christopher Snowhill c2585f5567 FFMPEG input: Add more formats, reduce buffering so streams start faster, and fix seeking calculation so streams seek properly 2021-12-22 00:17:59 -08:00