diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index b285f4ce887b89a7db6f3b3106e9176b570fcbc4..a418e861675fcc354e0beba1d0f0e8e62eede295 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -2140,7 +2140,7 @@ static int opt_channel_layout(void *optctx, const char *opt, const char *arg)
         return AVERROR(EINVAL);
     }
     snprintf(layout_str, sizeof(layout_str), "%"PRIu64, layout);
-    ret = opt_default(NULL, opt, layout_str);
+    ret = opt_default_new(o, opt, layout_str);
     if (ret < 0)
         return ret;