Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ffmpeg: read the audio stream metadata in addition to global | Anton Khirnov | 2010-07-12 | 1 | -1/+5 |
| | | | | in some formats, e.g. vorbis, the metadata is stored per-stream. | ||||
* | ffmpeg: factor tag_type <-> ffmpeg tag name maps into a table. | Anton Khirnov | 2010-07-12 | 1 | -21/+32 |
| | |||||
* | decoder/mp4ff: support tag "album artist" | Max Kellermann | 2010-06-25 | 1 | -0/+1 |
| | | | | | We already supported "albumartist", but it seems some folks also use "album artist" (with a space). | ||||
* | fix crash when decoder is NULL | Romain Bignon | 2010-05-31 | 1 | -2/+2 |
| | |||||
* | decoder/mikmod: fix memory leak | Max Kellermann | 2010-05-31 | 1 | -2/+4 |
| | | | | | The return value of Player_LoadTitle() is allocated with malloc(), and must be freed by the caller. | ||||
* | decoder/mikmod: duplicate the path only once | Max Kellermann | 2010-05-31 | 1 | -2/+2 |
| | |||||
* | decoder/mikdmod: moved local variable declarations in tag_dup() | Max Kellermann | 2010-05-31 | 1 | -12/+8 |
| | |||||
* | decoder/wildmidi: moved local variable declarations in tag_dup() | Max Kellermann | 2010-05-31 | 1 | -7/+3 |
| | |||||
* | decoder/gme: replace macro GME_BUF_SIZE | Max Kellermann | 2010-05-31 | 1 | -4/+5 |
| | | | | | Added macros with better names: GME_BUFFER_FRAMES, GME_BUFFER_SAMPLES (the former only used to calculate the latter). | ||||
* | decoder/gme: added constants for sample rate and channels | Max Kellermann | 2010-05-31 | 1 | -6/+12 |
| | | | | Move into enums. | ||||
* | decoder/gme: pass the whole buffer to decoder_data() | Max Kellermann | 2010-05-31 | 1 | -2/+2 |
| | | | | | | | | Pass sizeof(buf) to decoder_data(), not the number of samples (which is half the size). At the same time, pass GME_BUF_SIZE to gme_play() - libgme really wants to get the number of samples, not the number of stereo frames. Previously, this plugin had been using only the first half of the buffer. | ||||
* | decoder/gme: allocate tag later, fixes memory leak | Max Kellermann | 2010-05-31 | 1 | -1/+1 |
| | | | | Allocate the "tag" object after the file has been opened successfully. | ||||
* | decoder/mp4ff: rename and move local variable | Max Kellermann | 2010-05-31 | 1 | -6/+5 |
| | | | | | Allocate the "tag" object after the file has been checked. That removes one tag_free() call in an error handler. | ||||
* | decoder/mp4ff: merge code into mp4ff_input_stream_open() | Max Kellermann | 2010-05-31 | 1 | -17/+17 |
| | |||||
* | decoder/mp4ff: move mp4ff_callback_t into mp4ff_input_stream | Max Kellermann | 2010-05-31 | 1 | -12/+15 |
| | | | | Allocate only one item on the stack. | ||||
* | decoder/mp4ff: rename mp4_context to mp4ff_input_stream | Max Kellermann | 2010-05-31 | 1 | -9/+9 |
| | |||||
* | decoder/mp4ff: remove duplicate entries in the tag name table | Max Kellermann | 2010-05-31 | 1 | -9/+5 |
| | | | | Reuse the function tag_name_parse_i(). | ||||
* | decoder/mp4ff: moved code to mp4ff_tag_name_parse() | Max Kellermann | 2010-05-31 | 1 | -1/+7 |
| | |||||
* | decoder/vorbis: rename local variable "ret" | Max Kellermann | 2010-05-31 | 1 | -6/+5 |
| | |||||
* | decoder/vorbis: implement method stream_tag() | Max Kellermann | 2010-05-31 | 1 | -11/+4 |
| | | | | This allows tags in archive files. | ||||
* | decoder/vorbis: move code to vorbis_open_stream() | Max Kellermann | 2010-05-31 | 1 | -19/+23 |
| | |||||
* | decoder/vorbis: use single global ov_callbacks constant | Max Kellermann | 2010-05-30 | 1 | -6/+9 |
| | | | | Initialize the ov_callbacks struct at compile time. | ||||
* | decoder/vorbis: rename struct vorbis_decoder_data to vorbis_is | Max Kellermann | 2010-05-30 | 1 | -20/+19 |
| | |||||
* | decoder/mp4ff: support tags "albumartist", "band" | Max Kellermann | 2010-05-30 | 1 | -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 names | Max Kellermann | 2010-05-30 | 1 | -18/+15 |
| | | | | Convert if/else/else/... to a loop. | ||||
* | decoder/mp4ff: rename plugin "mp4" to "mp4ff" | Max Kellermann | 2010-05-30 | 1 | -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 Kellermann | 2010-05-30 | 1 | -5/+25 |
|\ | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/input/mms_input_plugin.c | ||||
| * | decoder/mad: fix buffer variable name on !HAVE_ID3TAG | Max Kellermann | 2010-05-30 | 1 | -3/+3 |
| | | |||||
| * | decoder/mad: properly calculate ID3 size without libid3tag | Max Kellermann | 2010-04-13 | 1 | -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" library | Max Kellermann | 2010-05-18 | 1 | -0/+6 |
| | | |||||
* | | mixramp: Adjust MixRamp threshold to account for ReplayGain. | Tim Phipps | 2010-05-08 | 2 | -4/+9 |
| | | |||||
* | | Merge branch 'master' of git://github.com/mcfiredrill/mpd | Max Kellermann | 2010-04-20 | 1 | -0/+129 |
|\ \ | |||||
| * | | Decoder for game music emulation library. | Tony Miller | 2010-04-10 | 1 | -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 Kerr | 2010-04-11 | 1 | -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 callback | Max Kellermann | 2010-03-28 | 1 | -1/+5 |
| | | |||||
* | | Merge release 0.15.9 from branch 'v0.15.x' | Max Kellermann | 2010-03-28 | 2 | -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 v8 | Aleksei Kaveshnikov | 2010-03-19 | 1 | -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 samples | Piotr Gozdur | 2010-03-17 | 1 | -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 song | Max Kellermann | 2010-02-27 | 1 | -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 tags | Tim Phipps | 2010-03-21 | 5 | -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 indentation | Max Kellermann | 2010-03-07 | 1 | -6/+6 |
| | | |||||
* | | decoder/ffmpeg: implement the libavutil log callback | Max Kellermann | 2010-02-27 | 1 | -0/+31 |
| | | | | | | | | Pass everything to the GLib logging library. No direct stderr access. | ||||
* | | decoder/ffmpeg: don't close the AVFormatContext after open failure | Max Kellermann | 2010-02-27 | 1 | -1/+0 |
| | | | | | | | | The pointer is invalid if av_open_input_file() fails. | ||||
* | | replay_gain_info: allocate the struct statically | Max Kellermann | 2010-02-17 | 7 | -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 Khirnov | 2010-02-02 | 1 | -1/+12 |
| | | |||||
* | | decoder/flac: fix replay gain (short-circuiting "or") | Tim Phipps | 2010-01-28 | 1 | -8/+13 |
| | | |||||
* | | decoder/wavpack: fixed WVC URI | Max Kellermann | 2010-01-20 | 1 | -4/+5 |
| | | | | | | | | Pass the current URI to wavpack_open_wvc(). | ||||
* | | decoder/ffmpeg: call decoder_timestamp() once per packet | Max Kellermann | 2010-01-18 | 1 | -5/+5 |
| | | |||||
* | | decoder/ffmpeg: merged ffmpeg_helper() into ffmpeg_decode() | Max Kellermann | 2010-01-18 | 1 | -116/+67 |
| | | |||||
* | | decoder/ffmpeg: optimized the stream_tag() method | Max Kellermann | 2010-01-18 | 1 | -25/+27 |
| | | | | | | | | Don't use the function ffmpeg_helper(), don't initialize the codec. |