diff options
author | faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-09-19 19:40:46 +0000 |
---|---|---|
committer | faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-09-19 19:40:46 +0000 |
commit | 57e119d8beb85523fadab6cb76764c195f21bd4c (patch) | |
tree | 9f0261607da0470f1d5bf279e06bd218c0cbfb1a /libmpdemux/demux_audio.c | |
parent | c5854918723e57f0bb79e4634140e8eea6de5c5f (diff) | |
download | mpv-57e119d8beb85523fadab6cb76764c195f21bd4c.tar.bz2 mpv-57e119d8beb85523fadab6cb76764c195f21bd4c.tar.xz |
get_percent_pos support in demux_audio, patch by ROSEN Jeremy <jeremy.rosen at c-s.fr>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10883 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_audio.c')
-rw-r--r-- | libmpdemux/demux_audio.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c index 6715feac52..b6ec8901a6 100644 --- a/libmpdemux/demux_audio.c +++ b/libmpdemux/demux_audio.c @@ -363,3 +363,24 @@ void demux_close_audio(demuxer_t* demuxer) { free(priv); } +int demux_audio_control(demuxer_t *demuxer,int cmd, void *arg){ + sh_audio_t *sh_audio=demuxer->audio->sh; + int audio_length = demuxer->movi_end / sh_audio->i_bps; + da_priv_t* priv = demuxer->priv; + + switch(cmd) { + case DEMUXER_CTRL_GET_TIME_LENGTH: + if (audio_length<=0) return DEMUXER_CTRL_DONTKNOW; + *((unsigned long *)arg)=(unsigned long)audio_length; + return DEMUXER_CTRL_GUESS; + + case DEMUXER_CTRL_GET_PERCENT_POS: + if (audio_length<=0) + return DEMUXER_CTRL_DONTKNOW; + *((int *)arg)=(int)( (priv->last_pts*100) / audio_length); + return DEMUXER_CTRL_OK; + + default: + return DEMUXER_CTRL_NOTIMPL; + } +} |