summaryrefslogtreecommitdiffstats
path: root/mp_core.h
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-03-29 22:45:06 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-04-02 06:51:25 +0300
commit58497380e5222749892414089d26916095c0485c (patch)
tree2c028e049003f394a2f5166c05a967134704e1ad /mp_core.h
parent0f590fce191097887a81d0a6676cb0a943ce54e4 (diff)
downloadmpv-58497380e5222749892414089d26916095c0485c.tar.bz2
mpv-58497380e5222749892414089d26916095c0485c.tar.xz
Initial ordered chapters support
Add basic support for Matroska ordered chapters. The switching between segments is implemented as a general edit timeline that could also be used for other purposes. Some things still need improvement. In particular the current code does not try to do any proper mapping between audio/video/subtitle streams of different files and there should be options for better control of how MPlayer searches other files for the required content.
Diffstat (limited to 'mp_core.h')
-rw-r--r--mp_core.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/mp_core.h b/mp_core.h
index 13c8f149f0..6b7719b7f3 100644
--- a/mp_core.h
+++ b/mp_core.h
@@ -47,6 +47,17 @@ typedef enum {
EXIT_ERROR
} exit_reason_t;
+struct content_source {
+ struct stream *stream;
+ struct demuxer *demuxer;
+};
+
+struct timeline_part {
+ double start;
+ double source_start;
+ struct content_source *source;
+};
+
typedef struct MPContext {
struct MPOpts opts;
struct m_config *mconfig;
@@ -69,6 +80,13 @@ typedef struct MPContext {
int play_tree_step;
unsigned int initialized_flags; // which subsystems have been initialized
+ struct content_source *sources;
+ int num_sources;
+ struct timeline_part *timeline;
+ int num_timeline_parts;
+ int timeline_part;
+ double video_offset;
+
struct stream *stream;
struct demuxer *demuxer;
struct sh_audio *sh_audio;