diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-07-10 00:10:38 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-07-10 00:40:12 +0400 |
commit | f8911b987de4a84ff8ae92f41ff492ece4acadb9 (patch) | |
tree | 0ebda51a6ba23d790da30a7168870928954da395 /libavfilter/af_astreamsync.c | |
parent | bf5386385dc504a076453ad58f61f808677be747 (diff) | |
parent | 5467742232c312b7d61dca7ac57447f728d8d6c9 (diff) |
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>
Diffstat (limited to 'libavfilter/af_astreamsync.c')
-rw-r--r-- | libavfilter/af_astreamsync.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libavfilter/af_astreamsync.c b/libavfilter/af_astreamsync.c index 8cf3f39b52..587d9a7662 100644 --- a/libavfilter/af_astreamsync.c +++ b/libavfilter/af_astreamsync.c @@ -107,11 +107,12 @@ static int config_output(AVFilterLink *outlink) return 0; } -static void send_out(AVFilterContext *ctx, int out_id) +static int send_out(AVFilterContext *ctx, int out_id) { AStreamSyncContext *as = ctx->priv; struct buf_queue *queue = &as->queue[out_id]; AVFilterBufferRef *buf = queue->buf[queue->tail]; + int ret; queue->buf[queue->tail] = NULL; as->var_values[VAR_B1 + out_id]++; @@ -121,11 +122,12 @@ static void send_out(AVFilterContext *ctx, int out_id) av_q2d(ctx->outputs[out_id]->time_base) * buf->pts; as->var_values[VAR_T1 + out_id] += buf->audio->nb_samples / (double)ctx->inputs[out_id]->sample_rate; - ff_filter_samples(ctx->outputs[out_id], buf); + ret = ff_filter_samples(ctx->outputs[out_id], buf); queue->nb--; queue->tail = (queue->tail + 1) % QUEUE_SIZE; if (as->req[out_id]) as->req[out_id]--; + return ret; } static void send_next(AVFilterContext *ctx) @@ -165,7 +167,7 @@ static int request_frame(AVFilterLink *outlink) return 0; } -static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples) +static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples) { AVFilterContext *ctx = inlink->dst; AStreamSyncContext *as = ctx->priv; @@ -175,6 +177,7 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamples) insamples; as->eof &= ~(1 << id); send_next(ctx); + return 0; } AVFilter avfilter_af_astreamsync = { |