diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-11-09 22:07:01 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-11-09 22:07:01 +0000 |
commit | 598db0d296a8c16e181b488040a324f9ae20cc33 (patch) | |
tree | f42184b12895cd9fad298f0db6808fa262c1e5c9 /src/inputPlugins/mp3_plugin.c | |
parent | 4abf1b7d56425be009c8d6826a753b8682bc7c22 (diff) | |
download | mpd-598db0d296a8c16e181b488040a324f9ae20cc33.tar.gz mpd-598db0d296a8c16e181b488040a324f9ae20cc33.tar.xz mpd-598db0d296a8c16e181b488040a324f9ae20cc33.zip |
work in progress
git-svn-id: https://svn.musicpd.org/mpd/branches/r2562-metadata-handling-rewrite@2566 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/inputPlugins/mp3_plugin.c')
-rw-r--r-- | src/inputPlugins/mp3_plugin.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/inputPlugins/mp3_plugin.c b/src/inputPlugins/mp3_plugin.c index ab204ffa9..cdb2a74c0 100644 --- a/src/inputPlugins/mp3_plugin.c +++ b/src/inputPlugins/mp3_plugin.c @@ -549,9 +549,12 @@ int mp3Read(mp3DecodeData * data, OutputBuffer * cb, DecoderControl * dc) { if(data->inStream->metaTitle) { MpdTag * tag = newMpdTag(); if(data->inStream->metaName) { - tag->name = strdup(data->inStream->metaName); + addItemToMpdTag(tag, + TAG_ITEM_NAME, + data->inStream->metaName); } - tag->title = strdup(data->inStream->metaTitle); + addItemToMpdTag(tag, TAG_ITEM_TITLE, + data->inStream->metaTitle); free(data->inStream->metaTitle); data->inStream->metaTitle = NULL; copyMpdTagToOutputBuffer(cb, tag); @@ -676,19 +679,21 @@ int mp3_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) { if(inStream->metaTitle) { if(tag) freeMpdTag(tag); tag = newMpdTag(); - tag->title = strdup(inStream->metaTitle); + addItemToMpdTag(tag, TAG_ITEM_TITLE, inStream->metaTitle); free(inStream->metaTitle); inStream->metaTitle = NULL; if(inStream->metaName) { - tag->name = strdup(inStream->metaName); + addItemToMpdTag(tag, TAG_ITEM_NAME, + inStream->metaName); } copyMpdTagToOutputBuffer(cb, tag); freeMpdTag(tag); } else if(tag) { if(inStream->metaName) { - if(tag->name) free(tag->name); - tag->name = strdup(inStream->metaName); + clearItemsFromMpdTag(tag, TAG_ITEM_NAME); + addItemToMpdTag(tag, TAG_ITEM_NAME, + inStream->metaName); } copyMpdTagToOutputBuffer(cb, tag); freeMpdTag(tag); @@ -696,7 +701,8 @@ int mp3_decode(OutputBuffer * cb, DecoderControl * dc, InputStream * inStream) { else if(inStream->metaName) { tag = newMpdTag(); if(inStream->metaName) { - tag->name = strdup(inStream->metaName); + addItemToMpdTag(tag, TAG_ITEM_NAME, + inStream->metaName); } copyMpdTagToOutputBuffer(cb, tag); freeMpdTag(tag); |