Merge remote-tracking branch 'qatar/master'
* qatar/master: mss3: use standard zigzag table mss3: split DSP functions that are used in MTS2(MSS4) into separate file motion-test: do not use getopt() tcp: add initial timeout limit for incoming connections configure: Change the rdtsc check to a linker check avconv: propagate fatal errors from lavfi. lavfi: add error handling to filter_samples(). fate-run: make avconv() properly deal with multiple inputs. asplit: don't leak the input buffer. af_resample: fix request_frame() behavior. af_asyncts: fix request_frame() behavior. libx264: support aspect ratio switching matroskadec: honor error_recognition when encountering unknown elements. lavr: resampling: add support for s32p, fltp, and dblp internal sample formats lavr: resampling: add filter type and Kaiser window beta to AVOptions lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format lavr: mix: validate internal sample format in ff_audio_mix_init() Conflicts: ffmpeg.c ffplay.c libavcodec/libx264.c libavfilter/audio.c libavfilter/split.c libavformat/tcp.c tests/fate-run.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -168,13 +168,14 @@ static int config_output(AVFilterLink *outlink)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref)
|
||||
static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref)
|
||||
{
|
||||
AResampleContext *aresample = inlink->dst->priv;
|
||||
const int n_in = insamplesref->audio->nb_samples;
|
||||
int n_out = n_in * aresample->ratio * 2 ;
|
||||
AVFilterLink *const outlink = inlink->dst->outputs[0];
|
||||
AVFilterBufferRef *outsamplesref = ff_get_audio_buffer(outlink, AV_PERM_WRITE, n_out);
|
||||
int ret;
|
||||
|
||||
|
||||
avfilter_copy_buffer_ref_props(outsamplesref, insamplesref);
|
||||
@@ -193,15 +194,16 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref
|
||||
if (n_out <= 0) {
|
||||
avfilter_unref_buffer(outsamplesref);
|
||||
avfilter_unref_buffer(insamplesref);
|
||||
return;
|
||||
return 0;
|
||||
}
|
||||
|
||||
outsamplesref->audio->sample_rate = outlink->sample_rate;
|
||||
outsamplesref->audio->nb_samples = n_out;
|
||||
|
||||
ff_filter_samples(outlink, outsamplesref);
|
||||
ret = ff_filter_samples(outlink, outsamplesref);
|
||||
aresample->req_fullfilled= 1;
|
||||
avfilter_unref_buffer(insamplesref);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int request_frame(AVFilterLink *outlink)
|
||||
|
Reference in New Issue
Block a user