0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00

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.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13250 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
rfelker 2004-09-05 16:51:15 +00:00
parent 79583b4ee3
commit d4e83b3fdb

View File

@ -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);