Merge remote-tracking branch 'qatar/master'

* qatar/master:
  avconv: Set error code before before jumping to fail.
  h264: fix PCM intra-coded blocks in monochrome case

Conflicts:
	libavcodec/h264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-08-19 23:32:51 +02:00
commit 60b54e4b9f
1 changed files with 9 additions and 3 deletions

View File

@ -1975,8 +1975,10 @@ static int transcode(OutputFile *output_files,
if (ost->st->stream_copy) { if (ost->st->stream_copy) {
uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE;
if (extra_size > INT_MAX) if (extra_size > INT_MAX) {
ret = AVERROR(EINVAL);
goto fail; goto fail;
}
/* if stream_copy is selected, no need to decode or encode */ /* if stream_copy is selected, no need to decode or encode */
codec->codec_id = icodec->codec_id; codec->codec_id = icodec->codec_id;
@ -1993,8 +1995,10 @@ static int transcode(OutputFile *output_files,
codec->rc_max_rate = icodec->rc_max_rate; codec->rc_max_rate = icodec->rc_max_rate;
codec->rc_buffer_size = icodec->rc_buffer_size; codec->rc_buffer_size = icodec->rc_buffer_size;
codec->extradata= av_mallocz(extra_size); codec->extradata= av_mallocz(extra_size);
if (!codec->extradata) if (!codec->extradata) {
ret = AVERROR(ENOMEM);
goto fail; goto fail;
}
memcpy(codec->extradata, icodec->extradata, icodec->extradata_size); memcpy(codec->extradata, icodec->extradata, icodec->extradata_size);
codec->extradata_size= icodec->extradata_size; codec->extradata_size= icodec->extradata_size;
@ -2059,8 +2063,10 @@ static int transcode(OutputFile *output_files,
switch(codec->codec_type) { switch(codec->codec_type) {
case AVMEDIA_TYPE_AUDIO: case AVMEDIA_TYPE_AUDIO:
ost->fifo= av_fifo_alloc(1024); ost->fifo= av_fifo_alloc(1024);
if(!ost->fifo) if (!ost->fifo) {
ret = AVERROR(ENOMEM);
goto fail; goto fail;
}
ost->reformat_pair = MAKE_SFMT_PAIR(AV_SAMPLE_FMT_NONE,AV_SAMPLE_FMT_NONE); ost->reformat_pair = MAKE_SFMT_PAIR(AV_SAMPLE_FMT_NONE,AV_SAMPLE_FMT_NONE);
if (!codec->sample_rate) { if (!codec->sample_rate) {
codec->sample_rate = icodec->sample_rate; codec->sample_rate = icodec->sample_rate;