Max Kellermann
ea616b3ed4
tag: removed the "_ITEM_" suffix from the enum names
2009-10-13 16:12:45 +02:00
Max Kellermann
727c301fbc
input_stream: use "goffset" instead of "off_t"
...
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-10-11 23:32:22 +02:00
Max Kellermann
7013f9fc31
Merged release 0.15.4 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
2009-10-03 16:17:02 +02:00
Max Kellermann
65693d057b
decoder/ffmpeg: use the "artist" tag if "author" is not present
...
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-30 15:41:43 +02:00
Max Kellermann
b0f9a1454a
decoder/faad: skip assertion failure on large ID3 tags
...
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-30 15:22:47 +02:00
Tony
934a38f976
Make the sidplay decoder filter configurable.
2009-09-28 11:59:55 +02:00
Max Kellermann
aec18c74ec
decoder/sidplay: free songlength data blob in error handler
...
When parsing the songlength database fails, the code forgot to free
the memory allocated by the raw file data.
2009-09-24 10:17:58 +02:00
Max Kellermann
4729d10bb2
decoder/sidplay: moved code to sidplay_load_songlength_db()
2009-09-24 10:14:05 +02:00
Max Kellermann
a8af3ce0dd
decoder/sidplay: free GError objects
...
The caller is responsible fro freeing GError objects. That
g_error_free() call was missing in two places.
2009-09-24 10:05:21 +02:00
Max Kellermann
d657be33ba
decoder/sidplay: pass GError** to g_file_get_contents()
...
The error handler dereferences GError*, but did not retrieve that
object from g_file_get_contents().
2009-09-24 10:04:24 +02:00
Max Kellermann
fdc479676f
Merge branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
doc/mpdconf.example
2009-09-10 23:18:43 +02:00
Max Kellermann
a99202a8a4
decoder/vorbis: revert "faster tag scanning with ov_test_callback()"
...
This patch made ov_time_total() unusable, and MPD did not know the
duration of songs.
2009-09-10 23:04:01 +02:00
Mike Dawson
430b5b0490
decoder/sidplay: support seeking
2009-08-30 19:49:16 +02:00
Mike Dawson
cde9408bd8
decoder/sidplay: implemented songlength database
...
[mk: added autoconf test; fixed songlen_data_size type]
2009-08-30 19:49:04 +02:00
Mike Dawson
85ce9aa7de
decoder/sidplay: subtunes
2009-08-30 19:48:56 +02:00
Max Kellermann
f2ff2409ad
Merged release 0.15.3 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
2009-08-30 09:42:12 +02:00
Max Kellermann
bff4c54ece
decoder/mpg123: new decoder plugin based on libmpg123
...
Still missing:
- seeking
- tags
- streaming
- encodings other than MPG123_ENC_SIGNED_16
2009-08-26 20:08:13 +02:00
Gunnar Roth
1e56c7b862
decoder/vorbis: open file in "binary" mode
...
fopen change for win32 in tag dup of vorbis
win32 adaption for head changes
2009-08-25 00:49:48 +02:00
Rasmus Steinke
408f723701
decoder/vorbis: faster tag scanning with ov_test_callback()
...
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-24 22:14:22 +02:00
Max Kellermann
f401c1059c
Merged release 0.15.2 from branch 'v0.15.x'
...
Conflicts:
NEWS
configure.ac
2009-08-15 21:18:38 +02:00
Max Kellermann
1c4f407a6d
decoder/flac: don't allocate cuesheet twice (memleak)
...
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-14 11:51:42 +02:00
Anton Khirnov
bff72634ca
ffmpeg_plugin: convert metadata to generic format
2009-08-03 17:40:22 +02:00
Max Kellermann
f4b39bc263
decoder/flac: fixed indentation of flac_comment_value()
2009-07-22 13:34:33 +02:00
Max Kellermann
47ed89bd4c
decoder/flac: parse all replaygain tags
...
The FLAC replaygain parser used the "||" operator. This made the code
stop after the first value which was found.
2009-07-22 13:31:48 +02:00
Max Kellermann
cf1fd2b0da
decoder/flac: return early from flac_find_float_comment()
...
When one metadata check fails, return quickly. This removes 2 levels
of indent.
2009-07-22 13:31:46 +02:00
Max Kellermann
8e2d987996
decoder/flac: removed misplaced authorship comment
...
This belongs into "git annotate" or AUTHORS.
2009-07-22 13:31:43 +02:00
Max Kellermann
322ef3cb80
mad: skip ID3 frames when libid3tag is disabled
...
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-22 12:57:03 +02:00
David Woodhouse
37754559b8
Add audio_format_init() function
...
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-19 16:54:11 +01:00
Max Kellermann
4100035b19
Merged release 0.15.1 from branch 'v0.15.x'
2009-07-16 07:37:13 +02:00
Serge Ziryukin
297d749fc8
modplug: get track length
2009-07-15 11:22:45 +02:00
Serge Ziryukin
75c0a33ec5
flac: load external cue sheet when no internal one
...
External cue sheet file for "file.flac" should be named as "file.flac.cue".
2009-07-09 19:01:24 +02:00
Max Kellermann
1eebbc746f
decoder/sndfile: new decoder plugin based on libsndfile
2009-07-07 08:58:51 +02:00
Max Kellermann
c0c5119788
decoder/flac: fix assertion failure in tag_free() call
...
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-07-06 22:09:30 +02:00
Max Kellermann
eacd604518
ffmpeg: support multiple tags
...
Call av_metadata_get() in a loop.
2009-06-25 08:43:59 +02:00
Max Kellermann
74334a516c
ffmpeg: moved code to ffmpeg_copy_metadata()
2009-06-08 08:45:54 +02:00
Max Kellermann
f5d4079d11
ffmpeg: removed "new metadata api" warning
...
This warning is useless. I assume the author added it for debugging
purposes.
2009-06-08 08:41:07 +02:00
Max Kellermann
c434379d79
mad_decoder: use g_ascii_strcasecmp() instead of strcasecmp()
...
strcasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
2009-04-28 09:29:39 +02:00
Max Kellermann
d5b3dd36fd
mp4ff_decoder: use g_ascii_strcasecmp() instead of strcasecmp()
...
strcasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
2009-04-28 09:29:11 +02:00
Max Kellermann
80de8fb93b
fluidsynth: added "experimental" comments in the source file
2009-04-25 12:32:22 +02:00
Avuton Olrich
d38f72b902
vorbis: move #define out of function to top of sources
2009-04-02 16:07:52 -07:00
Avuton Olrich
fd90db35b7
decoder: Rename all main decoder plugins functions to *decoder_plugin.
2009-04-02 15:55:10 -07:00
Max Kellermann
6419cc54ac
flac: fixed "unused variable" warning without libcue
...
Move the declaration of "i" into the "for" loop.
2009-04-01 16:44:27 +02:00
Jochen Keil
4bfbdfe5c5
Tag subtracks according to "cuesheet" vorbis comment value
...
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-31 22:17:56 +02:00
Jochen Keil
d7b0c768b0
track length is computed correctly now
2009-03-31 22:17:56 +02:00
Jochen Keil
6720a0a940
free previously allocated flac metadata object
2009-03-31 22:17:56 +02:00
Jochen Keil
a1bde6b99d
remove old commented code
2009-03-31 22:17:56 +02:00
Jochen Keil
80e2aaf379
Bugfix for time/offset in flac plugin
...
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-28 10:13:44 +01:00
Max Kellermann
49e548e773
mpcdec: changed plugin name to "mpcdec"
...
The "mpcdec" plugin is based on the libmpcdec library.
2009-03-27 19:58:50 +01:00
Max Kellermann
f5548a8654
mpcdec: support the new libmpcdec SV8 API
2009-03-27 19:51:59 +01:00
Max Kellermann
0e18fab655
mpcdec: no CamelCase
...
Renamed variables and functions.
2009-03-27 19:37:08 +01:00