aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-10-28decoder/ffmpeg: removed the "author" vs "artist" workaroundMax Kellermann1-2/+1
libavformat gives us the song artist in the "author" field. Since we use av_metadata_conv(), we don't need to check for "artist".
2009-10-28decoder/ffmpeg: convert metadataMax Kellermann1-4/+4
Convert the metadata with the libavformat function av_metadata_conv(). This ensures that canonical tag names are provided by libavformat, and we can remove the "artist" vs "author" workaround.
2009-10-18decoder/vorbis: avoid unused symbol warnings from vorbisfile.hSerge Ziryukin1-0/+1
svn r13289 of libvorbis introduced static callbacks (like OV_CALLBACKS_DEFAULT) defined in "vorbisfile.h" header. First released version with this change is libvorbis-1.2.2. In libversion-1.2.3 OV_EXCLUDE_STATIC_CALLBACKS define was added to avoid warnings about unused static callbacks. Information on the OV_EXCLUDE_STATIC_CALLBACKS can be found in http://svn.xiph.org/trunk/vorbis/CHANGES.
2009-10-16decoder/flac: fixed two memory leaks in the CUE tag loaderMax Kellermann1-2/+3
Don't initialize "vc" and "cs" with FLAC__metadata_object_new(); that value is overwritten by FLAC__metadata_get_tags() and FLAC__metadata_get_cuesheet().
2009-10-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann10-55/+51
2009-10-11input_stream: use "goffset" instead of "off_t"Max Kellermann2-4/+5
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-09-30decoder/ffmpeg: use the "artist" tag if "author" is not presentMax Kellermann1-2/+5
Usually, we read our "artist" tag from ffmpeg's "author" tag. In some cases however (e.g. APE), this tag is named "artist". This patch implements a fallback: if no "author" is found, MPD tries to use "artist".
2009-09-30decoder/faad: skip assertion failure on large ID3 tagsMax Kellermann1-2/+6
When the ID3 tag in an AAC file is larger than the current buffer, the function decoder_buffer_consume() aborts. By using the new function decoder_buffer_skip() instead, we can safely skip the ID3 tag.
2009-09-28Make the sidplay decoder filter configurable.Tony1-1/+5
2009-09-24decoder/sidplay: free songlength data blob in error handlerMax Kellermann1-3/+4
When parsing the songlength database fails, the code forgot to free the memory allocated by the raw file data.
2009-09-24decoder/sidplay: moved code to sidplay_load_songlength_db()Max Kellermann1-29/+36
2009-09-24decoder/sidplay: free GError objectsMax Kellermann1-0/+2
The caller is responsible fro freeing GError objects. That g_error_free() call was missing in two places.
2009-09-24decoder/sidplay: pass GError** to g_file_get_contents()Max Kellermann1-1/+2
The error handler dereferences GError*, but did not retrieve that object from g_file_get_contents().
2009-09-10decoder/vorbis: revert "faster tag scanning with ov_test_callback()"Max Kellermann1-1/+1
This patch made ov_time_total() unusable, and MPD did not know the duration of songs.
2009-08-30decoder/sidplay: support seekingMike Dawson1-3/+34
2009-08-30decoder/sidplay: implemented songlength databaseMike Dawson1-0/+87
[mk: added autoconf test; fixed songlen_data_size type]
2009-08-30decoder/sidplay: subtunesMike Dawson1-8/+125
2009-08-26decoder/mpg123: new decoder plugin based on libmpg123Max Kellermann1-0/+210
Still missing: - seeking - tags - streaming - encodings other than MPG123_ENC_SIGNED_16
2009-08-25decoder/vorbis: open file in "binary" modeGunnar Roth1-1/+1
fopen change for win32 in tag dup of vorbis win32 adaption for head changes
2009-08-24decoder/vorbis: faster tag scanning with ov_test_callback()Rasmus Steinke1-1/+1
using ov_test_callback with function CALLBACKS_STREAMONLY will cause scanning to stop after the comment field. ov_open (and ov_test) default to CALLBACKS_DEFAULT which scans the file structure causing a huge slowdown. The speed improvement is huge: It scanned my files around 10x faster This procedure has been recommended by monthy (main vorbis developer) and was said to be safe for scanning files.
2009-08-14decoder/flac: don't allocate cuesheet twice (memleak)Max Kellermann1-4/+6
The function flac_cue_track() first calls FLAC__metadata_object_new(), then overwrites this pointer with FLAC__metadata_get_cuesheet(). This allocate two FLAC__StreamMetadata objects, but the first pointer is lost, and never freed.
2009-08-03ffmpeg_plugin: convert metadata to generic formatAnton Khirnov1-1/+3
2009-07-22decoder/flac: fixed indentation of flac_comment_value()Max Kellermann1-19/+21
2009-07-22decoder/flac: parse all replaygain tagsMax Kellermann1-14/+18
The FLAC replaygain parser used the "||" operator. This made the code stop after the first value which was found.
2009-07-22decoder/flac: return early from flac_find_float_comment()Max Kellermann1-21/+22
When one metadata check fails, return quickly. This removes 2 levels of indent.
2009-07-22decoder/flac: removed misplaced authorship commentMax Kellermann1-1/+0
This belongs into "git annotate" or AUTHORS.
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 Woodhouse13-50/+23
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-07-15modplug: get track lengthSerge Ziryukin1-1/+1
2009-07-09flac: load external cue sheet when no internal oneSerge Ziryukin1-0/+14
External cue sheet file for "file.flac" should be named as "file.flac.cue".
2009-07-07decoder/sndfile: new decoder plugin based on libsndfileMax Kellermann1-0/+246
2009-07-06decoder/flac: fix assertion failure in tag_free() callMax Kellermann1-2/+1
Initialize flac_data.tag right after flac_data_init(). This way, the "goto fail" won't jump to the point where tag_free(NULL) can be called.
2009-06-25ffmpeg: support multiple tagsMax Kellermann1-2/+3
Call av_metadata_get() in a loop.
2009-06-08ffmpeg: moved code to ffmpeg_copy_metadata()Max Kellermann1-33/+18
2009-06-08ffmpeg: removed "new metadata api" warningMax Kellermann1-2/+0
This warning is useless. I assume the author added it for debugging purposes.
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-04-28mp4ff_decoder: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann1-8/+9
strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
2009-04-25fluidsynth: added "experimental" comments in the source fileMax Kellermann1-0/+9
2009-04-02vorbis: move #define out of function to top of sourcesAvuton Olrich1-1/+1
2009-04-02decoder: Rename all main decoder plugins functions to *decoder_plugin.Avuton Olrich4-4/+4
2009-04-01flac: fixed "unused variable" warning without libcueMax Kellermann1-2/+2
Move the declaration of "i" into the "for" loop.
2009-03-31Tag subtracks according to "cuesheet" vorbis comment valueJochen Keil1-4/+32
Cuesheets are often saved as vorbis comment flac files (CUESHEET=.. case doesn't matter). We can parse this now and use the information to tag the subtracks (from the embedded cuesheets).
2009-03-31track length is computed correctly nowJochen Keil1-2/+1
2009-03-31free previously allocated flac metadata objectJochen Keil1-0/+1
2009-03-31remove old commented codeJochen Keil1-8/+0
2009-03-28Bugfix for time/offset in flac pluginJochen Keil1-3/+3
Previous cast to float didn't have any effect because one value is uint and the other is a floating type but the number itself is even.. This caused some tracks to end before they were really at an end.
2009-03-27mpcdec: changed plugin name to "mpcdec"Max Kellermann1-3/+3
The "mpcdec" plugin is based on the libmpcdec library.
2009-03-27mpcdec: support the new libmpcdec SV8 APIMax Kellermann1-14/+90
2009-03-27mpcdec: no CamelCaseMax Kellermann1-57/+65
Renamed variables and functions.
2009-03-17flac/cue: added support for TITLE[n] commentsMario Lenz1-2/+9
On 2009/03/17 Max Kellermann<max@duempel.org> wrote: > There doesn't seem to be an "official" standard. I'd say: search for > TITLE[1] first (the most explicit form), then TITLE1, and finally fall > back to TITLE. This makes sure MPD supports every possible standard, > without breaking. I've also added some additional checks to make sure entry is long enough.