(sndfile loader) Removed useless allocation when mixing to mono
Former-commit-id: 22a4032bd2edffe51b9d9d823d7a2155a7b9fef5
This commit is contained in:
parent
28bbc28125
commit
0a9bf851fd
|
|
@ -8,6 +8,7 @@
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void NzMixToMono(T* input, T* output, unsigned int channelCount, unsigned int frameCount)
|
void NzMixToMono(T* input, T* output, unsigned int channelCount, unsigned int frameCount)
|
||||||
{
|
{
|
||||||
|
///DOC: Le buffer d'entrée peut être le même que le buffer de sortie
|
||||||
// Pour éviter l'overflow, on utilise comme accumulateur un type assez grand, (u)int 64 bits pour les entiers, double pour les flottants
|
// Pour éviter l'overflow, on utilise comme accumulateur un type assez grand, (u)int 64 bits pour les entiers, double pour les flottants
|
||||||
typedef typename std::conditional<std::is_unsigned<T>::value, nzUInt64, nzInt64>::type BiggestInt;
|
typedef typename std::conditional<std::is_unsigned<T>::value, nzUInt64, nzInt64>::type BiggestInt;
|
||||||
typedef typename std::conditional<std::is_integral<T>::value, BiggestInt, double>::type Biggest;
|
typedef typename std::conditional<std::is_integral<T>::value, BiggestInt, double>::type Biggest;
|
||||||
|
|
|
||||||
|
|
@ -363,8 +363,8 @@ namespace
|
||||||
// Une conversion en mono est-elle nécessaire ?
|
// Une conversion en mono est-elle nécessaire ?
|
||||||
if (parameters.forceMono && format != nzAudioFormat_Mono)
|
if (parameters.forceMono && format != nzAudioFormat_Mono)
|
||||||
{
|
{
|
||||||
std::unique_ptr<nzInt16[]> monoSamples(new nzInt16[info.frames]);
|
// Nous effectuons la conversion en mono dans le même buffer (il va de toute façon être copié)
|
||||||
NzMixToMono(samples.get(), monoSamples.get(), info.channels, info.frames);
|
NzMixToMono(monoSamples.get(), monoSamples.get(), info.channels, info.frames);
|
||||||
|
|
||||||
format = nzAudioFormat_Mono;
|
format = nzAudioFormat_Mono;
|
||||||
samples = std::move(monoSamples);
|
samples = std::move(monoSamples);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue