diff options
Diffstat (limited to 'demux/timeline.h')
-rw-r--r-- | demux/timeline.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/demux/timeline.h b/demux/timeline.h new file mode 100644 index 0000000000..e4d6f67953 --- /dev/null +++ b/demux/timeline.h @@ -0,0 +1,37 @@ +#ifndef MP_TIMELINE_H_ +#define MP_TIMELINE_H_ + +struct timeline_part { + double start; + double source_start; + struct demuxer *source; +}; + +struct timeline { + struct mpv_global *global; + struct mp_log *log; + + // main source + struct demuxer *demuxer; + + // All referenced files. The source file must be at sources[0]. + struct demuxer **sources; + int num_sources; + + // Segments to play, ordered by time. parts[num_parts] must be valid; its + // start field sets the duration, and source must be NULL. + struct timeline_part *parts; + int num_parts; + + struct demux_chapter *chapters; + int num_chapters; + + // Which source defines the overall track list (over the full timeline). + struct demuxer *track_layout; +}; + +struct timeline *timeline_load(struct mpv_global *global, struct mp_log *log, + struct demuxer *demuxer); +void timeline_destroy(struct timeline *tl); + +#endif |