# HG changeset patch # User rfelker # Date 1094403075 0 # Node ID a6642a4330fa5f6ece95fafc180484831b056c23 # Parent 80d80d44905761117c7523ae59e873ee80b72a3a ensure that avi files have a valid header as soon as possible. without this, the header says 0x0 video size, which works with mplayer when the video size is stored in the codec data, but it does NOT work with other players or with codecs that don't store size (e.g. snow). actually i don't like having seeks in the muxer module, but i don't know any other way to implement this fix without major changes to mencoder. if you have a better fix, please reverse this and commit yours. diff -r 80d80d449057 -r a6642a4330fa libmpdemux/muxer_avi.c --- a/libmpdemux/muxer_avi.c Sun Sep 05 13:02:31 2004 +0000 +++ b/libmpdemux/muxer_avi.c Sun Sep 05 16:51:15 2004 +0000 @@ -195,6 +195,13 @@ 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);