aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/vorbis: move code to vorbis_open_stream()Max Kellermann2010-05-311-19/+23
|
* decoder/vorbis: use single global ov_callbacks constantMax Kellermann2010-05-301-6/+9
| | | | Initialize the ov_callbacks struct at compile time.
* decoder/vorbis: rename struct vorbis_decoder_data to vorbis_isMax Kellermann2010-05-301-20/+19
|
* decoder/mp4ff: support tags "albumartist", "band"Max Kellermann2010-05-301-0/+2
| | | | | I'm not sure if mapping "band" to TAG_PERFORMER is correct, but it might be better than nothing.
* decoder/mp4ff: use tag_table.h to parse tag namesMax Kellermann2010-05-301-18/+15
| | | | Convert if/else/else/... to a loop.
* decoder/mp4ff: rename plugin "mp4" to "mp4ff"Max Kellermann2010-05-301-1/+1
| | | | | The underlying library is named "libmp4ff". To reduce confusion, rename the plugin to a more specific name.
* Merge release 0.15.10 from branch 'v0.15.x'Max Kellermann2010-05-301-5/+25
|\ | | | | | | | | | | | | Conflicts: NEWS configure.ac src/input/mms_input_plugin.c
| * decoder/mad: fix buffer variable name on !HAVE_ID3TAGMax Kellermann2010-05-301-3/+3
| |
| * decoder/mad: properly calculate ID3 size without libid3tagMax Kellermann2010-04-131-5/+25
| | | | | | | | | | | | | | | | | | | | Without libid3tag, we were trying to skip the ID3 frame (since 0.15.2). Its length however was not calculated at all, we were just dropping everything from the current input buffer. This lead to the first few seconds of the file being skipped. This patch attempts to calculate the ID3v2 frame size with the formula from: http://www.id3.org/id3v2.4.0-structure 3.1 and 6.2
* | input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann2010-05-181-0/+6
| |
* | mixramp: Adjust MixRamp threshold to account for ReplayGain.Tim Phipps2010-05-082-4/+9
| |
* | Merge branch 'master' of git://github.com/mcfiredrill/mpdMax Kellermann2010-04-201-0/+129
|\ \
| * | Decoder for game music emulation library.Tony Miller2010-04-101-0/+129
| | | | | | | | | | | | | | | | | | | | | | | | Supports a number of videogame music formats, more info here: http://www.fly.net/~ant/libs/audio.html I wrote this plugin for the latest svn, get it here: http://code.google.com/p/game-music-emu/source/checkout
* | | decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()Charles Kerr2010-04-111-4/+9
|/ / | | | | | | | | | | | | | | | | What's happening is the `ptr' argument to that function is NULL for me every time. `ptr' is unconditionally dereferenced to generate a log message, and this is where mpd crashes. Attached is a simple patch that tests for NULL and omits the log. With this patch the crash disappeared and mpd went back to working well.
* | decoder/ffmpeg: print item name in log callbackMax Kellermann2010-03-281-1/+5
| |
* | Merge release 0.15.9 from branch 'v0.15.x'Max Kellermann2010-03-282-5/+10
|\| | | | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/cue/cue_tag.c src/decoder/mpcdec_decoder_plugin.c src/player_thread.c
| * decoder/mpcdec: fix replay gain formula with v8Aleksei Kaveshnikov2010-03-191-0/+8
| | | | | | | | | | | | | | | | | | | | "When playing musepack files with mpd v0.15.8, rg seems to have no effect. Using sample file below, mpd says 'computing ReplayGain album scale with gain 122.879997, peak 0.549150'. One thing though, if I build mpd against old libmpcdec-1.2.6, rg works as expected: 'computing ReplayGain album scale with gain 16.820000, peak 0.099765'"
| * decoder/mpcdec: fix negative shift on fixed-point samplesPiotr Gozdur2010-03-171-1/+1
| | | | | | | | | | | | "There is a bug in fixed-point musepack (musepack_src_r435) playback. In floating-point audio is OK but in fixed audio is distorted. I have made a patch for this"
| * decoder/mad: fix crash when seeking at end of songMax Kellermann2010-02-271-4/+0
| | | | | | | | | | | | Removed the decoder_command_finished() call at the end of mp3_decode(). This is invalid, because decoder_command_finished() has already been called in mp3_read().
* | Add support for MixRamp tagsTim Phipps2010-03-215-6/+106
| | | | | | | | | | Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
* | decoder/ffmpeg: fix indentationMax Kellermann2010-03-071-6/+6
| |
* | decoder/ffmpeg: implement the libavutil log callbackMax Kellermann2010-02-271-0/+31
| | | | | | | | Pass everything to the GLib logging library. No direct stderr access.
* | decoder/ffmpeg: don't close the AVFormatContext after open failureMax Kellermann2010-02-271-1/+0
| | | | | | | | The pointer is invalid if av_open_input_file() fails.
* | replay_gain_info: allocate the struct staticallyMax Kellermann2010-02-177-83/+51
| | | | | | | | | | | | Don't allocate each replay_gain_info object on the heap. Those objects who held a pointer now store a full replay_gain_info object. This reduces the number of allocations and heap fragmentation.
* | ffmpeg: read more metadata.Anton Khirnov2010-02-021-1/+12
| |
* | decoder/flac: fix replay gain (short-circuiting "or")Tim Phipps2010-01-281-8/+13
| |
* | decoder/wavpack: fixed WVC URIMax Kellermann2010-01-201-4/+5
| | | | | | | | Pass the current URI to wavpack_open_wvc().
* | decoder/ffmpeg: call decoder_timestamp() once per packetMax Kellermann2010-01-181-5/+5
| |
* | decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode()Max Kellermann2010-01-181-116/+67
| |
* | decoder/ffmpeg: optimized the stream_tag() methodMax Kellermann2010-01-181-25/+27
| | | | | | | | Don't use the function ffmpeg_helper(), don't initialize the codec.
* | decoder/ffmpeg: free AVFormatContext on errorMax Kellermann2010-01-181-0/+4
| | | | | | | | Fix a memory leak in some code paths.
* | decoder_api: removed function decoder_get_uri()Max Kellermann2010-01-183-26/+11
| | | | | | | | Use input_stream.uri.
* | Merge release 0.15.8 from branch 'v0.15.xMax Kellermann2010-01-181-4/+34
|\| | | | | | | | | | | | | | | | | Conflicts: Makefile.am NEWS configure.ac src/decoder/ffmpeg_decoder_plugin.c src/decoder_thread.c
| * decoder/ffmpeg: added more MIME typesMax Kellermann2010-01-171-0/+6
| | | | | | | | Taken from the ffmpeg sources.
| * decoder/ffmpeg: append file name suffix to virtual stream URLMax Kellermann2010-01-171-4/+28
| | | | | | | | | | | | | | To allow libavformat to detect the format of the input file, append the suffix of the input file to the URL of the virtual stream. This specifically enables the "shorten" codec, which is supported by libavformat/raw.c, detected only by the suffix.
* | audio_format: support packed 24 bit samplesMax Kellermann2010-01-161-0/+1
| |
* | decoder/flac: support streams without STREAMINFO blockMax Kellermann2010-01-062-1/+52
| |
* | decoder/flac: pass bits_per_sample to flac_sample_format()Max Kellermann2010-01-061-3/+3
| | | | | | | | Easier to reuse the function.
* | decoder/flac: moved decoder initialization to _flac_common.cMax Kellermann2010-01-064-51/+23
| | | | | | | | | | | | Invoke decoder_initialized() in the libFLAC metadata callback. This merges code from the FLAC and the OggFLAC decoder plugin into the common library.
* | decoder/flac: remember audio_format, not stream_infoMax Kellermann2010-01-064-25/+47
| |
* | decoder/flac: removed CUE sheet supportMax Kellermann2010-01-063-359/+1
| | | | | | | | This feature has been moved to the "flac" playlist plugin.
* | decoder/flac: moved flac_tag_load() to flac_metadata.cMax Kellermann2010-01-063-53/+56
| | | | | | | | Make this code is reusable.
* | renamed decoder plugin sourcesMax Kellermann2010-01-0415-0/+0
| | | | | | | | Make it X_decoder_plugin.c.
* | decoder/mad: fix build error without libid3tagMax Kellermann2010-01-041-1/+0
| |
* | replay_gain: moved code to replay_gain_info.cMax Kellermann2010-01-041-1/+1
| |
* | decoder_api: added function decoder_replay_gain()Max Kellermann2010-01-0417-87/+63
| | | | | | | | | | | | This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
* | input_stream: return allocated input_stream objectsMax Kellermann2010-01-011-14/+13
| | | | | | | | | | | | | | | | Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
* | Update copyright notices.Avuton Olrich2009-12-3126-26/+26
| |
* | decoder: switch a bunch of plugins to stream_tag()Max Kellermann2009-12-317-110/+45
| | | | | | | | | | | | | | | | | | | | This patch changes the following decoder plugins to implement stream_tag() instead of tag_dup(): faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac This simplifies their code, because they do not need to take care of opening/closing the stream.
* | decoder_plugin: added method stream_tag()Max Kellermann2009-12-311-0/+1
| | | | | | | | | | This is like tag_dup(), but works with an input_stream object instead of a file path.