summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authorhyc <hyc@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-05-25 23:07:28 +0000
committerhyc <hyc@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-05-25 23:07:28 +0000
commit3c1cedaa565572c8fdbb6a2c085aaca0bcc39d6f (patch)
tree96a23762756eff1cb9acce1432f77681897813a1 /stream
parente765b9cd43385050f4a18213a7100435599560e7 (diff)
downloadmpv-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.c11
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;
}