summaryrefslogtreecommitdiffstats
path: root/demux
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-05-03 20:07:04 +0200
committerwm4 <wm4@nowhere>2013-05-05 18:44:24 +0200
commit36444332249e28cc053df83b9a81da492cfca079 (patch)
tree6a629bc110bd321c1edc340b5037317926a5a8d8 /demux
parentacad31c2d382043f1c43c74a678de659a54a3788 (diff)
downloadmpv-36444332249e28cc053df83b9a81da492cfca079.tar.bz2
mpv-36444332249e28cc053df83b9a81da492cfca079.tar.xz
core: move demuxer time reporting to demuxer
Diffstat (limited to 'demux')
-rw-r--r--demux/demux.c18
-rw-r--r--demux/demux.h3
2 files changed, 21 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 937c881639..9622c2412a 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -1382,6 +1382,24 @@ int demuxer_chapter_count(demuxer_t *demuxer)
return demuxer->num_chapters;
}
+double demuxer_get_time_length(struct demuxer *demuxer)
+{
+ double get_time_ans;
+ // <= 0 means DEMUXER_CTRL_NOTIMPL or DEMUXER_CTRL_DONTKNOW
+ if (demux_control(demuxer, DEMUXER_CTRL_GET_TIME_LENGTH,
+ (void *) &get_time_ans) > 0)
+ return get_time_ans;
+ return -1;
+}
+
+double demuxer_get_start_time(struct demuxer *demuxer)
+{
+ double time;
+ if (demux_control(demuxer, DEMUXER_CTRL_GET_START_TIME, &time) > 0)
+ return time;
+ return 0;
+}
+
int demuxer_angles_count(demuxer_t *demuxer)
{
int ris, angles = -1;
diff --git a/demux/demux.h b/demux/demux.h
index 3d66139d69..048ffb3934 100644
--- a/demux/demux.h
+++ b/demux/demux.h
@@ -401,6 +401,9 @@ int demuxer_seek_chapter(struct demuxer *demuxer, int chapter,
double *seek_pts);
void demuxer_sort_chapters(demuxer_t *demuxer);
+double demuxer_get_time_length(struct demuxer *demuxer);
+double demuxer_get_start_time(struct demuxer *demuxer);
+
/// Get current chapter index if available.
int demuxer_get_current_chapter(struct demuxer *demuxer, double time_now);
/// Get chapter name by index if available.