diff options
author | hyc <hyc@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-05-25 23:07:28 +0000 |
---|---|---|
committer | hyc <hyc@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-05-25 23:07:28 +0000 |
commit | 3c1cedaa565572c8fdbb6a2c085aaca0bcc39d6f (patch) | |
tree | 96a23762756eff1cb9acce1432f77681897813a1 /stream | |
parent | e765b9cd43385050f4a18213a7100435599560e7 (diff) | |
download | mpv-3c1cedaa565572c8fdbb6a2c085aaca0bcc39d6f.tar.bz2 mpv-3c1cedaa565572c8fdbb6a2c085aaca0bcc39d6f.tar.xz |
Add support for STREAM_CTRL_SEEK_TO_TIME in ffmpeg streams
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31218 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream')
-rw-r--r-- | stream/stream_ffmpeg.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/stream/stream_ffmpeg.c b/stream/stream_ffmpeg.c index 30d63001d0..a5e80eb999 100644 --- a/stream/stream_ffmpeg.c +++ b/stream/stream_ffmpeg.c @@ -49,7 +49,8 @@ static int seek(stream_t *s, off_t newpos) static int control(stream_t *s, int cmd, void *arg) { - int64_t size; + int64_t size, ts; + double pts; switch(cmd) { case STREAM_CTRL_GET_SIZE: size = url_filesize(s->priv); @@ -57,6 +58,14 @@ static int control(stream_t *s, int cmd, void *arg) *(off_t *)arg = size; return 1; } + break; + case STREAM_CTRL_SEEK_TO_TIME: + pts = *(double *)arg; + ts = pts * AV_TIME_BASE; + ts = av_url_read_seek(s->priv, -1, ts, 0); + if (ts >= 0) + return 1; + break; } return STREAM_UNSUPPORTED; } |