X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Faudio_analyser.cc;h=df76932dedb36ebad107754c6baf3f2a1fa4cd39;hb=5b916bf26e3ad1cc49ef8e498bd5e4ff844ed7db;hp=45097c5b619cdcab5d296da3c963aaf7632763c0;hpb=83a948956916abb7b2c13c25141323d326b38708;p=dcpomatic.git diff --git a/src/lib/audio_analyser.cc b/src/lib/audio_analyser.cc index 45097c5b6..df76932de 100644 --- a/src/lib/audio_analyser.cc +++ b/src/lib/audio_analyser.cc @@ -86,10 +86,18 @@ AudioAnalyser::AudioAnalyser (shared_ptr film, shared_ptraudio_channels(); auto content = _playlist->content(); if (content.size() == 1 && content[0]->audio) { - _leqm_channels = content[0]->audio->mapping().mapped_output_channels().size(); + _leqm_channels = 0; + for (auto channel: content[0]->audio->mapping().mapped_output_channels()) { + /* This means that if, for example, a file only maps C we will + * calculate LEQ(m) for L, R and C. I'm not sure if this is + * right or not. + */ + _leqm_channels = std::min(film->audio_channels(), channel + 1); + } + } else { + _leqm_channels = film->audio_channels(); } /* XXX: is this right? Especially for more than 5.1? */