Browse Source

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  lavfi: switch ff_default_get_audio_buffer() to av_frame_get_buffer()

Conflicts:
	libavfilter/audio.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
Michael Niedermayer 12 years ago
parent
commit
209cb8afe0
1 changed files with 10 additions and 24 deletions
  1. +10
    -24
      libavfilter/audio.c

+ 10
- 24
libavfilter/audio.c View File

@@ -42,43 +42,29 @@ AVFrame *ff_default_get_audio_buffer(AVFilterLink *link, int nb_samples)
{
AVFrame *frame = av_frame_alloc();
int channels = link->channels;
int buf_size, ret;
int ret;

av_assert0(channels == av_get_channel_layout_nb_channels(link->channel_layout) || !av_get_channel_layout_nb_channels(link->channel_layout));

if (!frame)
return NULL;

buf_size = av_samples_get_buffer_size(NULL, channels, nb_samples,
link->format, 0);
if (buf_size < 0)
goto fail;

frame->buf[0] = av_buffer_alloc(buf_size);
if (!frame->buf[0])
goto fail;

frame->nb_samples = nb_samples;
ret = avcodec_fill_audio_frame(frame, channels, link->format,
frame->buf[0]->data, buf_size, 0);
if (ret < 0)
goto fail;

av_samples_set_silence(frame->extended_data, 0, nb_samples, channels,
link->format);

frame->nb_samples = nb_samples;
frame->format = link->format;
av_frame_set_channels(frame, link->channels);
frame->channel_layout = link->channel_layout;
frame->sample_rate = link->sample_rate;
ret = av_frame_get_buffer(frame, 0);
if (ret < 0) {
av_frame_free(&frame);
return NULL;
}

return frame;
av_samples_set_silence(frame->extended_data, 0, nb_samples, channels,
link->format);

fail:
av_buffer_unref(&frame->buf[0]);
av_frame_free(&frame);
return NULL;

return frame;
}

AVFrame *ff_get_audio_buffer(AVFilterLink *link, int nb_samples)


Loading…
Cancel
Save