mirror of https://git.ffmpeg.org/ffmpeg.git
libswresample: check input to swr_convert_frame for NULL
When 'out' is an AVFrame that does not have buffers preallocated, swr_convert_frame tries to allocate buffers of the right size. However in calculating this size it failed to check for whether 'in' is NULL (requesting that swr's internal buffers are to be flushed). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
01e545d046
commit
3fa8f263ab
|
@ -139,9 +139,10 @@ int swr_convert_frame(SwrContext *s,
|
|||
|
||||
if (out) {
|
||||
if (!out->linesize[0]) {
|
||||
out->nb_samples = swr_get_delay(s, s->out_sample_rate)
|
||||
+ in->nb_samples*(int64_t)s->out_sample_rate / s->in_sample_rate
|
||||
+ 3;
|
||||
out->nb_samples = swr_get_delay(s, s->out_sample_rate) + 3;
|
||||
if (in) {
|
||||
out->nb_samples += in->nb_samples*(int64_t)s->out_sample_rate / s->in_sample_rate;
|
||||
}
|
||||
if ((ret = av_frame_get_buffer(out, 0)) < 0) {
|
||||
if (setup)
|
||||
swr_close(s);
|
||||
|
|
Loading…
Reference in New Issue