aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-04-03 23:44:38 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-04-07 12:43:06 +0200
commite63f330a1c3c0644aaec4a66c14cdacd6bf28141 (patch)
treedfbc5a8a8dece93f8a6f872dece6238bd195429e
parent6496cbee695bbe834bcaffc0e9375d93ff77eeda (diff)
downloadffmpeg-e63f330a1c3c0644aaec4a66c14cdacd6bf28141.tar.gz
ffmpeg: Fix extradata allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 4d02dfbde475d249916eb19c360e890059aa6aa5) Conflicts: ffmpeg.c
-rw-r--r--ffmpeg.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index d5667734e9..0fab24aa78 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2382,11 +2382,13 @@ static int transcode_init(void)
codec->rc_max_rate = icodec->rc_max_rate;
codec->rc_buffer_size = icodec->rc_buffer_size;
codec->field_order = icodec->field_order;
- codec->extradata = av_mallocz(extra_size);
- if (!codec->extradata) {
- return AVERROR(ENOMEM);
+ if (icodec->extradata_size) {
+ codec->extradata = av_mallocz(extra_size);
+ if (!codec->extradata) {
+ return AVERROR(ENOMEM);
+ }
+ memcpy(codec->extradata, icodec->extradata, icodec->extradata_size);
}
- memcpy(codec->extradata, icodec->extradata, icodec->extradata_size);
codec->extradata_size= icodec->extradata_size;
codec->bits_per_coded_sample = icodec->bits_per_coded_sample;