aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merged release 0.15.3 from branch 'v0.15.x'Max Kellermann2009-08-301-1/+1
|\ | | | | | | | | | | | | Conflicts: NEWS configure.ac
| * decoder/vorbis: faster tag scanning with ov_test_callback()Rasmus Steinke2009-08-241-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.
* | decoder/mpg123: new decoder plugin based on libmpg123Max Kellermann2009-08-261-0/+210
| | | | | | | | | | | | | | | | Still missing: - seeking - tags - streaming - encodings other than MPG123_ENC_SIGNED_16
* | decoder/vorbis: open file in "binary" modeGunnar Roth2009-08-251-1/+1
| | | | | | | | | | fopen change for win32 in tag dup of vorbis win32 adaption for head changes
* | Merged release 0.15.2 from branch 'v0.15.x'Max Kellermann2009-08-152-61/+91
|\| | | | | | | | | | | | | Conflicts: NEWS configure.ac
| * decoder/flac: don't allocate cuesheet twice (memleak)Max Kellermann2009-08-141-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.
| * decoder/flac: fixed indentation of flac_comment_value()Max Kellermann2009-07-221-19/+21
| |
| * decoder/flac: parse all replaygain tagsMax Kellermann2009-07-221-14/+18
| | | | | | | | | | The FLAC replaygain parser used the "||" operator. This made the code stop after the first value which was found.
| * decoder/flac: return early from flac_find_float_comment()Max Kellermann2009-07-221-21/+22
| | | | | | | | | | When one metadata check fails, return quickly. This removes 2 levels of indent.
| * decoder/flac: removed misplaced authorship commentMax Kellermann2009-07-221-1/+0
| | | | | | | | This belongs into "git annotate" or AUTHORS.
| * mad: skip ID3 frames when libid3tag is disabledMax Kellermann2009-07-221-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.
* | ffmpeg_plugin: convert metadata to generic formatAnton Khirnov2009-08-031-1/+3
| |
* | Add audio_format_init() functionDavid Woodhouse2009-07-1913-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.
* | Merged release 0.15.1 from branch 'v0.15.x'Max Kellermann2009-07-161-2/+1
|\|
| * decoder/flac: fix assertion failure in tag_free() callMax Kellermann2009-07-061-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.
* | modplug: get track lengthSerge Ziryukin2009-07-151-1/+1
| |
* | flac: load external cue sheet when no internal oneSerge Ziryukin2009-07-091-0/+14
| | | | | | | | External cue sheet file for "file.flac" should be named as "file.flac.cue".
* | decoder/sndfile: new decoder plugin based on libsndfileMax Kellermann2009-07-071-0/+246
| |
* | ffmpeg: support multiple tagsMax Kellermann2009-06-251-2/+3
|/ | | | Call av_metadata_get() in a loop.
* ffmpeg: moved code to ffmpeg_copy_metadata()Max Kellermann2009-06-081-33/+18
|
* ffmpeg: removed "new metadata api" warningMax Kellermann2009-06-081-2/+0
| | | | | This warning is useless. I assume the author added it for debugging purposes.
* mad_decoder: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-4/+4
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* mp4ff_decoder: use g_ascii_strcasecmp() instead of strcasecmp()Max Kellermann2009-04-281-8/+9
| | | | | strcasecmp() is locale dependent, making it a bad choice for internal string comparisons.
* fluidsynth: added "experimental" comments in the source fileMax Kellermann2009-04-251-0/+9
|
* vorbis: move #define out of function to top of sourcesAvuton Olrich2009-04-021-1/+1
|
* decoder: Rename all main decoder plugins functions to *decoder_plugin.Avuton Olrich2009-04-024-4/+4
|
* flac: fixed "unused variable" warning without libcueMax Kellermann2009-04-011-2/+2
| | | | Move the declaration of "i" into the "for" loop.
* Tag subtracks according to "cuesheet" vorbis comment valueJochen Keil2009-03-311-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).
* track length is computed correctly nowJochen Keil2009-03-311-2/+1
|
* free previously allocated flac metadata objectJochen Keil2009-03-311-0/+1
|
* remove old commented codeJochen Keil2009-03-311-8/+0
|
* Bugfix for time/offset in flac pluginJochen Keil2009-03-281-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.
* mpcdec: changed plugin name to "mpcdec"Max Kellermann2009-03-271-3/+3
| | | | The "mpcdec" plugin is based on the libmpcdec library.
* mpcdec: support the new libmpcdec SV8 APIMax Kellermann2009-03-271-14/+90
|
* mpcdec: no CamelCaseMax Kellermann2009-03-271-57/+65
| | | | Renamed variables and functions.
* flac/cue: added support for TITLE[n] commentsMario Lenz2009-03-171-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.
* flac: get CUE track titles from additional FLAC commentsMario Lenz2009-03-164-23/+32
| | | | | | | | The cue sheet embedded in a flac file doen't contain any information about track titles and similar. There are three possibilities: Use an external cue sheet that includes these information, use a tag CUESHEET with a cue sheet including these information or use tags. I think the latter is the best option and is already used by other projects.
* faad: faad_decoder_decode() returns NULL, not falseMax Kellermann2009-03-141-1/+1
| | | | On failure, the function should return NULL, not a boolean.
* all: Update copyright header.Avuton Olrich2009-03-1319-127/+147
| | | | | | | | 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.
* Initial support for embedded cue sheets found in flac filesJochen Keil2009-03-093-6/+463
| | | | | | | | | So far only seekpoints are supported, so no proper tagging yet except for track number and track length. Tagging should be done by parsing the cue sheet which is often embedded as vorbis comment in flac files. Furthermore the pathname should be configurable like "%A - %t - %T", where %A means Artist, %t track number and %T Title or so.
* decoder_plugin: added method container_scan()Jochen Keil2009-03-091-0/+1
| | | | | [mk: fixed whitespace errors; use delete_song() instead of songvec_delete()]
* flac: explicitly check for STOP commandMax Kellermann2009-03-051-1/+2
| | | | | | After the decoder command was obtained, don't wait until libflac detects EOF (as a side effect), quit the decoder immediately. This check was missing completely.
* flac: check command after flac_process_single() failureMax Kellermann2009-03-051-3/+6
| | | | | | When the MPD core sends the decoder a command while flac_process_single() is executed, this function fails. Abort the decoder only if not seeking. This fixes a seeking bug.
* ffmpeg: fix version comparision for av_get_bits_per_sample_format() ↵Viliam Mateicka2009-03-031-1/+1
| | | | | | implemetation function was implemented in the version we are comparing to so there must be higher or equal
* ffmpeg: support for new metadata apiViliam Mateicka2009-03-031-0/+39
|
* ffmpeg: use ffmpeg's sampleformat for output formatViliam Mateicka2009-03-021-1/+6
|
* flac: parse stream tagsMax Kellermann2009-03-012-2/+19
| | | | | Parse the vorbis comments in libflac's metadata_callback and pass them as tag struct to the decoder API.
* audiofile: added 24 bit supportMax Kellermann2009-03-011-1/+8
| | | | | Don't hard code the "bits" parameter to 16. Try to use the input's sample format, if possible.
* audiofile: removed duplicate decoder_get_command() callsMax Kellermann2009-02-281-12/+16
| | | | | decoder_data() returns a decoder_command, no need to call decoder_get_command() twice after decoder_command().
* audiofile: refuse to play non-seekable filesMax Kellermann2009-02-281-0/+5
| | | | | | | | | If an input_stream is not seekable, libaudiofile fails to play at all: Audio File Library: unrecognized audio file format [error 0] Since we know in advance whether the input_stream is seekable, just refuse to play on a non-seekable stream.