mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 19:35:49 +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;
|
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 demuxer_get_percent_pos(demuxer_t *demuxer){
|
||||||
int ans = 0;
|
int ans = 0;
|
||||||
int res = demux_control(demuxer, DEMUXER_CTRL_GET_PERCENT_POS, &ans);
|
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
|
#endif
|
||||||
|
|
||||||
|
extern int demuxer_get_current_time(demuxer_t *demuxer);
|
||||||
extern double demuxer_get_time_length(demuxer_t *demuxer);
|
extern double demuxer_get_time_length(demuxer_t *demuxer);
|
||||||
extern int demuxer_get_percent_pos(demuxer_t *demuxer);
|
extern int demuxer_get_percent_pos(demuxer_t *demuxer);
|
||||||
extern int demuxer_switch_audio(demuxer_t *demuxer, int index);
|
extern int demuxer_switch_audio(demuxer_t *demuxer, int index);
|
||||||
|
Loading…
Reference in New Issue
Block a user