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:
parent
37d77caa3c
commit
01f9684f70
@ -93,7 +93,7 @@ static void freeShoutData(ShoutData * sd)
|
|||||||
if (sd->shoutConn)
|
if (sd->shoutConn)
|
||||||
shout_free(sd->shoutConn);
|
shout_free(sd->shoutConn);
|
||||||
if (sd->tag)
|
if (sd->tag)
|
||||||
freeMpdTag(sd->tag);
|
tag_free(sd->tag);
|
||||||
if (sd->timer)
|
if (sd->timer)
|
||||||
timer_free(sd->timer);
|
timer_free(sd->timer);
|
||||||
|
|
||||||
@ -403,15 +403,15 @@ static void copyTagToVorbisComment(ShoutData * sd)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < sd->tag->numOfItems; 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:
|
case TAG_ITEM_ARTIST:
|
||||||
addTag(sd, "ARTIST", sd->tag->items[i].value);
|
addTag(sd, "ARTIST", sd->tag->items[i]->value);
|
||||||
break;
|
break;
|
||||||
case TAG_ITEM_ALBUM:
|
case TAG_ITEM_ALBUM:
|
||||||
addTag(sd, "ALBUM", sd->tag->items[i].value);
|
addTag(sd, "ALBUM", sd->tag->items[i]->value);
|
||||||
break;
|
break;
|
||||||
case TAG_ITEM_TITLE:
|
case TAG_ITEM_TITLE:
|
||||||
addTag(sd, "TITLE", sd->tag->items[i].value);
|
addTag(sd, "TITLE", sd->tag->items[i]->value);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -663,19 +663,19 @@ static int myShout_play(AudioOutput * audioOutput,
|
|||||||
return 0;
|
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;
|
ShoutData *sd = (ShoutData *) audioOutput->data;
|
||||||
|
|
||||||
if (sd->tag)
|
if (sd->tag)
|
||||||
freeMpdTag(sd->tag);
|
tag_free(sd->tag);
|
||||||
sd->tag = NULL;
|
sd->tag = NULL;
|
||||||
sd->tagToSend = 0;
|
sd->tagToSend = 0;
|
||||||
|
|
||||||
if (!tag)
|
if (!tag)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sd->tag = mpdTagDup(tag);
|
sd->tag = tag_dup(tag);
|
||||||
sd->tagToSend = 1;
|
sd->tagToSend = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
#include "../utils.h"
|
#include "../utils.h"
|
||||||
#include "../log.h"
|
#include "../log.h"
|
||||||
|
|
||||||
|
#include <OggFLAC/seekable_stream_decoder.h>
|
||||||
|
|
||||||
static void oggflac_cleanup(FlacData * data,
|
static void oggflac_cleanup(FlacData * data,
|
||||||
OggFLAC__SeekableStreamDecoder * decoder)
|
OggFLAC__SeekableStreamDecoder * decoder)
|
||||||
{
|
{
|
||||||
@ -210,7 +212,7 @@ static void of_metadata_dup_cb(const OggFLAC__SeekableStreamDecoder * decoder,
|
|||||||
switch (block->type) {
|
switch (block->type) {
|
||||||
case FLAC__METADATA_TYPE_STREAMINFO:
|
case FLAC__METADATA_TYPE_STREAMINFO:
|
||||||
if (!data->tag)
|
if (!data->tag)
|
||||||
data->tag = newMpdTag();
|
data->tag = tag_new();
|
||||||
data->tag->time = ((float)block->data.stream_info.
|
data->tag->time = ((float)block->data.stream_info.
|
||||||
total_samples) /
|
total_samples) /
|
||||||
block->data.stream_info.sample_rate + 0.5;
|
block->data.stream_info.sample_rate + 0.5;
|
||||||
@ -294,7 +296,7 @@ fail:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* public functions: */
|
/* public functions: */
|
||||||
static MpdTag *oggflac_TagDup(char *file)
|
static struct tag *oggflac_TagDup(char *file)
|
||||||
{
|
{
|
||||||
InputStream inStream;
|
InputStream inStream;
|
||||||
OggFLAC__SeekableStreamDecoder *decoder;
|
OggFLAC__SeekableStreamDecoder *decoder;
|
||||||
|
Loading…
Reference in New Issue
Block a user