2009-04-02 у 15:47 +0400, Anatoliy Nenashev wrote: 
> V0id 
> > Hi.
> >
> >   For my project I have to convert audio from different sources to one
> > common format: sample rate, sample format, channels number. And I'm
> > confused a bit with API as there several functions to do so.
> >
> >   In my project I'm trying to do something like that:
> >
> > const int RATE = 44100;
> > const int CHANNELS = 2;
> > ReSampleContext *resampleCtx;
> > *resampleCtx = av_audio_resample_init(CHANNELS, stream->codec->channels,
> >                                       RATE, stream->codec->sample_rate,
> >                                       SAMPLE_FMT_S16, 
> > stream->codec->sample_fmt,
> >                                       16, 10, 1, 0.8);
> > ----------decoding audio to outBuf----------
> >
> > //assuming outBuf filled with SAMPLE_FMT_S16 samples
> > int rslt = audio_resample(resampleCtx, (short*) outResampledBuf, (short*) 
> > outBuf, outBufSize/2);
> >
> > ----------sending outResampledBuf to sound devise which is opened in 
> > 44100/2/s16le mode---
> >
> > audio_resample_close(resampleCtx);
> >
> > But audio plays with a lot of clicks and cracks. In this case source has
> > 48000 sample rate, but same is true when upsampling from 44100 to 48000.
> >
> > Can somebody tell my what am I doing wrong?
> >
>   
> Hi!
> 
> Function audio_resample receive and return number of samples. One sample 
> include all audio information at one time. In your case it means that 
> last param for audio_resample must be outBufSize/4 (if outBufSize 
> measures in bytes). I use the same code with good quality of a sound as 
> a result.
> 
> Regards, Anatoliy.
> 

Thenks a lot. You helped me much.

_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to