diff options
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demux_demuxers.c | 5 | ||||
-rw-r--r-- | libmpdemux/demuxer.c | 63 | ||||
-rw-r--r-- | libmpdemux/demuxer.h | 3 |
3 files changed, 1 insertions, 70 deletions
diff --git a/libmpdemux/demux_demuxers.c b/libmpdemux/demux_demuxers.c index 531f048508..906ea402c5 100644 --- a/libmpdemux/demux_demuxers.c +++ b/libmpdemux/demux_demuxers.c @@ -151,11 +151,8 @@ static int demux_demuxers_control(demuxer_t *demuxer,int cmd, void *arg){ dd_priv_t* priv = demuxer->priv; switch (cmd) { case DEMUXER_CTRL_GET_TIME_LENGTH: - *((double *)arg) = demuxer_get_time_length(priv->vd); - return DEMUXER_CTRL_OK; case DEMUXER_CTRL_GET_PERCENT_POS: - *((int *)arg) = demuxer_get_percent_pos(priv->vd); - return DEMUXER_CTRL_OK; + return demux_control(priv->vd, cmd, arg); } return DEMUXER_CTRL_NOTIMPL; } diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index ae81ae3e33..99f1be9fe8 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -1379,69 +1379,6 @@ int demux_control(demuxer_t *demuxer, int cmd, void *arg) return DEMUXER_CTRL_NOTIMPL; } - - -double demuxer_get_time_length(demuxer_t *demuxer) -{ - double get_time_ans; - sh_video_t *sh_video = demuxer->video->sh; - sh_audio_t *sh_audio = demuxer->audio->sh; - // <= 0 means DEMUXER_CTRL_NOTIMPL or DEMUXER_CTRL_DONTKNOW - if (demux_control - (demuxer, DEMUXER_CTRL_GET_TIME_LENGTH, (void *) &get_time_ans) <= 0) { - if (sh_video && sh_video->i_bps && sh_audio && sh_audio->i_bps) - get_time_ans = (double) (demuxer->movi_end - - demuxer->movi_start) / (sh_video->i_bps + - sh_audio->i_bps); - else if (sh_video && sh_video->i_bps) - get_time_ans = (double) (demuxer->movi_end - - demuxer->movi_start) / sh_video->i_bps; - else if (sh_audio && sh_audio->i_bps) - get_time_ans = (double) (demuxer->movi_end - - demuxer->movi_start) / sh_audio->i_bps; - else - get_time_ans = 0; - } - 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; - sh_video_t *sh_video = demuxer->video->sh; - if (demuxer->stream_pts != MP_NOPTS_VALUE) - get_time_ans = demuxer->stream_pts; - 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); - int len = (demuxer->movi_end - demuxer->movi_start) / 100; - if (res <= 0) { - off_t pos = demuxer->filepos > 0 ? demuxer->filepos : stream_tell(demuxer->stream); - if (len > 0) - ans = (pos - demuxer->movi_start) / len; - else - ans = 0; - } - if (ans < 0) - ans = 0; - if (ans > 100) - ans = 100; - return ans; -} - int demuxer_switch_audio(demuxer_t *demuxer, int index) { int res = demux_control(demuxer, DEMUXER_CTRL_SWITCH_AUDIO, &index); diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h index 1a1f189b55..2c200ead1e 100644 --- a/libmpdemux/demuxer.h +++ b/libmpdemux/demuxer.h @@ -434,9 +434,6 @@ char* demux_info_get(demuxer_t *demuxer, const char *opt); int demux_info_print(demuxer_t *demuxer); int demux_control(demuxer_t *demuxer, int cmd, void *arg); -int demuxer_get_current_time(demuxer_t *demuxer); -double demuxer_get_time_length(demuxer_t *demuxer); -int demuxer_get_percent_pos(demuxer_t *demuxer); int demuxer_switch_audio(demuxer_t *demuxer, int index); int demuxer_switch_video(demuxer_t *demuxer, int index); |