The audio buffer goes L R L R L R L R, so even samples are left and odd samples are right.  dResult is counting mono samples, so it must be even to ensure that left and right aren't swapped.