[Ffmpeg-devel] --disable-muxers?

Diego Biurrun diego
Sat Jan 14 03:22:14 CET 2006


On Wed, Jan 11, 2006 at 05:21:56PM +0100, Luca Abeni wrote:
> 
> what's the status of --disable-muxers?

It's momentarily broken.

> I configured with 
> ./configure --cc=gcc-4.0 --disable-network --disable-zlib
> --disable-vhook --disable-ffplay --disable-muxers
> 
> and I get a lot of linking errors. Is this a known issue? Something like
> the attached patch enables me to compile. Works for me, but I do not
> know how correct it is...

Yes, it's a known issue and your patch is most welcome.  I'm not
entirely sure about it either, but I will apply at least parts of it.

> --- libavformat/dv.c	22 Dec 2005 01:10:11 -0000	1.48
> +++ libavformat/dv.c	11 Jan 2006 16:05:34 -0000
> @@ -615,7 +615,7 @@ static int dv_extract_video_info(DVDemux
>   * The following 6 functions constitute our interface to the world
>   */
>  
> -int dv_assemble_frame(DVMuxContext *c, AVStream* st,
> +static int dv_assemble_frame(DVMuxContext *c, AVStream* st,
>                        const uint8_t* data, int data_size, uint8_t** frame)
>  {
>      uint8_t pcm[8192];
> --- libavformat/dv.h	17 Dec 2005 18:14:36 -0000	1.4
> +++ libavformat/dv.h	11 Jan 2006 16:05:34 -0000
> @@ -31,5 +31,4 @@ void dv_flush_audio_packets(DVDemuxConte
>  
>  typedef struct DVMuxContext DVMuxContext;
>  DVMuxContext* dv_init_mux(AVFormatContext* s);
> -int dv_assemble_frame(DVMuxContext *c, AVStream*, const uint8_t*, int, uint8_t**);
>  void dv_delete_mux(DVMuxContext*);

Hmm, might this cause problems?  Roman?  Anyone?

> --- libavformat/img2.c	17 Dec 2005 18:14:36 -0000	1.19
> +++ libavformat/img2.c	11 Jan 2006 16:05:34 -0000
> @@ -360,33 +361,6 @@ static int img_write_trailer(AVFormatCon
>      return 0;
>  }
>  
> -/* input */
> -
> -static AVInputFormat image2_iformat = {
> -    "image2",
> -    "image2 sequence",
> -    sizeof(VideoData),
> -    image_probe,
> -    img_read_header,
> -    img_read_packet,
> -    img_read_close,
> -    NULL,
> -    NULL,
> -    AVFMT_NOFILE,
> -};
> -
> -static AVInputFormat image2pipe_iformat = {
> -    "image2pipe",
> -    "piped image2 sequence",
> -    sizeof(VideoData),
> -    NULL, /* no probe */
> -    img_read_header,
> -    img_read_packet,
> -    img_read_close,
> -    NULL,
> -};
> -
> -
>  /* output */
>  
>  static AVOutputFormat image2_oformat = {
> @@ -416,13 +390,44 @@ static AVOutputFormat image2pipe_oformat
>      img_write_trailer,
>  };
>  
> +#endif // CONFIG_MUXERS
> +
> +/* input */
> +
> +static AVInputFormat image2_iformat = {
> +    "image2",
> +    "image2 sequence",
> +    sizeof(VideoData),
> +    image_probe,
> +    img_read_header,
> +    img_read_packet,
> +    img_read_close,
> +    NULL,
> +    NULL,
> +    AVFMT_NOFILE,
> +};
> +
> +static AVInputFormat image2pipe_iformat = {
> +    "image2pipe",
> +    "piped image2 sequence",
> +    sizeof(VideoData),
> +    NULL, /* no probe */
> +    img_read_header,
> +    img_read_packet,
> +    img_read_close,
> +    NULL,
> +};

These are quite a few lines that get moved around.  Another #ifdef
#endif pair should do the trick with less cosmetic changes.  Opinions?

Diego





More information about the ffmpeg-devel mailing list