@@ -134,26 +134,25 @@ static int sdp_parse_fmtp_config_h264(AVStream *stream,
uint8_t *dest = av_malloc(packet_size + START_SEQ_SIZE +
codec->extradata_size +
FF_INPUT_BUFFER_PADDING_SIZE);
- if (dest) {
- if (codec->extradata_size) {
- memcpy(dest, codec->extradata, codec->extradata_size);
- av_free(codec->extradata);
- }
-
- memcpy(dest + codec->extradata_size, start_sequence,
- START_SEQ_SIZE);
- memcpy(dest + codec->extradata_size + START_SEQ_SIZE,
- decoded_packet, packet_size);
- memset(dest + codec->extradata_size + START_SEQ_SIZE +
- packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-
- codec->extradata = dest;
- codec->extradata_size += START_SEQ_SIZE + packet_size;
- } else {
+ if (!dest) {
av_log(codec, AV_LOG_ERROR,
"Unable to allocate memory for extradata!");
return AVERROR(ENOMEM);
}
+ if (codec->extradata_size) {
+ memcpy(dest, codec->extradata, codec->extradata_size);
+ av_free(codec->extradata);
+ }
+
+ memcpy(dest + codec->extradata_size, start_sequence,
+ START_SEQ_SIZE);
+ memcpy(dest + codec->extradata_size + START_SEQ_SIZE,
+ decoded_packet, packet_size);
+ memset(dest + codec->extradata_size + START_SEQ_SIZE +
+ packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
+
+ codec->extradata = dest;
+ codec->extradata_size += START_SEQ_SIZE + packet_size;
}
}
av_log(codec, AV_LOG_DEBUG, "Extradata set to %p (size: %d)!",