[MPlayer-cvslog] r19459 - in trunk/stream: stream_dvdnav.c stream_dvdnav.h
nicodvb
subversion at mplayerhq.hu
Sat Aug 19 21:41:04 CEST 2006
Author: nicodvb
Date: Sat Aug 19 21:41:04 2006
New Revision: 19459
Modified:
trunk/stream/stream_dvdnav.c
trunk/stream/stream_dvdnav.h
Log:
implemented STREAM_CTRL_GET_TIME_LENGTH (duration of the pgc playing)
Modified: trunk/stream/stream_dvdnav.c
==============================================================================
--- trunk/stream/stream_dvdnav.c (original)
+++ trunk/stream/stream_dvdnav.c Sat Aug 19 21:41:04 2006
@@ -216,6 +216,12 @@
break;
}
+ case DVDNAV_CELL_CHANGE: {
+ dvdnav_cell_change_event_t *ev = (dvdnav_cell_change_event_t*)buf;
+ if(ev->pgc_length)
+ dvdnav_priv->duration = ev->pgc_length/90;
+ break;
+ }
case DVDNAV_WAIT:
dvdnav_wait_skip(dvdnav_priv->dvdnav);
break;
@@ -357,6 +363,14 @@
*((unsigned int *)arg) = part - 1;
return 1;
}
+ case STREAM_CTRL_GET_TIME_LENGTH:
+ {
+ if(dvdnav_priv->duration)
+ {
+ *((unsigned int *)arg) = dvdnav_priv->duration;
+ return 1;
+ }
+ }
}
return STREAM_UNSUPORTED;
Modified: trunk/stream/stream_dvdnav.h
==============================================================================
--- trunk/stream/stream_dvdnav.h (original)
+++ trunk/stream/stream_dvdnav.h Sat Aug 19 21:41:04 2006
@@ -18,6 +18,7 @@
int started; /* Has mplayer initialization finished? */
unsigned char prebuf[STREAM_BUFFER_SIZE]; /* prefill buffer */
int prelen; /* length of prefill buffer */
+ unsigned int duration; /* in milliseconds */
} dvdnav_priv_t;
extern int dvd_nav_still;
More information about the MPlayer-cvslog
mailing list