[FFmpeg-cvslog] id3v1: Seek back to old position after reading.
Carl Eugen Hoyos
git at videolan.org
Wed Mar 30 03:26:00 CEST 2011
ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Fri Mar 25 19:46:27 2011 +0100| [13eadbaca4768a2b49b8403178c818bf8d75e0af] | committer: Ronald S. Bultje
id3v1: Seek back to old position after reading.
FFmpeg did not seek back to the original position, but to "0", making
reading a VBR tag impossible.
(issue 2645)
Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=13eadbaca4768a2b49b8403178c818bf8d75e0af
---
libavformat/id3v1.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libavformat/id3v1.c b/libavformat/id3v1.c
index e0a2f43..23cacf7 100644
--- a/libavformat/id3v1.c
+++ b/libavformat/id3v1.c
@@ -227,6 +227,7 @@ void ff_id3v1_read(AVFormatContext *s)
{
int ret, filesize;
uint8_t buf[ID3v1_TAG_SIZE];
+ int64_t position = avio_tell(s->pb);
if (!url_is_streamed(s->pb)) {
/* XXX: change that */
@@ -237,7 +238,7 @@ void ff_id3v1_read(AVFormatContext *s)
if (ret == ID3v1_TAG_SIZE) {
parse_tag(s, buf);
}
- avio_seek(s->pb, 0, SEEK_SET);
+ avio_seek(s->pb, position, SEEK_SET);
}
}
}
More information about the ffmpeg-cvslog
mailing list