aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/mad, output_thread: add gcc_unlikely()Max Kellermann2012-08-291-2/+2
|
* Merge branch 'v0.17.x'Max Kellermann2012-08-151-53/+28
|\
| * decoder/fluidsynth: add "sample_rate" settingMax Kellermann2012-08-151-6/+14
| |
| * decoder/fluidsynth: add "soundfont" settingMax Kellermann2012-08-151-6/+7
| | | | | | | | Replaces the old global "soundfont" which never worked.
| * configure.ac: auto-detect libfluidsynthMax Kellermann2012-08-151-9/+0
| | | | | | | | | | Now that the libfluidsynth API was sanitized, we can enable the plugin automatically if libfluidsynth is installed.
| * decoder/fluidsynth: stop playback at end of fileMax Kellermann2012-08-151-5/+4
| | | | | | | | Use libfluidsynth's new function fluid_player_get_status().
| * decoder/fluidsynth: don't duplicate pathMax Kellermann2012-08-151-6/+1
| | | | | | | | The libfluidsynth now accepts const strings.
| * decoder/fluidsynth: check if file is really a MIDIMax Kellermann2012-08-151-4/+1
| | | | | | | | Use fluid_is_midifile() to verify the file format.
| * decoder/fluidsynth: remove throttle (requires libfluidsynth 1.1)Max Kellermann2012-08-151-17/+1
| | | | | | | | | | The libfluidsynth API is now sane, and does not require real-time decoding.
* | gcc.h: re-add gcc_const and gcc_pureMax Kellermann2012-08-021-2/+0
| | | | | | | | Remove GLib dependency from some headers.
* | decoder/sidplay: fix C++ compiler warningsMax Kellermann2012-08-011-4/+4
|/
* Add song duration to DSF and DSDIFF DSD decoders.Jurgen Kramer2012-07-132-3/+24
|
* patch to split DSD decoder into separate decoders for DSF en DFF. Move commonJurgen Kramer2012-06-276-323/+565
| | | | functions to new dsdlib. Update user doc.
* Merge branch 'v0.16.x'Max Kellermann2012-06-121-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/cmdline.c src/decoder/wildmidi_decoder_plugin.c src/gcc.h src/glib_compat.h src/input_stream.c src/output_list.c src/output_thread.c valgrind.suppressions
| * Work around incorrect g_file_test() behavior on Win32Denis Krjuchkov2012-06-121-0/+1
| | | | | | | | | | | | | | g_file_test is redefined to be g_file_test_utf8 and thus can't handle non-ASCII characters. This fix adds simple wrapper (taken from glib) that fixes encoding and calls g_file_test_utf8. All required inclusions of glib_compat.h are added as well.
* | Merge branch 'v0.16.x'Max Kellermann2012-05-291-2/+4
|\| | | | | | | | | Conflicts: NEWS
| * decoder/ffmpeg: improve "decoding failed" messageJonathan Neuschäfer2012-05-291-1/+1
| | | | | | | | | | "Frame skipped" might cause the impression that the decoding of a whole song failed.
| * decoder/ffmpeg: add webm as a supported formatJonathan Neuschäfer2012-05-291-1/+3
| |
| * decoder/audiofile: fix compiler warnings with libaudiofile 0.3.3Jonathan Neuschäfer2012-03-191-4/+4
| | | | | | | | This might break older versions, I didn't test.
* | Add support for DSF files to DSDIFF decoder - v4Jurgen Kramer2012-05-021-36/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Version 4 of my patch to add DSF support to the DSDIFF decoder plugin. This time I have taken a different approach and created a new read_metadata function specific for reading DSF files. This saves an indent (and for me a lot of indent nightmares) and also useful for splitting the DSF and DFF decoders later on. There are still a few lines which exceed the 80 character width limit by a few chars. I was not able to stay within the limit and create (for me) readable code. Jurgen
* | audio_format: remove SAMPLE_FORMAT_DSD_OVER_USBMax Kellermann2012-03-271-1/+0
| | | | | | | | | | | | | | DSD-over-USB should not be a MPD core format, because it is not a "natural" format; it is just a temnporary over-the-wire format. This format has been implemented in pcm_export, and does not need to be supported by pcm_convert.
* | audio_format: remove the packed S24 formatMax Kellermann2012-03-221-1/+0
| | | | | | | | | | | | For simplicity, the MPD core should not have to deal with packing. It is rarely used, and those plugins that need it should use the pcm_export library instead.
* | decoder/pcm: always supply host byte order samplesMax Kellermann2012-03-211-15/+12
| | | | | | | | Don't use audio_format.reverse_endian.
* | audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann2012-03-211-1/+0
| | | | | | | | | | This format is unused since the DSDIFF decoder plugin now reverses the bit order.
* | decoder/dsdiff: reverse bits to most significant bit firstMax Kellermann2012-03-211-6/+15
| | | | | | | | Allow to remove this complexity from the MPD core.
* | audio_format: basic support for DSD-over-USBMax Kellermann2012-03-191-0/+1
| |
* | decoder/dsdiff: don't convert to PCMMax Kellermann2012-03-011-38/+9
| | | | | | | | | | Move the responsibility for the conversion to the PCM library. This will allow passing the verbatim DSD samples to an output plugin.
* | audio_format: add DSD sample formatMax Kellermann2012-03-011-0/+2
| | | | | | | | | | Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
* | decoder/ffmpeg: always use AV_VERSION_INTJonathan Neuschäfer2012-02-151-1/+1
| |
* | Merge branch 'af' of git://git.musicpd.org/jn/mpdMax Kellermann2012-02-151-4/+4
|\ \
| * | decoder/audiofile: fix compiler warnings with libaudiofile 0.3.3Jonathan Neuschäfer2012-02-151-4/+4
| | | | | | | | | | | | This might break older versions, I didn't test.
* | | decoder/sidplay: remove unused variable 'ret'Jonathan Neuschäfer2012-02-151-1/+0
|/ /
* | Merge branch 'v0.16.x'Max Kellermann2012-02-131-1/+1
|\| | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c test/read_tags.c
| * decoder/ffmpeg: read the "year" tagMax Kellermann2012-02-131-1/+1
| | | | | | | | | | | | This was disabled when compiled with a new ffmpeg version. Older ffmpeg versions used it explicitly, while newer ones may pass it through from the codec.
* | decoder/wavpack: bigger tag value bufferMax Kellermann2012-02-121-2/+1
| | | | | | | | Prepare for big CUESHEET tags.
* | tag_handler: handle arbitrary name/value pairsMax Kellermann2012-02-125-0/+75
| | | | | | | | | | The new method pair() receives an arbitrary name/value pair. Support for this is being added to a few decoder plugins.
* | decoder/wavpack: move code to wavpack_scan_tag_item()Max Kellermann2012-02-111-26/+17
| | | | | | | | | | Remove clutter from wavpack_scan_file(), and use a (large) fixed buffer for the tag item.
* | decoder/wavpack: use the tag_table libraryMax Kellermann2012-02-111-8/+7
| |
* | decoder/{mikmod,fluidsynth,mp4ff}: adapt to tag_handler APIMax Kellermann2012-02-113-26/+28
| | | | | | | | Fixes build regression.
* | decoder_plugin: scan tags with callback tableMax Kellermann2012-02-1121-213/+286
| | | | | | | | | | Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
* | decoder/gme: convert runtime check to assertionMax Kellermann2012-02-111-21/+22
| | | | | | | | | | When gme_track_info() returns with success, then the gme_info_t pointer must be set.
* | decoder/ffmpeg: use the tag_table libraryMax Kellermann2012-02-111-13/+9
| |
* | decoder/ffmpeg: move code to ffmpeg_metadata.cMax Kellermann2012-02-113-46/+106
| |
* | decoder/ffmpeg: remove AV_VERSION_INT definitionMax Kellermann2012-02-111-5/+0
| | | | | | | | All supported ffmpeg/libav versions have this.
* | decoder/flac: check for errors only after _process_single()Max Kellermann2012-02-111-8/+6
| | | | | | | | The only other libFLAC call (seek) does not produce fatal errors.
* | decoder/flac: symmetric FLAC__stream_decoder_finish() callsMax Kellermann2012-02-111-1/+3
| | | | | | | | | | Call it in the function that also invokved FLAC__stream_decoder_init_*().
* | decoder/flac: use error messages from libFLACMax Kellermann2012-02-113-44/+10
| |
* | decoder/flac: eliminate the remaining "gotos"Max Kellermann2012-02-111-42/+54
| | | | | | | | https://www.xkcd.com/292/
* | decoder/{vorbis,flac}: use the tag_table libraryMax Kellermann2012-02-112-21/+21
| |
* | tag_table: convert to a structMax Kellermann2012-02-111-5/+6
| | | | | | | | | | The struct is smaller because it is sparse. Its traversal is also more efficient.