diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c
index a8ec8a194f9802db40aa3ae91617f98f9d578d7b..deeaa036ac2521d485f7061756121abd480cf08b 100644
--- a/libavfilter/af_amix.c
+++ b/libavfilter/af_amix.c
@@ -409,7 +409,7 @@ static int request_frame(AVFilterLink *outlink)
 
         available_samples = get_available_samples(s);
         if (!available_samples)
-            return 0;
+            return AVERROR(EAGAIN);
 
         return output_frame(outlink, available_samples);
     }
@@ -440,7 +440,7 @@ static int request_frame(AVFilterLink *outlink)
 
         available_samples = get_available_samples(s);
         if (!available_samples)
-            return 0;
+            return AVERROR(EAGAIN);
         available_samples = FFMIN(available_samples, wanted_samples);
     } else {
         available_samples = wanted_samples;