]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_amultiply.c
avfilter: Constify all AVFilters
[ffmpeg] / libavfilter / af_amultiply.c
index b35eca725002adb9e66be6d917b256592bfcb979..1cf67ac18662b1cc86c913f0a8f3f9250748ca9f 100644 (file)
@@ -34,7 +34,6 @@ typedef struct AudioMultiplyContext {
     const AVClass *class;
 
     AVFrame *frames[2];
-    int64_t pts;
     int planes;
     int channels;
     int samples_align;
@@ -95,21 +94,20 @@ static int activate(AVFilterContext *ctx)
         }
     }
 
-    if (nb_samples > 0 && s->frames[0] && s->frames[1]) {
+    if (s->frames[0] && s->frames[1]) {
         AVFrame *out;
         int plane_samples;
 
         if (av_sample_fmt_is_planar(ctx->inputs[0]->format))
-            plane_samples = FFALIGN(nb_samples, s->samples_align);
+            plane_samples = FFALIGN(s->frames[0]->nb_samples, s->samples_align);
         else
-            plane_samples = FFALIGN(nb_samples * s->channels, s->samples_align);
+            plane_samples = FFALIGN(s->frames[0]->nb_samples * s->channels, s->samples_align);
 
-        out = ff_get_audio_buffer(ctx->outputs[0], nb_samples);
+        out = ff_get_audio_buffer(ctx->outputs[0], s->frames[0]->nb_samples);
         if (!out)
             return AVERROR(ENOMEM);
 
-        out->pts = s->pts;
-        s->pts += nb_samples;
+        out->pts = s->frames[0]->pts;
 
         if (av_get_packed_sample_fmt(ctx->inputs[0]->format) == AV_SAMPLE_FMT_FLT) {
             for (i = 0; i < s->planes; i++) {
@@ -207,7 +205,7 @@ static const AVFilterPad outputs[] = {
     { NULL }
 };
 
-AVFilter ff_af_amultiply = {
+const AVFilter ff_af_amultiply = {
     .name           = "amultiply",
     .description    = NULL_IF_CONFIG_SMALL("Multiply two audio streams."),
     .priv_size      = sizeof(AudioMultiplyContext),