aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/plugins (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-12decoder/opus: add MIME types audio/ogg and application/oggMax Kellermann1-0/+7
2014-11-11decoder/opus: support chained streamsMax Kellermann1-1/+36
2014-11-11decoder/opus: move code to HandleEOS()Max Kellermann1-1/+8
2014-11-11decoder/opus: improved error loggingMax Kellermann1-4/+11
2014-11-11decoder/opus: fix mistyped LoadEOSPacket() return valueMax Kellermann1-1/+1
2014-11-11decoder/opus: eliminate flag "found_opus"Max Kellermann1-5/+3
Check opus_decoder!=nullptr instead.
2014-11-11decoder/opus: add constexpr output_buffer_framesMax Kellermann1-8/+10
2014-11-10decoder/audiofile: fix bit rate calculationMax Kellermann1-1/+1
2014-11-07decoder/ffmpeg: support opusMax Kellermann1-1/+2
2014-10-28decoder/mad: fix negative replay gain valuesMax Kellermann1-1/+1
Negating an unsigned integer does not work.
2014-10-25decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2-20/+4
Many years ago, FAAD had a serious ABI bug: the NeAACDecInit() prototype in its header declared the "samplerate" parameter to be "unsigned long *", but internally, the function assumed it was "uint32_t *" instead. On 32 bit machines, that was no difference, but on 64 bit, this left one portion of the return value uninitialized; and worse, on big-endian, the wrong word was filled. This bug had to be worked around in MPD (commit 9c4e97a6). A few months later, the bug was fixed in the FAAD CVS in commit 1.117 on file libfaad/decoder.c; the commit message was: "Use public headers internally to prevent duplicate declarations" The commit message was too brief at best; the problem was not duplicate declarations, but a prototype mismatch. No mention of the bug fix in the ChangeLog. The MPD project never learned about this bug fix, and so MPD would always pass a "uin32_t *" dressed up as a "unsigned long *". Nearly 6 years later, it's about time to fix this second ABI problem. Let's kill the workaround!
2014-10-25decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien1-0/+1
2014-09-24decoder/mp4v2: add tag tableMax Kellermann1-10/+19
2014-09-24decoder/mpg123: support ID3v2, ReplayGain and MixRampMax Kellermann1-1/+90
2014-09-24decoder/mpg123: make variables more localMax Kellermann1-20/+11
2014-09-24decoder/flac: pass VorbisComment to flac_parse_mixramp()Max Kellermann3-6/+4
2014-09-24decoder/flac: move code to tag/MixRamp.cxxMax Kellermann1-35/+10
2014-09-24decoder/mad: move code to tag/MixRamp.cxxMax Kellermann1-5/+2
2014-09-24decoder/flac: pass VorbisComment to flac_parse_replay_gain()Max Kellermann3-6/+3
2014-09-24tag/ReplayGain: add VorbisComment parserMax Kellermann2-41/+12
Move code from the Vorbis and FLAC decoder plugins.
2014-09-24decoder/{vorbis,flac}: move duplicate code to tag/VorbisComment.cxxMax Kellermann2-24/+3
2014-09-24tag/ApeReplayGain, decoder/mad: move duplicate code to tag/ReplayGain.cxxMax Kellermann1-12/+2
2014-09-22DecoderBuffer: convert functions to methodsMax Kellermann1-19/+19
2014-09-22decoder/faad: use DecoderBuffer referencesMax Kellermann1-27/+27
2014-09-22decoder/faad: allocate DecoderBuffer on stackMax Kellermann1-13/+8
2014-09-22DecoderBuffer: export the structMax Kellermann1-6/+6
Eliminates the functions _new() and _free().
2014-09-21decoder/adplug: log version numberMax Kellermann1-0/+6
2014-09-21decoder/adplug: move the buffer into the loopMax Kellermann1-2/+2
2014-09-21decoder/sndfile: include cleanupMax Kellermann1-1/+0
2014-09-19decoder/audiofile: fix indentMax Kellermann1-1/+1
2014-09-19decoder/sndfile: remove obsolete code commentMax Kellermann1-3/+0
2014-09-19decoder/sndfile: remove debug printf()Max Kellermann1-2/+0
2014-09-19decoder/sndfile: log detailed sf_open_virtual() error messageMax Kellermann1-1/+2
2014-09-19decoder/sndfile: support float and 16 bit samplesMax Kellermann1-4/+32
Support these PCM formats natively, instead of letting libsndfile convert everything to 32 bit.
2014-09-19decoder/sndfile: move sf_readf_int() call to sndfile_read_frames()Max Kellermann1-2/+10
2014-09-19decoder/sndfile: add sndfile_sample_format()Max Kellermann1-1/+9
Prepare for other sample formats.
2014-08-30decoder/sndfile: refactor frame_to_time()Max Kellermann1-8/+6
2014-08-29TagHandler: pass SongTime to duration()Max Kellermann20-60/+74
2014-08-29DecoderAPI: pass SignedSongTime to decoder_initialized()Max Kellermann23-124/+152
2014-08-29decoder/faad: bit_rate==0 is an errorMax Kellermann1-4/+4
2014-08-26DecoderAPI: use std::chrono::duration for decoder_seek*()Max Kellermann6-20/+33
For type safety and code readability.
2014-08-26decoder/pcm: use integer seek timesMax Kellermann1-2/+3
2014-08-26decoder/dsf: use integer seek timesMax Kellermann1-4/+4
2014-08-26decoder/dsdiff: use integer seek timesMax Kellermann1-11/+4
2014-08-26decoder/wildmidi: use integer seek timesMax Kellermann1-2/+2
2014-08-26decoder/wavpack: use integer seek timesMax Kellermann1-2/+1
2014-08-26decoder/vorbis: use integer seek timesMax Kellermann1-2/+2
2014-08-26decoder/sndfile: use integer seek timesMax Kellermann1-12/+1
2014-08-26decoder/opus: use integer seek timesMax Kellermann1-4/+4
2014-08-26decoder/opus: remove redundant decoder_timestamp() callMax Kellermann1-5/+1
After seeking, the MPD core automatically refreshes the timestamp, and thus discards the value from decoder_timestamp().