aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge release 0.15.12 from branch 'v0.15.x'Max Kellermann2010-07-202-11/+14
|\ | | | | | | | | | | Conflicts: NEWS configure.ac
| * tag_rva2: set "gain", not "peak"Max Kellermann2010-07-201-2/+2
| | | | | | | | RVA2 tags only store the "gain" value, there is no "peak" attribute.
| * decoder/mad: parse_rva2() returns boolMax Kellermann2010-07-201-9/+8
| |
| * decoder/wildmidi: support version 0.2.3Max Kellermann2010-07-201-0/+4
| | | | | | | | | | | | | | In libwildmidi 0.2.3, the function WildMidi_SampledSeek() was removed, without changing the SO name. This patch adds an autoconf check for that function. Fall back to WildMidi_FastSeek() if WildMidi_SampledSeek() is not available anymore.
| * decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream()Max Kellermann2010-06-301-82/+52
| | | | | | | | | | | | | | | | | | | | | | | | libavformat 0.6 does not pass the original URI pointer to the "open" method, which leads to a crash because MPD was using a dirty hack to pass a pointer to that method. This patch switches to av_open_input_stream() with a custom ByteIOContext class, instead of doing the URI string hack with av_open_input_file(). Loosely based on a patch from Jasper St. Pierre.
| * decoder/ffmpeg: manual format probingMax Kellermann2010-06-301-4/+47
| | | | | | | | | | | | | | | | | | Use the libavformat function av_probe_input_format() to probe the AVInputFormat, instead of letting av_open_input_file() do it implicitly. We will switch to av_open_input_stream() very soon, which does not have the probing code. Loosely based on a patch from Jasper St. Pierre.
| * decoder/ffmpeg: free URI, fix memory leakMax Kellermann2010-06-301-1/+3
| | | | | | | | Free the string allocated by decoder_get_uri().
| * decoder/vorbis: handle uri==NULLMax Kellermann2010-06-301-0/+3
| | | | | | | | This fixes a theoretical crash, which has never occurred in practice.
| * ffmpeg: read more metadata.Anton Khirnov2010-06-301-1/+10
| |
| * decoder/ffmpeg: free AVFormatContext on errorMax Kellermann2010-06-301-0/+4
| | | | | | | | Fix a memory leak in some code paths.
| * decoder/mp4ff: support tag "album artist"Max Kellermann2010-06-301-0/+1
| | | | | | | | | | We already supported "albumartist", but it seems some folks also use "album artist" (with a space).
| * decoder/mikmod: fix memory leakMax Kellermann2010-06-301-2/+4
| | | | | | | | | | The return value of Player_LoadTitle() is allocated with malloc(), and must be freed by the caller.
| * decoder/mp4ff: remove duplicate entries in the tag name tableMax Kellermann2010-06-301-9/+5
| | | | | | | | Reuse the function tag_name_parse_i().
| * decoder/mp4ff: moved code to mp4ff_tag_name_parse()Max Kellermann2010-06-301-1/+7
| |
| * decoder/vorbis: use single global ov_callbacks constantMax Kellermann2010-06-301-7/+9
| | | | | | | | Initialize the ov_callbacks struct at compile time.
| * decoder/mp4ff: support tags "albumartist", "band"Max Kellermann2010-06-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-06-301-18/+15
| | | | | | | | Convert if/else/else/... to a loop.
* | decoder/ffmpeg: fix libavformat 0.6 by using av_open_input_stream()Max Kellermann2010-07-191-89/+65
| | | | | | | | | | | | | | | | | | | | | | | | libavformat 0.6 does not pass the original URI pointer to the "open" method, which leads to a crash because MPD was using a dirty hack to pass a pointer to that method. This patch switches to av_open_input_stream() with a custom ByteIOContext class, instead of doing the URI string hack with av_open_input_file(). Loosely based on a patch from Jasper St. Pierre.
* | decoder/ffmpeg: manual format probingMax Kellermann2010-07-191-2/+47
| | | | | | | | | | | | | | | | | | Use the libavformat function av_probe_input_format() to probe the AVInputFormat, instead of letting av_open_input_file() do it implicitly. We will switch to av_open_input_stream() very soon, which does not have the probing code. Loosely based on a patch from Jasper St. Pierre.
* | ffmpeg: read the audio stream metadata in addition to globalAnton Khirnov2010-07-121-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 Khirnov2010-07-121-21/+32
| |
* | decoder/mp4ff: support tag "album artist"Max Kellermann2010-06-251-0/+1
| | | | | | | | | | We already supported "albumartist", but it seems some folks also use "album artist" (with a space).
* | fix crash when decoder is NULLRomain Bignon2010-05-311-2/+2
| |
* | decoder/mikmod: fix memory leakMax Kellermann2010-05-311-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 onceMax Kellermann2010-05-311-2/+2
| |
* | decoder/mikdmod: moved local variable declarations in tag_dup()Max Kellermann2010-05-311-12/+8
| |
* | decoder/wildmidi: moved local variable declarations in tag_dup()Max Kellermann2010-05-311-7/+3
| |
* | decoder/gme: replace macro GME_BUF_SIZEMax Kellermann2010-05-311-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 channelsMax Kellermann2010-05-311-6/+12
| | | | | | | | Move into enums.
* | decoder/gme: pass the whole buffer to decoder_data()Max Kellermann2010-05-311-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 leakMax Kellermann2010-05-311-1/+1
| | | | | | | | Allocate the "tag" object after the file has been opened successfully.
* | decoder/mp4ff: rename and move local variableMax Kellermann2010-05-311-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 Kellermann2010-05-311-17/+17
| |
* | decoder/mp4ff: move mp4ff_callback_t into mp4ff_input_streamMax Kellermann2010-05-311-12/+15
| | | | | | | | Allocate only one item on the stack.
* | decoder/mp4ff: rename mp4_context to mp4ff_input_streamMax Kellermann2010-05-311-9/+9
| |
* | decoder/mp4ff: remove duplicate entries in the tag name tableMax Kellermann2010-05-311-9/+5
| | | | | | | | Reuse the function tag_name_parse_i().
* | decoder/mp4ff: moved code to mp4ff_tag_name_parse()Max Kellermann2010-05-311-1/+7
| |
* | decoder/vorbis: rename local variable "ret"Max Kellermann2010-05-311-6/+5
| |
* | decoder/vorbis: implement method stream_tag()Max Kellermann2010-05-311-11/+4
| | | | | | | | This allows tags in archive files.
* | 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
| |