demux: remove redundant demux_chapter.name field

Instead, force everyone to use the metadata struct and set a "title"
field. This is only a problem for the timeline producers, which set up
chapters manually. (They do this because a timeline is a separate
struct.)

This fixes the behavior of the chapter-metadata property, which never
returned a "title" property for e.g. ordered chapters.
This commit is contained in:
wm4
2015-08-12 11:10:45 +02:00
parent c7329e5118
commit 828881816a
7 changed files with 13 additions and 22 deletions

View File

@@ -805,7 +805,6 @@ static int get_chapter_entry(int item, int action, void *arg, void *ctx)
};
int r = m_property_read_sub(props, action, arg);
talloc_free(name);
return r;
}
@@ -1178,11 +1177,8 @@ static int mp_property_chapter_metadata(void *ctx, struct m_property *prop,
{
MPContext *mpctx = ctx;
int chapter = get_current_chapter(mpctx);
if (chapter < 0 || chapter >= mpctx->num_chapters)
if (chapter < 0)
return M_PROPERTY_UNAVAILABLE;
if (!mpctx->chapters[chapter].metadata)
return M_PROPERTY_UNAVAILABLE;
return tag_property(action, arg, mpctx->chapters[chapter].metadata);
}

View File

@@ -474,7 +474,6 @@ char *chapter_display_name(struct MPContext *mpctx, int chapter)
dname = talloc_asprintf(NULL, "(%d) of %d", chapter + 1,
chapter_count);
}
talloc_free(name);
return dname;
}
@@ -483,7 +482,7 @@ char *chapter_name(struct MPContext *mpctx, int chapter)
{
if (chapter < 0 || chapter >= mpctx->num_chapters)
return NULL;
return talloc_strdup(NULL, mpctx->chapters[chapter].name);
return mp_tags_get_str(mpctx->chapters[chapter].metadata, "title");
}
// returns the start of the chapter in seconds (NOPTS if unavailable)