diff --git a/libavformat/riff.c b/libavformat/riff.c index 0df5c8c7e3..352bb561e9 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -428,9 +428,11 @@ void ff_end_tag(AVIOContext *pb, int64_t start) int64_t pos; pos = avio_tell(pb); + if (pos & 1) + avio_w8(pb, 0); avio_seek(pb, start - 4, SEEK_SET); avio_wl32(pb, (uint32_t)(pos - start)); - avio_seek(pb, pos, SEEK_SET); + avio_seek(pb, FFALIGN(pos, 2), SEEK_SET); } /* WAVEFORMATEX header */