aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-05-18input/ffmpeg: new input plugin using libavformat's "avio" libraryMax Kellermann1-0/+6
2010-05-08mixramp: Adjust MixRamp threshold to account for ReplayGain.Tim Phipps2-4/+9
2010-04-11decoder/ffmpeg: fix crash on startup in mpd_ffmpeg_log_callback()Charles Kerr1-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.
2010-04-10Decoder for game music emulation library.Tony Miller1-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
2010-03-28decoder/ffmpeg: print item name in log callbackMax Kellermann1-1/+5
2010-03-21Add support for MixRamp tagsTim Phipps5-6/+106
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
2010-03-19decoder/mpcdec: fix replay gain formula with v8Aleksei Kaveshnikov1-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'"
2010-03-17decoder/mpcdec: fix negative shift on fixed-point samplesPiotr Gozdur1-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"
2010-03-07decoder/ffmpeg: fix indentationMax Kellermann1-6/+6
2010-02-27decoder/ffmpeg: implement the libavutil log callbackMax Kellermann1-0/+31
Pass everything to the GLib logging library. No direct stderr access.
2010-02-27decoder/ffmpeg: don't close the AVFormatContext after open failureMax Kellermann1-1/+0
The pointer is invalid if av_open_input_file() fails.
2010-02-27decoder/mad: fix crash when seeking at end of songMax Kellermann1-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().
2010-02-17replay_gain_info: allocate the struct staticallyMax Kellermann7-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.
2010-02-02ffmpeg: read more metadata.Anton Khirnov1-1/+12
2010-01-28decoder/flac: fix replay gain (short-circuiting "or")Tim Phipps1-8/+13
2010-01-20decoder/wavpack: fixed WVC URIMax Kellermann1-4/+5
Pass the current URI to wavpack_open_wvc().
2010-01-18decoder/ffmpeg: call decoder_timestamp() once per packetMax Kellermann1-5/+5
2010-01-18decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode()Max Kellermann1-116/+67
2010-01-18decoder/ffmpeg: optimized the stream_tag() methodMax Kellermann1-25/+27
Don't use the function ffmpeg_helper(), don't initialize the codec.
2010-01-18decoder/ffmpeg: free AVFormatContext on errorMax Kellermann1-0/+4
Fix a memory leak in some code paths.
2010-01-18decoder_api: removed function decoder_get_uri()Max Kellermann3-26/+11
Use input_stream.uri.
2010-01-17decoder/ffmpeg: added more MIME typesMax Kellermann1-0/+6
Taken from the ffmpeg sources.
2010-01-17decoder/ffmpeg: append file name suffix to virtual stream URLMax Kellermann1-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.
2010-01-16audio_format: support packed 24 bit samplesMax Kellermann1-0/+1
2010-01-06decoder/flac: support streams without STREAMINFO blockMax Kellermann2-1/+52
2010-01-06decoder/flac: pass bits_per_sample to flac_sample_format()Max Kellermann1-3/+3
Easier to reuse the function.
2010-01-06decoder/flac: moved decoder initialization to _flac_common.cMax Kellermann4-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.
2010-01-06decoder/flac: remember audio_format, not stream_infoMax Kellermann4-25/+47
2010-01-06decoder/flac: removed CUE sheet supportMax Kellermann3-359/+1
This feature has been moved to the "flac" playlist plugin.
2010-01-06decoder/flac: moved flac_tag_load() to flac_metadata.cMax Kellermann3-53/+56
Make this code is reusable.
2010-01-04renamed decoder plugin sourcesMax Kellermann15-0/+0
Make it X_decoder_plugin.c.
2010-01-04decoder/mad: fix build error without libid3tagMax Kellermann1-1/+0
2010-01-04replay_gain: moved code to replay_gain_info.cMax Kellermann1-1/+1
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann17-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.
2010-01-01input_stream: return allocated input_stream objectsMax Kellermann1-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).
2009-12-31Update copyright notices.Avuton Olrich26-26/+26
2009-12-31decoder: switch a bunch of plugins to stream_tag()Max Kellermann7-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.
2009-12-31decoder_plugin: added method stream_tag()Max Kellermann1-0/+1
This is like tag_dup(), but works with an input_stream object instead of a file path.
2009-12-29decoder/{ffmpeg,flac,vorbis}: added more flac/vorbis MIME typesMax Kellermann4-4/+22
Support deprecated MIME types such as "audio/x-ogg". Support new types such as "audio/flac".
2009-12-26decoder_api: added function decoder_timestamp()Max Kellermann16-77/+24
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
2009-12-26decoder/wavpack: allow fine-grained seekingMax Kellermann1-3/+2
First multiply the floating point return value of decoder_seek_where(), then cast to integer.
2009-12-16updated mp4ff decoder about input_stream_seekAlam Arias1-2/+2
2009-12-15input_stream: return errors with GErrorMax Kellermann11-26/+48
2009-12-14decoder/mikmod: fixed gcc uninitialized warningMax Kellermann1-2/+1
Removed local variable "sample_rate".
2009-12-11decoder/wavpack: don't use the nonstandard "uchar" typeMax Kellermann1-1/+1
Use the signed C99 type int8_t instead.
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann19-43/+138
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value.
2009-11-30ffmpeg: don't try to force stereoMax Kellermann1-4/+0
The plugin code tried to force libavcodec to supply stereo samples. That however has never actually worked. By removing this code, we are able to play surround files for the first time.
2009-11-25decoder/mpcdec: set 24 bit sample formatMax Kellermann1-1/+1
This fixes a regression due to a typo caused by "decoder: use audio_format_init_checked()".
2009-11-19decoder/flac: fixed compiler warningMax Kellermann1-3/+1
Removed the "vtrack" local variable (which triggered a gcc warning because it was after the newly introduced NULL check), and run strtol() on the original parameter.
2009-11-18decoder/flac: fixed NULL pointer dereference in CUE codeMax Kellermann1-0/+2
The function flac_vtrack_tnum() was missing a strrchr()==NULL check.