summaryrefslogtreecommitdiffstats
path: root/player/loadfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/loadfile.c')
-rw-r--r--player/loadfile.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/player/loadfile.c b/player/loadfile.c
index a7905a8a36..efca08519c 100644
--- a/player/loadfile.c
+++ b/player/loadfile.c
@@ -797,16 +797,8 @@ static void load_chapters(struct MPContext *mpctx)
}
if (src && !mpctx->chapters) {
talloc_free(mpctx->chapters);
- int count = src->num_chapters;
- mpctx->chapters = talloc_array(NULL, struct chapter, count);
- mpctx->num_chapters = count;
- for (int n = 0; n < count; n++) {
- struct demux_chapter *dchapter = &src->chapters[n];
- mpctx->chapters[n] = (struct chapter){
- .start = dchapter->start / 1e9,
- .name = talloc_strdup(mpctx->chapters, dchapter->name),
- };
- }
+ mpctx->num_chapters = src->num_chapters;
+ mpctx->chapters = demux_copy_chapter_data(src->chapters, src->num_chapters);
}
if (free_src) {
struct stream *s = src->stream;