NAME
Audio::Mad::Resample - Resampling routines for mad_fixed_t data
SYPNOSIS
my $resample = new Audio::Mad::Resample (44100, 48000);
my ($left, $right) = $resample->resample($d_left, $d_right);
$resample->init(22050, 8000);
if ($resample->mode() == 2) { print "no resampling needed" }
DESCRIPTION
This module provides a means of changing the sampling rate
of streams of mad_fixed_t data produced by the underlying
library.
The underlying module resamples the streams using a linear
resampling method, provided with the mad-0.14.2b
distribution. (Thanks, Rob)
METHODS
new ([oldrate, newrate])
Creates a new resampling object, and attempts to initialize it to convert samples in oldrate to samples in newrate. You can call the ->init method later to change the sampling ratios if necessary.
init([oldrate, newrate])
Reinitializes an Audio::Mad::Resample object to resample at a different ratio. Returns undef on error, 1 if resampling is necessary, and 2 if resampling won't be necessary.
resample(left, [right])
Returns a stream of mad_fixed_t samples after applying linear resampling. Will return either one or two channels depending on what was passed into it.
mode
Returns either 1, for resampling necessary, or 2, for no resampling necessary.
AUTHOR
Mark McConnell <mischke@cpan.org>