On Sun, Nov 23, 2014 at 10:25:39PM +0100, Lukasz Marek wrote: > On 23.11.2014 02:29, Michael Niedermayer wrote: > >On Sun, Nov 23, 2014 at 01:01:19AM +0100, Lukasz Marek wrote: > >>On 23.11.2014 00:58, Lukasz Marek wrote: > >>>Signed-off-by: Lukasz Marek <lukasz.m.lu...@gmail.com> > >>>--- > >>> libavutil/opt.c | 2 +- > >>> libavutil/opt.h | 2 +- > >>> 2 files changed, 2 insertions(+), 2 deletions(-) > >>> > >>>diff --git a/libavutil/opt.c b/libavutil/opt.c > >>>index 0546a37..47b1f0c 100644 > >>>--- a/libavutil/opt.c > >>>+++ b/libavutil/opt.c > >>>@@ -1570,7 +1570,7 @@ static int opt_size(enum AVOptionType type) > >>> return 0; > >>> } > >>> > >>>-int av_opt_copy(void *dst, void *src) > >>>+int av_opt_copy(void *dst, FF_CONST_AVUTIL53 void *src) > >>> { > >>> const AVOption *o = NULL; > >>> const AVClass *c; > >>>diff --git a/libavutil/opt.h b/libavutil/opt.h > >>>index 7338e78..6b6c996 100644 > >>>--- a/libavutil/opt.h > >>>+++ b/libavutil/opt.h > >>>@@ -825,7 +825,7 @@ int av_opt_query_ranges(AVOptionRanges **, void *obj, > >>>const char *key, int flags > >>> * @param src Object to copy into > >>> * @return 0 on success, negative on error > >>> */ > >>>-int av_opt_copy(void *dest, void *src); > >>>+int av_opt_copy(void *dest, FF_CONST_AVUTIL53 void *src); > >>> > >>> /** > >>> * Get a default list of allowed ranges for the given option. > >>> > >> > >>I added FF_CONST_AVUTILS53 macro, but is this really needed? Cannot > >>be just const? > >>I'm asking because I think it doesn't fix anything. > >>I guess is it API/ABI thing, but why? > > > >a user application could have a function pointer like > > > >all_ffmpeg_functions->opt_copy = av_opt_copy; > > > >and if we add const the prototype changes and this can fail to build > >with some compiler flags or C++ or whatever > > > >and yes i have seen an application that had function pointers to > >ffmpeg functions > > Thx for explanation. It would be good to have option to disable this > compability mode too. Sometimes it is not helping but annoying for > most users. > > I attached updated patch. I add const to av_next_option and > av_opt_next to avoid warnings. It have to be applied on top of > [PATCH 1/2] lavu/opt: handle NULL obj in av_opt_next > > There is much more places it could be added in opt.c, but this would > again trigger adding in other files (like log.h) to avoid warnings. >
> opt.c | 6 +++--- > opt.h | 6 +++--- > 2 files changed, 6 insertions(+), 6 deletions(-) > 8a3df1768aaaef53aa632d5515b5041e7ba7c8f0 > 0001-lavu-opt-add-const-to-av_opt_copy-arg-and-dependenci.patch > From a8989702029f8c536b2153d3e6b52b1c3a9cc20f Mon Sep 17 00:00:00 2001 > From: Lukasz Marek <lukasz.m.lu...@gmail.com> > Date: Sat, 22 Nov 2014 20:41:21 +0100 > Subject: [PATCH] lavu/opt: add const to av_opt_copy arg and dependencies > > Signed-off-by: Lukasz Marek <lukasz.m.lu...@gmail.com> > --- > libavutil/opt.c | 6 +++--- > libavutil/opt.h | 6 +++--- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/libavutil/opt.c b/libavutil/opt.c > index 5b26a00..5b305a4 100644 > --- a/libavutil/opt.c > +++ b/libavutil/opt.c > @@ -42,13 +42,13 @@ > #include <float.h> > > #if FF_API_OLD_AVOPTIONS > -const AVOption *av_next_option(void *obj, const AVOption *last) > +const AVOption *av_next_option(FF_CONST_AVUTIL53 void *obj, const AVOption > *last) FF_CONST_AVUTIL53 is already set to const, a new FF_CONST_AVUTIL55 would be needed [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 3 "Rare item" - "Common item with rare defect or maybe just a lie" "Professional" - "'Toy' made in china, not functional except as doorstop" "Experts will know" - "The seller hopes you are not an expert"
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel