tag: fix the shout and oggflac plugins

During the tag library refactoring, the shout plugin was disabled, and
I forgot about adapting it to the new API.  Apply the same fixes to
the oggflac decoder plugin.
This commit is contained in:
Max Kellermann 2008-08-29 15:02:49 +02:00
parent 37d77caa3c
commit 01f9684f70
2 changed files with 12 additions and 10 deletions

View File

@ -93,7 +93,7 @@ static void freeShoutData(ShoutData * sd)
if (sd->shoutConn)
shout_free(sd->shoutConn);
if (sd->tag)
freeMpdTag(sd->tag);
tag_free(sd->tag);
if (sd->timer)
timer_free(sd->timer);
@ -403,15 +403,15 @@ static void copyTagToVorbisComment(ShoutData * sd)
int i;
for (i = 0; i < sd->tag->numOfItems; i++) {
switch (sd->tag->items[i].type) {
switch (sd->tag->items[i]->type) {
case TAG_ITEM_ARTIST:
addTag(sd, "ARTIST", sd->tag->items[i].value);
addTag(sd, "ARTIST", sd->tag->items[i]->value);
break;
case TAG_ITEM_ALBUM:
addTag(sd, "ALBUM", sd->tag->items[i].value);
addTag(sd, "ALBUM", sd->tag->items[i]->value);
break;
case TAG_ITEM_TITLE:
addTag(sd, "TITLE", sd->tag->items[i].value);
addTag(sd, "TITLE", sd->tag->items[i]->value);
break;
default:
break;
@ -663,19 +663,19 @@ static int myShout_play(AudioOutput * audioOutput,
return 0;
}
static void myShout_setTag(AudioOutput * audioOutput, struct tag *tag)
static void myShout_setTag(AudioOutput * audioOutput, const struct tag *tag)
{
ShoutData *sd = (ShoutData *) audioOutput->data;
if (sd->tag)
freeMpdTag(sd->tag);
tag_free(sd->tag);
sd->tag = NULL;
sd->tagToSend = 0;
if (!tag)
return;
sd->tag = mpdTagDup(tag);
sd->tag = tag_dup(tag);
sd->tagToSend = 1;
}

View File

@ -28,6 +28,8 @@
#include "../utils.h"
#include "../log.h"
#include <OggFLAC/seekable_stream_decoder.h>
static void oggflac_cleanup(FlacData * data,
OggFLAC__SeekableStreamDecoder * decoder)
{
@ -210,7 +212,7 @@ static void of_metadata_dup_cb(const OggFLAC__SeekableStreamDecoder * decoder,
switch (block->type) {
case FLAC__METADATA_TYPE_STREAMINFO:
if (!data->tag)
data->tag = newMpdTag();
data->tag = tag_new();
data->tag->time = ((float)block->data.stream_info.
total_samples) /
block->data.stream_info.sample_rate + 0.5;
@ -294,7 +296,7 @@ fail:
}
/* public functions: */
static MpdTag *oggflac_TagDup(char *file)
static struct tag *oggflac_TagDup(char *file)
{
InputStream inStream;
OggFLAC__SeekableStreamDecoder *decoder;