aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/ffmpeg: define fallback macro AV_VERSION_INT()Max Kellermann2011-05-091-1/+5
| | | | For ffmpeg < 0.5. Copied from libavutil 0.5.
* decoder/flac: fix enum mismatch in flac_tell_cb()Max Kellermann2011-03-231-1/+1
| | | | Fix clang warning.
* general: whitespace cleanupThomas Jansen2011-02-091-1/+1
| | | | | Remove trailing whitespace found by this command: find -name '*.[ch]' | xargs grep "[[:space:]]$"
* Set fadeout in gme_decoder_plugin. Due to the nature of the gme library,Tony Miller2011-02-031-0/+3
| | | | this needs to be done for the end of songs to be detected.
* decoder/mad: work around build failure on SolarisAlex Viskovatoff2010-12-211-2/+2
| | | | | | | | Rename the "version" struct, because it seems to be a reserved name on Solaris: "src/decoder/mad_decoder_plugin.c", line 550: (enum) tag redeclared: version cc: acomp failed for src/decoder/mad_decoder_plugin.c
* Merge release 0.15.14 from branch 'v0.15.x'Max Kellermann2010-11-072-2/+10
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: NEWS configure.ac src/decoder_control.c src/decoder_control.h src/input/rewind_input_plugin.c src/output_control.c src/output_thread.c src/player_thread.c
| * decoder/{mp4ff,ffmpeg}: add extension ".m4b" (audio book)Max Kellermann2010-11-052-2/+10
| | | | | | | | Same as ".m4a".
* | decoder/ffmpeg: check AVCodecContext.sample_fmt valueMax Kellermann2010-11-041-7/+9
| | | | | | | | | | .. instead of av_get_bits_per_sample_format(). The SampleFormat enum value is authoritative.
* | decoder/sidplay: play mus, str, prg, x00 filesAlder Hornbridge2010-10-271-0/+4
| |
* | decoder/sidplay: play monaural SID tunes in monoAlder Hornbridge2010-10-271-2/+10
| |
* | Container support for gme decoder.Tony Miller2010-10-141-8/+114
| |
* | eliminate g_error() usageThomas Jansen2010-09-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
* | decoder/mp4ff: support more variations of "album artist"Max Kellermann2010-09-231-0/+4
| | | | | | | | | | | | | | | | | | | | | | According to the mantis bug report 2847, there are several possible variations of the "album artist" tag: - "album artist" - "album_artist" - "albumartist" This patch adds support for the latter two.
* | decoder_control: use g_free() to manage mixramp allocationsMax Kellermann2010-09-232-7/+4
| | | | | | | | | | Be consistent with the rest of MPD, and don't use the non-portable header "malloc.h".
* | Added album tag support for libgme decoderRasi2010-07-231-0/+2
| |
* | decoder/mad: move RVA2 code to tag_rva2.cMax Kellermann2010-07-201-89/+2
| |
* | 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.