diff -ru alsa-plugins-1.2.12.orig/a52/pcm_a52.c alsa-plugins-1.2.12/a52/pcm_a52.c
--- alsa-plugins-1.2.12.orig/a52/pcm_a52.c	2026-08-05 11:55:24.343137446 +0200
+++ alsa-plugins-1.2.12/a52/pcm_a52.c	2026-08-05 11:57:53.916162117 +0200
@@ -1202,7 +1202,9 @@
 	rec->io.flags = SND_PCM_IOPLUG_FLAG_BOUNDARY_WA;
 #endif
 #ifdef USE_AVCODEC_FRAME
-	rec->av_format = rec->codec->sample_fmts[0];
+	const enum AVSampleFormat *codec_sample_fmts = NULL;
+	avcodec_get_supported_config(NULL, rec->codec, AV_CODEC_CONFIG_SAMPLE_FORMAT, 0, (const void**)&codec_sample_fmts, NULL);
+	rec->av_format = codec_sample_fmts[0];
 	rec->is_planar = av_sample_fmt_is_planar(rec->av_format);
 #else
 	rec->av_format = AV_SAMPLE_FMT_S16;
