Commit 060cfa47dd for ffmpeg

commit 060cfa47dd1c4a842b038918bbbcbd4c30fc44c9
Author: Niklas Haas <git@haasn.dev>
Date:   Fri Oct 23 16:35:58 2026 +0200

    avfilter/vf_libplacebo: don't mask input errors with a later EOF

    Only the status of the input ending last was forwarded, so an error on a
    shorter input was reported as an ordinary EOF if a longer input ended
    normally. Keep forwarding the most recent status, but prefer errors.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Sponsored-by: nxtedition AB
    Signed-off-by: Niklas Haas <git@haasn.dev>

diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c
index ac9a56152f..f3bdf756b5 100644
--- a/libavfilter/vf_libplacebo.c
+++ b/libavfilter/vf_libplacebo.c
@@ -1267,14 +1267,17 @@ static int libplacebo_activate(AVFilterContext *ctx)
                 drain_input_pts(&s->inputs[i], out_pts);
             return output_frame(ctx, out_pts);
         } else if (s->nb_active == 0) {
-            /* Forward most recent status */
+            /* Forward most recent status, but don't let a later EOF mask errors */
             int status = s->inputs[0].status;
             int64_t status_pts = s->inputs[0].status_pts;
             for (int i = 1; i < s->nb_inputs; i++) {
                 const LibplaceboInput *in = &s->inputs[i];
                 if (in->status_pts > status_pts) {
-                    status = s->inputs[i].status;
-                    status_pts = s->inputs[i].status_pts;
+                    status_pts = in->status_pts;
+                    if (in->status != AVERROR_EOF || status == AVERROR_EOF)
+                        status = in->status;
+                } else if (status == AVERROR_EOF) {
+                    status = in->status;
                 }
             }
             ff_outlink_set_status(outlink, status, status_pts);