[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