[FFmpeg-devel] [PATCH] #define LAVF_API_MAX_STREAMS

Aurelien Jacobs aurel
Tue Aug 17 00:13:34 CEST 2010


On Wed, Aug 11, 2010 at 07:21:09PM +0200, Aurelien Jacobs wrote:
> Hi,
> 
> We currently have quite a few new API (or API deprecation) in lavf/lavc
> which are waiting for a major version bump to be fully enabled. Some of
> those new API are fully functionnal and ready to be used, some of them
> are work in progress that don't even compile for now (eg. AVPalette
> removal).
> All of them are currently protected by some check like:
>   #if LIBAVFORMAT_VERSION_MAJOR < 53
> So we now have quite of mess of MAJOR version check all around and it's
> not always easy to say which one match which API change. Moreover, it's
> not easy to enable just one of those API change to conduct some tests.
> Just bumping the major lead to a non-compilable source tree.
> 
> So I propose to add one new define for each API transition we are
> working on. This would allow to trivially test each transition
> individually, and also to trivially re-schedule an (incomplete)
> transition to next major bump when bumping major.
> 
> For example this allows testing the API transition with something like:
>   ./configure --extra-cflags=-DLAVF_API_MAX_STREAMS=0
> 
> Attached patch does this for the currently worked on MAX_STREAMS
> transition, and I plan to propose patches for other transitions if this
> one is accepted.
> 
> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> index 1f08d1a..afcb344 100644
> --- a/libavformat/avformat.h
> +++ b/libavformat/avformat.h
> @@ -35,6 +35,10 @@
>  
>  #define LIBAVFORMAT_IDENT       "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
>  
> +#ifndef LAVF_API_MAX_STREAMS
> +#define LAVF_API_MAX_STREAMS  (LIBAVFORMAT_VERSION_MAJOR < 53)
> +#endif
> +
>  /**
>   * I return the LIBAVFORMAT_VERSION_INT constant.  You got
>   * a fucking problem with that, douchebag?
> @@ -622,7 +624,7 @@ typedef struct AVChapter {
>      AVMetadata *metadata;
>  } AVChapter;
>  
> -#if LIBAVFORMAT_VERSION_MAJOR < 53
> +#if LAVF_API_MAX_STREAMS
>  #define MAX_STREAMS 20
>  #endif
>  
>  [...]

Ping ?

Aurel



More information about the ffmpeg-devel mailing list