summaryrefslogtreecommitdiffstats
path: root/libmpdemux/muxer_avi.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpdemux/muxer_avi.c')
-rw-r--r--libmpdemux/muxer_avi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libmpdemux/muxer_avi.c b/libmpdemux/muxer_avi.c
index a4b8f9cf91..e8faaa1223 100644
--- a/libmpdemux/muxer_avi.c
+++ b/libmpdemux/muxer_avi.c
@@ -195,6 +195,13 @@ static void avifile_write_chunk(muxer_stream_t *s,size_t len,unsigned int flags)
struct avi_stream_info *vsi = muxer->def_v->priv;
int paddedlen = len + (len&1);
+ if (s->type == MUXER_TYPE_VIDEO && !s->h.dwSuggestedBufferSize) {
+ off_t pos=ftell(muxer->file);
+ fseek(muxer->file, 0, SEEK_SET);
+ avifile_write_header(muxer);
+ fseek(muxer->file, pos, SEEK_SET);
+ }
+
rifflen = muxer->file_end - vsi->riffofs[vsi->riffofspos] - 8;
if (vsi->riffofspos == 0) {
rifflen += 8+muxer->idx_pos*sizeof(AVIINDEXENTRY);