decoder_api: added decoder_tag()

Provide an API for submitting additional tags from the stream.
This commit is contained in:
Max Kellermann
2008-11-02 17:02:28 +01:00
parent 5b13f067cd
commit 020c04e702
3 changed files with 30 additions and 2 deletions

View File

@@ -179,7 +179,9 @@ static struct tag *oggCommentsParse(char **comments)
return tag;
}
static void putOggCommentsIntoOutputBuffer(char *streamName,
static void putOggCommentsIntoOutputBuffer(struct decoder *decoder,
struct input_stream *is,
char *streamName,
char **comments)
{
struct tag *tag;
@@ -196,6 +198,7 @@ static void putOggCommentsIntoOutputBuffer(char *streamName,
tag_add_item(tag, TAG_ITEM_NAME, streamName);
}
decoder_tag(decoder, is, tag);
tag_free(tag);
}
@@ -284,7 +287,8 @@ oggvorbis_decode(struct decoder *decoder, struct input_stream *inStream)
initialized = true;
}
comments = ov_comment(&vf, -1)->user_comments;
putOggCommentsIntoOutputBuffer(inStream->meta_name,
putOggCommentsIntoOutputBuffer(decoder, inStream,
inStream->meta_name,
comments);
ogg_getReplayGainInfo(comments, &replayGainInfo);
}