summaryrefslogtreecommitdiff
path: root/libavfilter/af_asyncts.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-07-30 23:04:28 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-07-30 23:28:31 +0200
commitb5da7d4c1a7f08f89aece651a8f0f8c4963e5ad9 (patch)
treec5ade4afd26c2cbd5fd7d5442e044e688724269a /libavfilter/af_asyncts.c
parenta85b4a5696787e36df8d7c805de8f86ea6365acb (diff)
parent6774247a9d7d15033c2b80118c03cb0cb10027df (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: avformat: Drop pointless "format" from container long names swscale: bury one more piece of inline asm under HAVE_INLINE_ASM. wv: K&R formatting cosmetics configure: Add missing descriptions to help output h264_ps: declare array of colorspace strings on its own line. fate: amix: specify f32 sample format for comparison tiny_psnr: support 32-bit float samples eamad/eatgq/eatqi: call special EA IDCT directly eamad: remove use of MpegEncContext mpegvideo: remove unnecessary inclusions of faandct.h af_asyncts: avoid overflow in out_size with large delta values af_asyncts: add first_pts option Conflicts: configure libavcodec/eamad.c libavcodec/h264_ps.c libavformat/crcenc.c libavformat/ffmdec.c libavformat/ffmenc.c libavformat/framecrcenc.c libavformat/md5enc.c libavformat/nutdec.c libavformat/rawenc.c libavformat/yuv4mpeg.c tests/tiny_psnr.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/af_asyncts.c')
-rw-r--r--libavfilter/af_asyncts.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c
index 7459610af8..1737d6138d 100644
--- a/libavfilter/af_asyncts.c
+++ b/libavfilter/af_asyncts.c
@@ -49,6 +49,7 @@ static const AVOption asyncts_options[] = {
{ "min_delta", "Minimum difference between timestamps and audio data "
"(in seconds) to trigger padding/trimmin the data.", OFFSET(min_delta_sec), AV_OPT_TYPE_FLOAT, { 0.1 }, 0, INT_MAX, A },
{ "max_comp", "Maximum compensation in samples per second.", OFFSET(max_comp), AV_OPT_TYPE_INT, { 500 }, 0, INT_MAX, A },
+ { "first_pts", "Assume the first pts should be this value.", OFFSET(pts), AV_OPT_TYPE_INT64, { AV_NOPTS_VALUE }, INT64_MIN, INT64_MAX, A },
{ NULL },
};
@@ -68,8 +69,6 @@ static int init(AVFilterContext *ctx, const char *args)
}
av_opt_free(s);
- s->pts = AV_NOPTS_VALUE;
-
return 0;
}
@@ -182,7 +181,7 @@ static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *buf)
if (labs(delta) > s->min_delta) {
av_log(ctx, AV_LOG_VERBOSE, "Discontinuity - %"PRId64" samples.\n", delta);
- out_size += delta;
+ out_size = av_clipl_int32((int64_t)out_size + delta);
} else {
if (s->resample) {
int comp = av_clip(delta, -s->max_comp, s->max_comp);