Why does AAC have two Sampling rates? I am working on a project that reads the meta data of video files with MediaInfo and processes the results. While testing my code with some sample files I noticed that the audio track of a .mkv file has two different samling rates. The file has two different audio tracks (English and Japanese) but they are listed separately and both tracks show two different sampling rates. Here is the according output of MediaInfo for clarification:

Audio #1
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : A_AAC
Duration                                 : 22mn 46s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz / 24.0 KHz &lt;-- here
Compression mode                         : Lossy
Delay relative to video                  : 31ms
Language                                 : English
Default                                  : Yes
Forced                                   : No

Audio #2
ID                                       : 3
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : HE-AAC / LC
Codec ID                                 : A_AAC
Duration                                 : 22mn 46s
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz / 24.0 KHz &lt;-- and here
Compression mode                         : Lossy
Delay relative to video                  : 31ms
Language                                 : Japanese
Default                                  : No
Forced                                   : No


Can anyone explain what this means? I always thought one audio track can only have one sampling rate. Is this just a different way of describing one sampling rate? Or is it really possible to use two different sampling rates for one audio track?
At the moment, the the software just expects single values for the meta data, so storing two different values for the sampling rate would make things more complicated. Would it be possible to either convert these two values to one value or just choose one of them?

Thanks for your help!
tracks show two different sampling rates. (...) Can anyone explain what this means? I always thought one audio track can only have one sampling rate. Is this just a different way of describing one sampling rate?


MediaInfo reports what is played by a decoder, depending of its capabilities:
- if your decoder is able to play an HE-AAC stream, the stream will be played at 48 kHz (the frequecy of the "core" + the SBR data).
- if your decoder is not able to play an HE-AAC stream, the stream will be played at 24 kHz (the frequency of the "core" AAC)


  I always thought one audio track can only have one sampling rate.


No. You can have a "core" stream with a specific sampling rate, decodable by old players, and an additionnal sub-stream in the stream with additionnal data for having 48 kHz for decoders capable of decoding such additional sub-stream.

Note that it is same for e.g. channels, with HE-AACv2 you'll get a mono "core" + PS for upgrading to stereo. or AC-3 (and DTS) can have a 5.1 "core" lossy stream for old decoders + extra data for newest decoder in order to get 7.1 and/or lossless.


  At the moment, the the software just expects single values for the meta data, so storing two different values for the sampling rate would make things more complicated.


If you are interested only in the "maximum" capability, don't care of the second value.
If you use the command line or DLL, you can say to MediaInfo to not show info about legacy players with --LegacyStreamDisplay=0 option.

Note : this is not "24-bit" as I read in another comment, bit depth in AAC is "dynamic" so no bit depth is shown for AAC (it would be shown for e.g. PCM). This output with several values is wanted by design (showing how an old decoder would decode the stream), and you can disable such behavior with the option provided.