aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/MadDecoderPlugin.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-26DecoderControl: move code/attributes to new class MixRampInfoMax Kellermann1-15/+8
2013-10-25ReplayGainInfo: refactor to a classMax Kellermann1-2/+2
2013-10-25ReplayGainInfo: use CamelCase for struct nameMax Kellermann1-10/+10
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-17/+17
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.