[Ffmpeg-devel] [PATCH] small build cleanup + new configure option

Gildas Bazin gbazin
Fri Jan 20 20:43:32 CET 2006


On Thursday 19 January 2006 22:22, Diego Biurrun wrote:
> On Thu, Jan 19, 2006 at 08:18:12PM +0000, Gildas Bazin wrote:
> > 
> > Here is a new version of the patch which fixes that (there was a typo in 
the 
> > old one).
> > And the reason for ffserver to be disabled when you use --disable-muxers 
is 
> > that ffserver relies on the ffm muxer.
> > 
> > --- libavformat/Makefile	16 Jan 2006 14:59:54 -0000	1.109
> > +++ libavformat/Makefile	19 Jan 2006 20:10:16 -0000
> > @@ -32,8 +39,6 @@
> >  
> > -# file I/O
> > -OBJS+= avio.o aviobuf.o file.o
> >  OBJS+= framehook.o
> >  
> > @@ -62,6 +67,11 @@
> >  
> > +# protocols I/O
> > +OBJS+= avio.o aviobuf.o
> > +
> > +ifeq ($(CONFIG_PROTOCOLS),yes)
> > +OBJS+= file.o
> >  ifeq ($(CONFIG_NETWORK),yes)
> >  OBJS+= udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o
> 
> Why is file.o in CONFIG_PROTOCOLS, while avio.o and aviobuf.o are not?
> 

avio.o and aviobuf.o provide things like put_byte(), etc... which are used 
by muxers for instance.

> ./configure --enable-gpl --disable-protocols --disable-muxers:
> 
> gcc -Wl,--warn-common -rdynamic -g -o ffmpeg_g ffmpeg.o cmdutils.o
> -L./libavformat -lavformat -L./libavcodec -lavcodec -L./libavutil
> -lavutil -lm -lz -llzo -ldl
> ./libavformat/libavformat.a(utils.o): In function
> `put_fifo':/home/diego/src/ffmpeg/libavformat/utils.c:386: undefined
> reference to `put_buffer'
> ./libavformat/libavformat.a(img2.o): In function
> `img_write_packet':/home/diego/src/ffmpeg/libavformat/img2.c:347:
> undefined reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:349: undefined reference to
> `put_flush_packet'
> :/home/diego/src/ffmpeg/libavformat/img2.c:339: undefined reference to
> `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:340: undefined reference to
> `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:341: undefined reference to
> `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:342: undefined reference to
> `put_flush_packet'
> :/home/diego/src/ffmpeg/libavformat/img2.c:343: undefined reference to
> `put_flush_packet'
> :/home/diego/src/ffmpeg/libavformat/img2.c:349: undefined reference to
> `put_flush_packet'
> ./libavformat/libavformat.a(dv.o): In function
> `dv_write_packet':/home/diego/src/ffmpeg/libavformat/dv.c:930: undefined
> reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/dv.c:931: undefined reference to
> `put_flush_packet'
> ./libavformat/libavformat.a(crc.o): In function
> `crc_write_trailer':/home/diego/src/ffmpeg/libavformat/crc.c:87:
> undefined reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/crc.c:88: undefined reference to
> `put_flush_packet'
> ./libavformat/libavformat.a(crc.o): In function
> `framecrc_write_packet':/home/diego/src/ffmpeg/libavformat/crc.c:98:
> undefined reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/crc.c:99: undefined reference to
> `put_flush_packet'
> collect2: ld returned 1 exit status
> make: *** [ffmpeg_g] Error 1
> 
> Yes, I'm keeping you busy ;)
> 

Updated patch attached.

Since put_fifo() in utils.c is part of the avformat api and uses 
put_buffer(), I've modified aviobuf.c to always compile put_buffer() (was 
not compiled before if --disable-muxers was specified).

Cheers,

--
Gildas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.diff
Type: text/x-diff
Size: 6391 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20060120/56b32e4d/attachment.diff>



More information about the ffmpeg-devel mailing list