コード例 #1
0
ファイル: rate_arm.cpp プロジェクト: nuvie/nuvie
int LinearRateConverter<stereo, reverseStereo>::flow(AudioStream &input, st_sample_t *obuf, st_size_t osamp, st_volume_t vol_l, st_volume_t vol_r) {

#ifdef DEBUG_RATECONV
	debug("Linear st=%d rev=%d", stereo, reverseStereo);
#endif
	st_sample_t *ostart = obuf;

	if (!stereo) {
		obuf = ARM_LinearRate_M(input,
		                        &SimpleRate_readFudge,
		                        &lr,
				        obuf, osamp, vol_l, vol_r);
	} else if (reverseStereo) {
		obuf = ARM_LinearRate_R(input,
		                        &SimpleRate_readFudge,
		                        &lr,
				        obuf, osamp, vol_l, vol_r);
	} else {
		obuf = ARM_LinearRate_S(input,
		                        &SimpleRate_readFudge,
		                        &lr,
				        obuf, osamp, vol_l, vol_r);
	}
	return (obuf-ostart)/2;
}
コード例 #2
0
int LinearRateConverter<stereo, reverseStereo>::flow(AudioStream &input, st_sample_t *obuf, st_size_t osamp, st_volume_t vol_l, st_volume_t vol_r) {

#ifdef DEBUG_RATECONV
    fprintf(stderr, "Linear st=%d rev=%d\n", stereo, reverseStereo);
    fflush(stderr);
#endif
    if (!stereo) {
        ARM_LinearRate_M(input,
                         &SimpleRate_readFudge,
                         &lr,
                         obuf, osamp, vol_l, vol_r);
    } else if (reverseStereo) {
        ARM_LinearRate_R(input,
                         &SimpleRate_readFudge,
                         &lr,
                         obuf, osamp, vol_l, vol_r);
    } else {
        ARM_LinearRate_S(input,
                         &SimpleRate_readFudge,
                         &lr,
                         obuf, osamp, vol_l, vol_r);
    }
    return (ST_SUCCESS);
}