]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/af_asetnsamples.c
avfilter/vf_v360: add barrel split format output support
[ffmpeg] / libavfilter / af_asetnsamples.c
index e8daec8d8f9a3f33c242b2a62a6367bcc950d36d..bbc391a4ff2930c1a707ef2c80060b05e34bab11 100644 (file)
@@ -67,8 +67,12 @@ static int activate(AVFilterContext *ctx)
         return ret;
 
     if (ret > 0) {
-        if ((!s->pad || (s->pad && frame->nb_samples == s->nb_out_samples)))
-            return ff_filter_frame(outlink, frame);
+        if (!s->pad || frame->nb_samples == s->nb_out_samples) {
+            ret = ff_filter_frame(outlink, frame);
+            if (ff_inlink_queued_samples(inlink) >= s->nb_out_samples)
+                ff_filter_set_ready(ctx, 100);
+            return ret;
+        }
 
         pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples);
         if (!pad_frame) {
@@ -76,6 +80,13 @@ static int activate(AVFilterContext *ctx)
             return AVERROR(ENOMEM);
         }
 
+        ret = av_frame_copy_props(pad_frame, frame);
+        if (ret < 0) {
+            av_frame_free(&pad_frame);
+            av_frame_free(&frame);
+            return ret;
+        }
+
         av_samples_copy(pad_frame->extended_data, frame->extended_data,
                         0, 0, frame->nb_samples, frame->channels, frame->format);
         av_samples_set_silence(pad_frame->extended_data, frame->nb_samples,