mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-11 01:25:25 +00:00
Merge commit '564b4591bbe223bdc5f36a1131eaef103f23f5d0'
* commit '564b4591bbe223bdc5f36a1131eaef103f23f5d0': opt: Add av_opt_copy() Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
commit
e344646c80
@ -1587,7 +1587,7 @@ static int opt_size(enum AVOptionType type)
|
||||
case AV_OPT_TYPE_SAMPLE_FMT:return sizeof(enum AVSampleFormat);
|
||||
case AV_OPT_TYPE_COLOR: return 4;
|
||||
}
|
||||
return 0;
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
|
||||
int av_opt_copy(void *dst, const void *src)
|
||||
@ -1597,10 +1597,10 @@ int av_opt_copy(void *dst, const void *src)
|
||||
int ret = 0;
|
||||
|
||||
if (!src)
|
||||
return 0;
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
c = *(AVClass**)src;
|
||||
if (*(AVClass**)dst && c != *(AVClass**)dst)
|
||||
if (!c || c != *(AVClass**)dst)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
while ((o = av_opt_next(src, o))) {
|
||||
@ -1637,7 +1637,11 @@ int av_opt_copy(void *dst, const void *src)
|
||||
if (av_dict_count(*sdict) != av_dict_count(*ddict))
|
||||
ret = AVERROR(ENOMEM);
|
||||
} else {
|
||||
memcpy(field_dst, field_src, opt_size(o->type));
|
||||
int size = opt_size(o->type);
|
||||
if (size < 0)
|
||||
ret = size;
|
||||
else
|
||||
memcpy(field_dst, field_src, size);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
@ -65,7 +65,7 @@
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 55
|
||||
#define LIBAVUTIL_VERSION_MINOR 22
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
#define LIBAVUTIL_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
LIBAVUTIL_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user