[FFmpeg-devel] [FFmpeg-cvslog] r11071 - in trunk: ffmpeg.c ffplay.c ffserver.c libavformat/4xm.c libavformat/adtsenc.c libavformat/aiff.c libavformat/amr.c libavformat/apc.c libavformat/ape.c libavformat/asf-enc.c libavformat/asf.c libavformat/au.c libavformat/avformat.h libavformat/avidec.c libavformat/avienc.c libavformat/avio.h libavformat/aviobuf.c libavformat/avs.c libavformat/bethsoftvid.c libavformat/c93.c libavformat/crcenc.c libavformat/daud.c libavformat/dsicin.c libavformat/dv.c libavformat/dvenc.c libavformat/dxa.c libavformat/eacdata.c libavformat/electronicarts.c libavformat/ffm.c libavformat/flic.c libavformat/flvdec.c libavformat/flvenc.c libavformat/framecrcenc.c libavformat/gif.c libavformat/gifdec.c libavformat/gxf.c libavformat/gxfenc.c libavformat/idcin.c libavformat/idroq.c libavformat/img2.c libavformat/ipmovie.c libavformat/libnut.c libavformat/matroskadec.c libavformat/matroskaenc.c libavformat/mm.c libavformat/mmf.c libavformat/mov.c libavformat/movenc.c libavformat/mp3.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpeg.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/mpegtsenc.c libavformat/mpjpeg.c libavformat/mtv.c libavformat/mxf.c libavformat/nsvdec.c libavformat/nutdec.c libavformat/nutenc.c libavformat/nuv.c libavformat/oggdec.c libavformat/oggenc.c libavformat/psxstr.c libavformat/raw.c libavformat/rmdec.c libavformat/rmenc.c libavformat/rtp.c libavformat/rtsp.c libavformat/segafilm.c libavformat/sierravmd.c libavformat/siff.c libavformat/smacker.c libavformat/sol.c libavformat/swf.c libavformat/thp.c libavformat/tiertexseq.c libavformat/tta.c libavformat/txd.c libavformat/utils.c libavformat/vocdec.c libavformat/vocenc.c libavformat/wav.c libavformat/wc3movie.c libavformat/westwood.c libavformat/wv.c libavformat/yuv4mpeg.c output_example.c

matthieu castet castet.matthieu
Wed Nov 28 20:00:43 CET 2007


Hi,

andoma wrote:
> Author: andoma
> Date: Wed Nov 21 08:41:00 2007
> New Revision: 11071
> 
> Log:
> Use dynamically allocated ByteIOContext in AVFormatContext
> 
> patch by: Bj?rn Axelsson, bjorn d axelsson a intinor d se
> thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007
> 
> 

> Modified: trunk/libavformat/utils.c
> ==============================================================================
> --- trunk/libavformat/utils.c	(original)
> +++ trunk/libavformat/utils.c	Wed Nov 21 08:41:00 2007
> @@ -361,8 +361,7 @@ int av_open_input_stream(AVFormatContext
>          goto fail;
>      }
>      ic->iformat = fmt;
> -    if (pb)
> -        ic->pb = *pb;
> +    ic->pb = pb;
>      ic->duration = AV_NOPTS_VALUE;
>      ic->start_time = AV_NOPTS_VALUE;
>      av_strlcpy(ic->filename, filename, sizeof(ic->filename));
This broke av_open_input_file in the case of "fmt && (fmt->flags & 
AVFMT_NOFILE)".

In this case pb argmument of av_open_input_stream is NULL.
Before this patch, av_open_input_stream was doing a sort of allocation 
when pb was NULL for ic->pb.

Now ic->pb is set to NULL, and this cause crashes for application like 
vdr soft device that use av_open_input_file & AVFMT_NOFILE.


Matthieu




More information about the ffmpeg-devel mailing list