Commit Graph

17 Commits (ec393d186a091728173f34d6c95102a0263f0b90)

Author SHA1 Message Date
Christopher Snowhill af0a2436fc [FFMPEG Input] Support reading more metadata
Now read all metadata and signal it, and also support pre-buffering
a small block of sample frames if there is embedded artwork, since the
embedded artwork must be handled by the sample decode function.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 06:39:00 -07:00
Christopher Snowhill 39dcb88728 FFmpeg input: Support reading metadata
Where TagLib is not being employed, use FFmpeg to read tags where
possible. This allows reading tags from files like IFF. It reads it
through properties, otherwise allowing tag readers to function like
usual.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 15:29:13 -08:00
Christopher Snowhill f203911bb1 FFmpeg Input: Support various DSD formats and IFF
Implement support for DFF, WSD, and IFF formats, and all DSD formats
carried within, using our own DSD decimation method instead of relying
on FFmpeg to do it.

Fixes #165

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 00:32:24 -08:00
Christopher Snowhill 0012d1b17e Implement dynamic metadata reading for streams
Supported by FFmpeg, FLAC, Ogg Vorbis, and Opus.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-09 13:44:50 -08:00
Christopher Snowhill e13f83609e FFmpeg Input: Implement stream metadata reading
Now reads Icy interval metadata and timed ID3v2 tags.

Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-08 21:34:28 -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 fee7fcdb21 FFmpeg: Handle preroll skip manually 2022-01-24 06:07:09 -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 8aa47584f1 FFmpeg: Fix seeking so it's sample exact, using packet timestamps. Fixes noticeable issues when using CUE sheets with APE, for instance. 2021-05-30 14:22:20 -07:00
Chris Moeller aaf516fb00 Further improved the FFmpeg plug-in, including cleaning up after a memory leak. 2016-07-15 21:41:23 -07:00
Chris Moeller b89c68a768 Updated FFmpeg to version 3.1.1, and enabled assembly optimizations. 2016-07-15 09:26:18 -07:00
Chris Moeller af7485f26a Fix newly imported FFMPEG, so it actually uses and links to the new libraries. 2016-05-06 23:35:04 -07:00
Chris Moeller d8817e8f3b Fixed FFMPEG input hitting the end of the stream with samples already in the buffer causing it to live lock afterward 2014-04-26 15:38:45 -07:00
Chris Moeller 51dc6fae15 Enabled APE support and reworked FFMPEG decoder according to the mamburu fork 2013-10-10 20:55:32 -07:00
Chris Moeller 81c62891bd Added support for iTunSMPB to MP3 parser; Replaced crappy MP3 seek function with accurate full file parse with 8 packet pre-roll; Changed top level decoder plugin to truncate output at the specified duration 2013-10-09 21:23:50 -07:00
Chris Moeller a8df4ddab5 Renamed WMA projects to FFMPEG, for future expansion 2013-10-07 10:33:35 -07:00