Merge commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d'

* commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d':
  audiointerleave: check av_new_packet return value

Conflicts:
	libavformat/audiointerleave.c

See: 3ca8a23288
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-10-25 03:27:13 +02:00
commit 6d2a2bfb59
1 changed files with 4 additions and 3 deletions

View File

@ -80,13 +80,14 @@ static int interleave_new_audio_packet(AVFormatContext *s, AVPacket *pkt,
{ {
AVStream *st = s->streams[stream_index]; AVStream *st = s->streams[stream_index];
AudioInterleaveContext *aic = st->priv_data; AudioInterleaveContext *aic = st->priv_data;
int ret;
int size = FFMIN(av_fifo_size(aic->fifo), *aic->samples * aic->sample_size); int size = FFMIN(av_fifo_size(aic->fifo), *aic->samples * aic->sample_size);
if (!size || (!flush && size == av_fifo_size(aic->fifo))) if (!size || (!flush && size == av_fifo_size(aic->fifo)))
return 0; return 0;
if (av_new_packet(pkt, size) < 0) ret = av_new_packet(pkt, size);
return AVERROR(ENOMEM); if (ret < 0)
return ret;
av_fifo_generic_read(aic->fifo, pkt->data, size, NULL); av_fifo_generic_read(aic->fifo, pkt->data, size, NULL);
pkt->dts = pkt->pts = aic->dts; pkt->dts = pkt->pts = aic->dts;