mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-01 22:58:47 -04:00
run make update-ffmpeg
This commit is contained in:
parent
505df22add
commit
45ae4abe23
1 changed files with 1 additions and 26 deletions
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file resample2.c
|
||||
* @file libavcodec/resample2.c
|
||||
* audio resampling
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
|
@ -175,10 +175,6 @@ void av_build_filter(FELEM *filter, double factor, int tap_count, int phase_coun
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes an audio resampler.
|
||||
* Note, if either rate is not an integer then simply scale both rates up so they are.
|
||||
*/
|
||||
AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_size, int phase_shift, int linear, double cutoff){
|
||||
AVResampleContext *c= av_mallocz(sizeof(AVResampleContext));
|
||||
double factor= FFMIN(out_rate * cutoff / in_rate, 1.0);
|
||||
|
|
@ -206,33 +202,12 @@ void av_resample_close(AVResampleContext *c){
|
|||
av_freep(&c);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compensates samplerate/timestamp drift. The compensation is done by changing
|
||||
* the resampler parameters, so no audible clicks or similar distortions occur
|
||||
* @param compensation_distance distance in output samples over which the compensation should be performed
|
||||
* @param sample_delta number of output samples which should be output less
|
||||
*
|
||||
* example: av_resample_compensate(c, 10, 500)
|
||||
* here instead of 510 samples only 500 samples would be output
|
||||
*
|
||||
* note, due to rounding the actual compensation might be slightly different,
|
||||
* especially if the compensation_distance is large and the in_rate used during init is small
|
||||
*/
|
||||
void av_resample_compensate(AVResampleContext *c, int sample_delta, int compensation_distance){
|
||||
// sample_delta += (c->ideal_dst_incr - c->dst_incr)*(int64_t)c->compensation_distance / c->ideal_dst_incr;
|
||||
c->compensation_distance= compensation_distance;
|
||||
c->dst_incr = c->ideal_dst_incr - c->ideal_dst_incr * (int64_t)sample_delta / compensation_distance;
|
||||
}
|
||||
|
||||
/**
|
||||
* resamples.
|
||||
* @param src an array of unconsumed samples
|
||||
* @param consumed the number of samples of src which have been consumed are returned here
|
||||
* @param src_size the number of unconsumed samples available
|
||||
* @param dst_size the amount of space in samples available in dst
|
||||
* @param update_ctx if this is 0 then the context wont be modified, that way several channels can be resampled with the same context
|
||||
* @return the number of samples written in dst or -1 if an error occurred
|
||||
*/
|
||||
int av_resample(AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx){
|
||||
int dst_index, i;
|
||||
int index= c->index;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue