Max Kellermann
0dec3f787f
flac: moved code to flac_comment_value()
...
Simplify flac_copy_vorbis_comment() by moving the comment
identification code out.
2009-01-15 22:44:21 +01:00
Max Kellermann
f30adc3526
flac: always allocate tag object
...
Free the tag object when it turns out to be empty. This simplifies
several functions and APIs.
2009-01-15 22:43:39 +01:00
Max Kellermann
15435b09af
flac: use bool instead of int
2009-01-15 19:57:57 +01:00
Max Kellermann
8307dd3e87
flac: removed "vorbis_comment_found" flag
...
Use tag_is_empty() instead.
2009-01-15 19:53:07 +01:00
Max Kellermann
86dc79293f
flac: no CamelCase
...
Renamed types, functions, variables.
2009-01-15 19:50:28 +01:00
Rasmus Steinke
9b0ce18144
oggvorbis: map "Album Artist" to "AlbumArtist"
...
This patch allows mpd to recognise the albumartist tag in the way foobar2000
and others write it to files.
2009-01-15 06:51:58 +01:00
Max Kellermann
283c2621f3
oggvorbis: use g_ascii_strncasecmp() instead of strncasecmp()
...
Don't depend on the daemon's locale settings. Comment names are
ASCII.
2009-01-14 23:23:05 +01:00
Max Kellermann
f353bf77ba
oggvorbis: moved tag look into vorbis_parse_comment()
...
vorbis_parse_comment() should be a function which converts one comment
to a tag item. It should do everything required to do the conversion,
including looping over all possible tag types.
2009-01-14 23:21:45 +01:00
Max Kellermann
69b033757f
oggvorbis: moved code to vorbis_copy_comment()
2009-01-14 23:15:14 +01:00
Max Kellermann
25cf333355
oggvorbis: use vorbis_comment_value() in vorbis_parse_comment()
...
Eliminate some duplicate code.
2009-01-14 23:09:36 +01:00
Max Kellermann
5a26c949bb
oggvorbis: always allocate a tag object
...
Always allocate a new tag object before parsing the vorbis comments;
free it when it turns out to be empty. This simplifies the code a
bit.
2009-01-14 23:09:31 +01:00
Max Kellermann
b5cadc9c04
oggvorbis: no CamelCase
...
Renamed functions and variables.
2009-01-14 23:09:02 +01:00
Max Kellermann
b8e06d414a
oggvorbis: use bool
...
Make ogg_parseCommentAddToTag() return bool instead of unsigned int.
2009-01-14 22:51:11 +01:00
Max Kellermann
5e93d3682f
added missing explicit config.h includes
2009-01-08 21:37:02 +01:00
Max Kellermann
d9c2960a55
fix G_BYTE_ORDER check
...
"#ifdef G_BYTE_ORDER == G_BIG_ENDIAN" cannot work, of course.
2009-01-05 12:40:57 +01:00
Max Kellermann
ac0fe98ffb
use GLib byte order macros
2009-01-05 08:17:22 +01:00
Max Kellermann
fed719197c
song: allocate the result of song_get_url()
2009-01-04 19:09:34 +01:00
Max Kellermann
38bf81285f
utils: removed unused functions
...
Removed all allocation functions, xwrite(), xread(), ARRAY_SIZE().
Those have been superseded by GLib.
2009-01-03 14:53:42 +01:00
Max Kellermann
38e3220fd4
oggflac: don't use gcc.h
...
Use G_GNUC_UNUSED instead of mpd_unused (which has already been
removed).
2009-01-02 09:50:12 +01:00
Max Kellermann
17bdcc8bae
decoder plugins: don't include gcc.h
...
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
2009-01-01 18:09:24 +01:00
Max Kellermann
95b3430f52
removed os_compat.h
...
Only include headers which are really needed. os_compat.h aimed to
make MPD easily portable, but was never actually made portable.
2008-12-29 17:28:32 +01:00
Frank Mulder
a51fada124
mp4: support the writer/composer tag
...
I tried to search for a certain composer in my collection, but only
non-mp4 files showed up. The source code reveals that this tag is not
read. This can be fixed by reading the 'Writer' tag field, in
mp4_plugin.c, in function mp4_load_tag.
I actually tried this, and after compiling with those lines added,
also mp4 (.m4a) files showed up when searching for a composer.
2008-12-29 11:29:01 +01:00
Max Kellermann
4b3a055ffe
mikmod: use Glib instead of utils.h/log.h
2008-12-28 19:48:53 +01:00
Max Kellermann
4ca02bfcfc
mikmod: convert mod_Data.audio_buffer to a static array
...
Don't do two allocations for the mod_Data structure.
2008-12-28 19:48:53 +01:00
Viliam Mateicka
d838a1ad24
decoder: new plugin using modplug library
2008-12-28 17:11:18 +01:00
Pauli Virtanen
65b18644e1
Add RVA2 tag support to MPD
...
This patch adds RVA2 (relative volume adjustment) tag
support to mpd, as a fallback if no replaygain tags are
found. The code is almost directly from madplay (GPL).
RVA2 tags are generated for example by the "normalize" utility.
Updated by: Avuton Olrich <avuton@gmail.com>
2008-12-28 13:02:34 +01:00
Max Kellermann
cc3b6c2f5b
audiofile: don't close onput stream in libaudiofile destroy()
...
The input_stream object should only be closed by the MPD core
(i.e. decoder_thread.c / decoder_run()). A decoder plugin which
attempts to close it will result in a segmentation fault.
2008-12-27 14:34:51 +01:00
Max Kellermann
9220e0edff
Merge branch 'experimental' of git://git.musicpd.org/metyl/mpd
...
Conflicts:
configure.ac
src/ls.h
src/output/shout_plugin.c
2008-12-27 13:34:51 +01:00
Max Kellermann
7f98ba24c7
ffmpeg: case AV_NOPTS_VALUE to int64_t
...
The old code casted it to a 32 bit integer, which cut off bits.
AVFormatContext.duration is a int64_t, so use this type.
2008-12-24 11:56:53 +01:00
Max Kellermann
82ef85a309
ffmpeg: don't assign "0" to pointer
...
Use NULL instead. Found by sparse.
2008-12-24 11:49:37 +01:00
Max Kellermann
fc723803a4
mp3: "tag" argument is unused when libid3tag is disabled
...
Add G_GNUC_UNUSED attributes.
2008-12-24 11:07:58 +01:00
Viliam Mateicka
88ab54d3d4
ffmpeg: fixing ffmpeg_send_packet to allow multipackets
2008-12-15 19:37:10 +01:00
Viliam Mateicka
8a412aaa27
ffmpeg: adding APE support
2008-12-15 19:34:58 +01:00
Max Kellermann
87f6f57bf6
mp3: declare variables as "enum mp3_action"
...
Variables which hold one of the DECODE_* values should be declared as
"enum mp3_action" instead of "int".
2008-12-08 16:49:19 +01:00
Viliam Mateicka
e61ba50ebd
decoder: audiofile plugin using input stream instead of file
2008-12-03 20:26:08 +01:00
Max Kellermann
910c000954
mp3: use GLib logging
...
Use GLib's g_warning(), ... instead of MPD's deprecated log.h.
2008-11-27 19:19:05 +01:00
Max Kellermann
14e121af90
flac, mpc, ogg, wavpack: include unistd.h for SEEK_SET
...
SEEK_SET is defined by unistd.h. Explicitly include it.
2008-11-24 10:33:08 +01:00
Laszlo Ashin
a493aafe02
wavpack: use assert_static()
2008-11-22 14:28:11 +01:00
Max Kellermann
976d5045c6
decoder: check audio_format_valid() in all decoders
...
Refuse to play audio formats which are not supported by MPD.
2008-11-21 20:27:30 +01:00
Max Kellermann
63c3ebee46
flac, oggflac: use GLib instead of utils.h/log.h
2008-11-21 20:15:50 +01:00
Max Kellermann
f15fc4e99a
ffmpeg: use GLib instead of log.h
2008-11-21 20:13:41 +01:00
Max Kellermann
4a3a621caf
audiofile: use GLib instead of log.h
2008-11-21 20:13:36 +01:00
Max Kellermann
7a2fe930b8
aac: use GLib instead of utils.h/log.h
...
Removed the superfluous my_usleep() call.
2008-11-21 20:13:26 +01:00
Max Kellermann
927bf45f84
ogg: moved the "errorStr" variable into the error handler
2008-11-20 20:11:00 +01:00
Laszlo Ashin
65a8822a0b
aac: get rid of gcc warnings
2008-11-20 19:20:25 +01:00
Max Kellermann
1f50146e29
ogg: check the ov_read() return value before the vorbis_info evaluation
...
The ov_info() return value may be corrupt when ov_read() did not
return a positive value. First check for success, then check
ov_info().
2008-11-20 12:45:17 +01:00
Laszlo Ashin
05f4629fa3
wavpack: redo using audio_format_frame_size()
...
Somehow we lost 600e1322 after renaming some variables in ed6f6046.
2008-11-19 00:02:06 +01:00
Viliam Mateicka
33b5015469
ffmpeg: read tags from AVFormatContext
...
The ffmpeg library provides some of the song metadata in the
AVFormatContext struct. Pass it from there to MPD.
2008-11-18 20:03:00 +01:00
Viliam Mateicka
eac4ed2241
audiofile: fixed misplaced if
...
[mk: by definition, tag_new() cannot fail - removed check]
2008-11-18 19:54:42 +01:00
Max Kellermann
7591403566
input_stream: size==-1 means unknown size
...
Define the special value "-1" as "unknown size". Previously, there
was no indicator for streams with unknown size, which might confuse
some decoders.
2008-11-16 20:42:08 +01:00