summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_rawdv.c
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-03-09 20:29:50 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-03-09 20:29:50 +0000
commit0c7b6fc2123db6a4f77064d9bfe8f7f7c185a102 (patch)
tree727dabfcf99c9f90be5af7612353647673965c32 /libmpdemux/demux_rawdv.c
parent5408489488e75903594baee798efcf5b665cb551 (diff)
downloadmpv-0c7b6fc2123db6a4f77064d9bfe8f7f7c185a102.tar.bz2
mpv-0c7b6fc2123db6a4f77064d9bfe8f7f7c185a102.tar.xz
Rather simple patch for RAWDV demuxer which lets it say whats the total
movie length. Patch by Oded Shimon git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14935 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_rawdv.c')
-rw-r--r--libmpdemux/demux_rawdv.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/libmpdemux/demux_rawdv.c b/libmpdemux/demux_rawdv.c
index dea8463092..ad7a903137 100644
--- a/libmpdemux/demux_rawdv.c
+++ b/libmpdemux/demux_rawdv.c
@@ -225,4 +225,22 @@ void demux_close_rawdv(demuxer_t* demuxer)
free(frames);
}
+int demux_rawdv_control(demuxer_t *demuxer,int cmd, void *arg) {
+ rawdv_frames_t *frames = (rawdv_frames_t *)demuxer->priv;
+ sh_video_t *sh_video=demuxer->video->sh;
+
+ switch(cmd) {
+ case DEMUXER_CTRL_GET_TIME_LENGTH:
+ *((unsigned long *)arg)=frames->frame_number / sh_video->fps;
+ return DEMUXER_CTRL_OK;
+
+ case DEMUXER_CTRL_GET_PERCENT_POS:
+ *((int *)arg)=(int)(frames->current_frame * 100. / frames->frame_number);
+ return DEMUXER_CTRL_OK;
+
+ default:
+ return DEMUXER_CTRL_NOTIMPL;
+ }
+}
+
#endif