aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/MadDecoderPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-21decoder: rename the struct to "Decoder"Max Kellermann1-15/+15
2013-10-21decoder_plugin: rename struct to DecoderPluginMax Kellermann1-1/+1
2013-10-20Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann1-6/+7
Replaces GLib's g_ascii_strcasecmp().
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann1-6/+6
Decouple some more from GLib.
2013-10-02Log: new logging library APIMax Kellermann1-22/+26
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-27DecoderCommand: convert to strictly-typed enumMax Kellermann1-20/+20
2013-09-05Tag, ...: move to libtag.aMax Kellermann1-1/+1
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+1
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-05InputLegacy: move functions to the input_stream classMax Kellermann1-8/+7
2013-09-04Tag*: move libtag.a sources to src/tag/Max Kellermann1-2/+2
2013-09-04util/Error: new error passing libraryMax Kellermann1-6/+6
Replaces GLib's GError.
2013-08-04DecoderPlugin: pass config_param referenceMax Kellermann1-1/+1
2013-08-03audio_format: convert to C++Max Kellermann1-4/+4
2013-07-31DecoderAPI: pass rvalue reference to decoder_tag()Max Kellermann1-2/+3
Avoid duplicating the tag.
2013-07-30tag: convert to C++Max Kellermann1-17/+15
2013-07-29audio_check: convert to C++Max Kellermann1-1/+1
2013-07-29tag_handler: convert to C++Max Kellermann1-1/+1
2013-07-28tag_id3: convert to C++Max Kellermann1-5/+1
2013-07-28decoder_api: convert to C++Max Kellermann1-1/+1
2013-07-26tag_rva2: convert to C++Max Kellermann1-1/+1
2013-07-26decoder/mad: convert to C++Max Kellermann1-313/+295
2013-01-26input_stream: forward-declare the structMax Kellermann1-5/+7
Hide the definition from C code, to prepare the transition to C++.
2013-01-05DecoderAPI: _replay_gain() returns voidMax Kellermann1-3/+2
Let the function decoder_replay_gain() update decoder_control::replay_gain_db instead of letting each decoder plugin take care for that.
2012-09-25decoder_control: remove MixRamp debug messagesMax Kellermann1-3/+2
These are confusing, and since MixRamp development has ceased, not useful to anybody.
2012-08-29decoder/mad, output_thread: add gcc_unlikely()Max Kellermann1-2/+2
2012-02-11decoder_plugin: scan tags with callback tableMax Kellermann1-8/+8
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object.
2011-09-16input_stream: non-blocking I/OMax Kellermann1-1/+1
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-12-21decoder/mad: work around build failure on SolarisAlex Viskovatoff1-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
2010-09-23decoder_control: use g_free() to manage mixramp allocationsMax Kellermann1-2/+2
Be consistent with the rest of MPD, and don't use the non-portable header "malloc.h".
2010-07-20decoder/mad: move RVA2 code to tag_rva2.cMax Kellermann1-89/+2
2010-05-08mixramp: Adjust MixRamp threshold to account for ReplayGain.Tim Phipps1-2/+5
2010-03-21Add support for MixRamp tagsTim Phipps1-0/+47
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
2010-02-17replay_gain_info: allocate the struct staticallyMax Kellermann1-24/+15
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-01-04renamed decoder plugin sourcesMax Kellermann1-0/+0
Make it X_decoder_plugin.c.
2010-01-04decoder/mad: fix build error without libid3tagMax Kellermann1-1/+0
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann1-42/+31
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.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-31decoder: switch a bunch of plugins to stream_tag()Max Kellermann1-12/+8
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-26decoder_api: added function decoder_timestamp()Max Kellermann1-1/+0
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-15input_stream: return errors with GErrorMax Kellermann1-2/+2
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-1/+2
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-14decoder: use audio_format_init_checked()Max Kellermann1-2/+16
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins.
2009-11-12include config.h in all sourcesMax Kellermann1-2/+2
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-10-11input_stream: use "goffset" instead of "off_t"Max Kellermann1-4/+4
The "off_t" type may change when you enable or disable large file support on 32 bit platforms. This caused severe ABI problems within MPD when we enabled LFS for the first time: two sources included config.h and sys/types.h in different order, and had different off_t sizes - leading to memory corruption because of ABI incompatibility. This patch attempts to get rid of all public "off_t" uses: it removes "off_t" from the input_stream ABI/API, and switches to GLib's 64 bit "goffset" type. This may hurt 32 bit embedded platforms a tiny bit, but that's not even measurable.
2009-07-22mad: skip ID3 frames when libid3tag is disabledMax Kellermann1-6/+28
When libid3tag is disabled, the libmad decoder plugin is unable to identify ID3 frames. If the file starts with an (unidentified) ID3 frame, it assumes that the file is not a valid MP3 song. This patch solves this by adding minimal stubs for the ID3 functions.
2009-07-19Add audio_format_init() functionDavid Woodhouse1-8/+2
It makes no difference right now, but we're about to add an endianness flag and will want to make sure it's correctly initialised every time.
2009-04-28mad_decoder: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann1-4/+4
strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
2009-03-13all: Update copyright header.Avuton Olrich1-6/+7
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-02-17decoders: added and fixed GLib log domainsMax Kellermann1-3/+5
Fixed the log domains of the renamed decoders. Added G_LOG_DOMAIN macros in decoders which don't have one already.