diff options
author | Max Kellermann <max@duempel.org> | 2009-01-17 13:23:42 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-01-17 13:23:42 +0100 |
commit | 5395f5f6b34b6a98e94c8f3e8329150a2a4b9cac (patch) | |
tree | bb1e42988bd79c452b667da84ef662b45da8aa8e /src/decoder/mp3_plugin.c | |
parent | 43eefe9c41478f5605e4abd7e6c7fc6d710341e8 (diff) | |
download | mpd-5395f5f6b34b6a98e94c8f3e8329150a2a4b9cac.tar.gz mpd-5395f5f6b34b6a98e94c8f3e8329150a2a4b9cac.tar.xz mpd-5395f5f6b34b6a98e94c8f3e8329150a2a4b9cac.zip |
moved fallback APE/ID3 tag loader to song.c
Some plugins used the APE or ID3 tag loader as a fallback when their
own methods of loading tags did not work. Move this code out of all
decoder plugins, into song_file_update().
Diffstat (limited to 'src/decoder/mp3_plugin.c')
-rw-r--r-- | src/decoder/mp3_plugin.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/decoder/mp3_plugin.c b/src/decoder/mp3_plugin.c index 3444a7e94..fd0ac21a9 100644 --- a/src/decoder/mp3_plugin.c +++ b/src/decoder/mp3_plugin.c @@ -19,6 +19,7 @@ #include "../decoder_api.h" #include "../conf.h" #include "config.h" +#include "tag_id3.h" #include <assert.h> #include <unistd.h> @@ -1190,22 +1191,19 @@ mp3_decode(struct decoder *decoder, struct input_stream *input_stream) static struct tag *mp3_tag_dup(const char *file) { - struct tag *ret = NULL; + struct tag *tag; int total_time; - ret = tag_id3_load(file); - total_time = mp3_total_file_time(file); - if (total_time >= 0) { - if (!ret) - ret = tag_new(); - ret->time = total_time; - } else { + if (total_time < 0) { g_debug("mp3_tag_dup: Failed to get total song time from: %s\n", file); + return NULL; } - return ret; + tag = tag_new(); + tag->time = total_time; + return tag; } static const char *const mp3_suffixes[] = { "mp3", "mp2", NULL }; |