avfilter/vf_stack: use time_base from framesync
authorPaul B Mahol <onemda@gmail.com>
Thu, 25 Apr 2019 19:14:48 +0000 (21:14 +0200)
committerPaul B Mahol <onemda@gmail.com>
Fri, 26 Apr 2019 21:59:52 +0000 (23:59 +0200)
Fixes non-monotonous timestamps.

libavfilter/vf_stack.c

index 8731674..b836d96 100644 (file)
@@ -174,7 +174,6 @@ static int config_output(AVFilterLink *outlink)
 {
     AVFilterContext *ctx = outlink->src;
     StackContext *s = ctx->priv;
-    AVRational time_base = ctx->inputs[0]->time_base;
     AVRational frame_rate = ctx->inputs[0]->frame_rate;
     AVRational sar = ctx->inputs[0]->sample_aspect_ratio;
     int height = ctx->inputs[0]->h;
@@ -281,7 +280,6 @@ static int config_output(AVFilterLink *outlink)
 
     outlink->w          = width;
     outlink->h          = height;
-    outlink->time_base  = time_base;
     outlink->frame_rate = frame_rate;
     outlink->sample_aspect_ratio = sar;
 
@@ -301,7 +299,10 @@ static int config_output(AVFilterLink *outlink)
         in[i].after  = s->shortest ? EXT_STOP : EXT_INFINITY;
     }
 
-    return ff_framesync_configure(&s->fs);
+    ret = ff_framesync_configure(&s->fs);
+    outlink->time_base = s->fs.time_base;
+
+    return ret;
 }
 
 static av_cold void uninit(AVFilterContext *ctx)