We switched to the beepdec decoder and started getting customer complaints about audio quality.
While investigating the customer complaints, we decided to compare spectral output of three different decoders using the same audio sample.

According to the debugger output, beepdec is halving the sample rate:
0:00:00.474878955 764 0x1a82e60 INFO beepdec beepdec.c:500:beep_dec_set_format: normal create sw wrapper interface
====== BEEP: 4.5.5 build on Jun 17 2021 21:07:54. ======
Core: AAC decoder Wrapper build on Dec 7 2017 18:13:49
file: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3
CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.09.00_CORTEX-A8 build on Sep 20 2017 15:02:14.
0:00:00.476810965 764 0x1a82e60 INFO beepdec beepdec.c:285:beep_dec_set_init_parameter: Set rate 44100
0:00:00.477207967 764 0x1a82e60 INFO beepdec beepdec.c:303:beep_dec_set_init_parameter: Set channel 2
0:00:00.477485969 764 0x1a82e60 INFO beepdec beepdec.c:354:beep_dec_set_init_parameter: Set codec_data buffer: 0x74f03950, pts 99:99:99.999999999, dts 99:99:99.999999999, dur 99:99:99.999999999, size 5, offset none, offset_end none, flags 0x0
0:00:00.477605970 764 0x1a82e60 INFO beepdec beepdec.c:368:beep_dec_set_init_parameter: Set stream_type raw
0:00:00.477751304 764 0x1a82e60 INFO beepdec beepdec.c:403:beep_dec_set_init_parameter: Set framed true
/GstPipeline:pipeline0/GstBeepDec:beepdec0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)1, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)139056e5a0, rate=(int)44100, channels=(int)2
0:00:00.480722320 764 0x1a82e60 DEBUG beepdec beepdec.c:693:beep_dec_handle_output_changed:<beepdec0> output changed channel num=2,core layout=1,2,0,0,0,0,0,0
0:00:00.480933321 764 0x1a82e60 DEBUG beepdec beepdec.c:725:beep_dec_handle_output_changed:<beepdec0> output changed after convert num=2,core layout=0,1,0,0,0,0,0,0
0:00:00.481187656 764 0x1a82e60 DEBUG beepdec beepdec.c:735:beep_dec_handle_output_changed:<beepdec0> output changed after map num=2,gstreamer layout=0,1,0,0,0,0,0,0
/GstPipeline:pipeline0/GstBeepDec:beepdec0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)22050, channels=(int)2, channel-mask=(bitmask)0x000000000000000
The halving of the sample rate would explain the spectral output of beepdec. In newer versions of imx-codec and imx-parser, is this issue fixed?