X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fdemux%2Favi%2Favi.c;h=cc3f374747ba126bbc339875c9afd8c36117be01;hb=fdc455adc812cf9b02ae40c8bd47a1a261a32ce6;hp=b522217a599b1d6d7eb933cb46ab199f6af34f11;hpb=f5b8f4a13fe40151abd54a009049e5d9a6e6780c;p=vlc diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c index b522217a59..cc3f374747 100644 --- a/modules/demux/avi/avi.c +++ b/modules/demux/avi/avi.c @@ -281,9 +281,9 @@ static int Open( vlc_object_t * p_this ) p_demux->pf_control = Control; p_demux->pf_demux = Demux_Seekable; - /* For unseekable stream, automaticaly use Demux_UnSeekable */ + /* For unseekable stream, automatically use Demux_UnSeekable */ if( !p_sys->b_seekable - || var_InheritInteger( p_demux, "avi-interleaved" ) ) + || var_InheritBool( p_demux, "avi-interleaved" ) ) { p_demux->pf_demux = Demux_UnSeekable; } @@ -437,9 +437,12 @@ static int Open( vlc_object_t * p_this ) fmt.i_extra = __MIN( p_auds->p_wf->cbSize, p_auds->i_chunk_size - sizeof(WAVEFORMATEX) ); - fmt.p_extra = malloc( fmt.i_extra ); - if( !fmt.p_extra ) goto error; - memcpy( fmt.p_extra, &p_auds->p_wf[1], fmt.i_extra ); + if( fmt.i_extra > 0 ) + { + fmt.p_extra = malloc( fmt.i_extra ); + if( !fmt.p_extra ) goto error; + memcpy( fmt.p_extra, &p_auds->p_wf[1], fmt.i_extra ); + } break; case( AVIFOURCC_vids ): @@ -512,9 +515,12 @@ static int Open( vlc_object_t * p_this ) fmt.i_extra = __MIN( p_vids->p_bih->biSize - sizeof( BITMAPINFOHEADER ), p_vids->i_chunk_size - sizeof(BITMAPINFOHEADER) ); - fmt.p_extra = malloc( fmt.i_extra ); - if( !fmt.p_extra ) goto error; - memcpy( fmt.p_extra, &p_vids->p_bih[1], fmt.i_extra ); + if( fmt.i_extra > 0 ) + { + fmt.p_extra = malloc( fmt.i_extra ); + if( !fmt.p_extra ) goto error; + memcpy( fmt.p_extra, &p_vids->p_bih[1], fmt.i_extra ); + } msg_Dbg( p_demux, "stream[%d] video(%4.4s) %"PRIu32"x%"PRIu32" %dbpp %ffps", i, (char*)&p_vids->p_bih->biCompression,