aboutsummaryrefslogtreecommitdiff
path: root/src/decoder/vorbis_comments.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/decoder/vorbis_comments.c')
-rw-r--r--src/decoder/vorbis_comments.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/decoder/vorbis_comments.c b/src/decoder/vorbis_comments.c
index e94ee3d0..6c2d57b7 100644
--- a/src/decoder/vorbis_comments.c
+++ b/src/decoder/vorbis_comments.c
@@ -106,6 +106,19 @@ static void
vorbis_scan_comment(const char *comment,
const struct tag_handler *handler, void *handler_ctx)
{
+ if (handler->pair != NULL) {
+ char *name = g_strdup((const char*)comment);
+ char *value = strchr(name, '=');
+
+ if (value != NULL && value > name) {
+ *value++ = 0;
+ tag_handler_invoke_pair(handler, handler_ctx,
+ name, value);
+ }
+
+ g_free(name);
+ }
+
for (const struct tag_table *i = vorbis_tags; i->name != NULL; ++i)
if (vorbis_copy_comment(comment, i->name, i->type,
handler, handler_ctx))