MediaArea/MediaInfo

Audio channel count no longer returned

Closed this issue · 2 comments

I have a test file with an audio track in OGG format for which the channel count is no longer returned using the latest version 19.07. When I try it with an older version 18.05 I get the correct info back.

test.tar.gz

Output with mediainfo 18.05, the channel count is present:

Audio
ID                                       : 2
Format                                   : Ogg
Codec ID                                 : mp4a-DD
Duration                                 : 2 s 20 ms
Bit rate mode                            : Variable
Bit rate                                 : 148 kb/s
Maximum bit rate                         : 225 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Stream size                              : 36.6 KiB (72%)
Language                                 : English
Default                                  : Yes
Alternate group                          : 1

Output with mediainfo 19.07, the channel count is missing:

Audio
ID                                       : 2
Format                                   : Ogg
Codec ID                                 : mp4a-DD
Duration                                 : 2 s 20 ms
Bit rate mode                            : Variable
Bit rate                                 : 148 kb/s
Maximum bit rate                         : 225 kb/s
Sampling rate                            : 48.0 kHz
Stream size                              : 36.6 KiB (72%)
Language                                 : English
Default                                  : Yes
Alternate group                          : 1

Previous value was not correct in some cases. Actually, the MP4 format has some crazyness with it, e.g. "The audio output format (samplerate, samplesize and channelcount fields) in the sample entry should be
considered definitive only for codecs that do not record their own output configuration.", and in practice this field is defined as "template unsigned int(16) channelcount = 2;", so "2" is only a default output value, and not a real value.
We faced some issues with it, because some muxers put "2" as default whatever is the real content.
OGG has its own configuration, so we can not trust enough the value"2" in the MP4 header, reason we removed it.
And as we don't support yet OGG in MP4, we don't parse so we don't display the real value yet.

Thanks for the explanation, this makes sense.