12 Resample(File
*file
, int channels
);
15 // Reset after seeking
16 void reset(int channel
= -1);
17 double blackman(int i
, double offset
, double fcn
, int l
);
19 int get_output_size(int channel
);
20 void read_output(double *output
, int channel
, int size
);
21 // Resamples input and dumps it to output_temp
22 void resample_chunk(double *input
,
27 // Resample from the file handler and store in *output.
28 // Returns the total samples read from the file handler.
29 int resample(double *output
,
34 long in_position
, // Starting sample in input samplerate
35 long out_position
); // Starting sample in output samplerate
36 virtual void read_chunk(double *input
,
39 int iteration
); // True once for every resample call
41 // History buffer for resampling.
47 // Unaligned resampled output
51 // Total samples in unaligned output
52 // Tied to each channel independantly
56 // Sample start of output_temp in the resampled domain.
57 long *output_temp_start
;
58 // Allocation of unaligned output
59 long output_allocation
;
62 // Sample end of input chunks in the input domain.
63 long *input_chunk_end
;
67 // Last sample ratio configured to
69 double blackfilt
[2 * BPC
+ 1][BLACKSIZE
];
71 // Determine whether to reset after a seek
72 // Sample end of last buffer read for each channel
79 Resample_float(File
*file
, int channels
);
82 // Reset after seeking
83 void reset(int channel
= -1);
84 float blackman(int i
, float offset
, float fcn
, int l
);
86 int get_output_size(int channel
);
87 void read_output(double *output
, int channel
, int size
);
88 // Resamples input and dumps it to output_temp
89 void resample_chunk(float *input
,
94 // Resample from the file handler and store in *output.
95 // Returns the total samples read from the file handler.
96 int resample(double *output
,
101 long in_position
, // Starting sample in input samplerate
102 long out_position
); // Starting sample in output samplerate
103 virtual void read_chunk(float *input
,
106 int iteration
); // True once for every resample call
108 // History buffer for resampling.
114 // Unaligned resampled output
115 double **output_temp
;
118 // Total samples in unaligned output
119 // Tied to each channel independantly
123 // Sample start of output_temp in the resampled domain.
124 long *output_temp_start
;
125 // Allocation of unaligned output
126 long output_allocation
;
129 // Sample end of input chunks in the input domain.
130 long *input_chunk_end
;
134 // Last sample ratio configured to
136 float blackfilt
[2 * BPC
+ 1][BLACKSIZE
];
138 // Determine whether to reset after a seek
139 // Sample end of last buffer read for each channel