mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 11:25:10 +00:00
added demuxer_get_current_time() to get the current playtime (possibly aided by the stream layer)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20765 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
0fa1a3e4c6
commit
6200940dcb
@ -1023,6 +1023,23 @@ double demuxer_get_time_length(demuxer_t *demuxer){
|
||||
return get_time_ans;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief demuxer_get_current_time() returns the time of the current play in three possible ways:
|
||||
* either when the stream reader satisfies STREAM_CTRL_GET_CURRENT_TIME (e.g. dvd)
|
||||
* or using sh_video->pts when the former method fails
|
||||
* 0 otherwise
|
||||
* \return the current play time
|
||||
*/
|
||||
int demuxer_get_current_time(demuxer_t *demuxer){
|
||||
double get_time_ans = 0;
|
||||
unsigned tm;
|
||||
sh_video_t *sh_video = demuxer->video->sh;
|
||||
if(stream_control(demuxer->stream, STREAM_CTRL_GET_CURRENT_TIME,(void *)&tm)!=STREAM_UNSUPORTED) {
|
||||
get_time_ans = (double) tm / 1000.0f;
|
||||
} else if(sh_video) get_time_ans = sh_video->pts;
|
||||
return (int) get_time_ans;
|
||||
}
|
||||
|
||||
int demuxer_get_percent_pos(demuxer_t *demuxer){
|
||||
int ans = 0;
|
||||
int res = demux_control(demuxer, DEMUXER_CTRL_GET_PERCENT_POS, &ans);
|
||||
|
@ -373,6 +373,7 @@ char *demux_ogg_sub_lang(demuxer_t *demuxer, int index);
|
||||
|
||||
#endif
|
||||
|
||||
extern int demuxer_get_current_time(demuxer_t *demuxer);
|
||||
extern double demuxer_get_time_length(demuxer_t *demuxer);
|
||||
extern int demuxer_get_percent_pos(demuxer_t *demuxer);
|
||||
extern int demuxer_switch_audio(demuxer_t *demuxer, int index);
|
||||
|
Loading…
Reference in New Issue
Block a user