summaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-02 00:18:25 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-02 00:20:31 +0100
commit171dd67520b649a5b7a0f4fbff72ac88bbedfeab (patch)
tree178554a720ec36205d34a6d4778b8679e66027f0 /libavformat
parent9600486d10a9728f1503363334268ecfafa9b0e5 (diff)
downloadffmpeg-streaming-171dd67520b649a5b7a0f4fbff72ac88bbedfeab.zip
ffmpeg-streaming-171dd67520b649a5b7a0f4fbff72ac88bbedfeab.tar.gz
avformat/mp3dec: optimize mp3_seek() for dir < 0
this minimizes the amount of protocol seeks and reading needed in that case Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mp3dec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index c1ce173..ba77bce 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -318,6 +318,8 @@ static int mp3_seek(AVFormatContext *s, int stream_index, int64_t timestamp,
return -1;
}
+ if (dir < 0)
+ avio_seek(s->pb, FFMAX(ie->pos - 4096, 0), SEEK_SET);
ret = avio_seek(s->pb, ie->pos, SEEK_SET);
if (ret < 0)
return ret;
OpenPOWER on IntegriCloud