On Wed, 2009-07-01 at 08:48 +0300, Yusuf Caglar AKYUZ wrote:
> Steve Chen wrote:
> > I believe GStreamer uses the OSS emulation layer.  It appears that the
> > problem is at sample rate of 44.1k.
> > 
> 
> I disabled CONFIG_SND_SUPPORT_OLD_API and tried with that. Results are the 
> same. Is there a way to disable OSS emulation layer,

Disable CONFIG_SND_MIXER_OSS and CONFIG_SND_PCM_OSS should disable OSS
emulation.  A quick check you can do is to verify /dev/dsp is no longer
present.

>  or should I check 
> gstreamer handling of alsa?

Yes, you can probably get around this issue by using ALSA within
gstreamer.

> 
> >> >From these two examples it was clear(at least for me) that there were some
> >> problem with driver, especially at 44100 khz either 1 channel or 2 
> >> channel. 
> >> Later I converted davincieffect.mp2 to wav at two different sample rates 
> >> and
> >> played with aplay as such:
> >>
> >> $aplay r441_c2.wav                            
> > 
> > Can you try
> >  > aplay -D hw:0,1 r441_c2.wav
> > 
> > If you see something like
> > 
> > Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
> >          please, try the plug plugin 
> > 
> > That means McBSP/AIC33 are not setup to handle sample rate of 44.1K
> > directly.  The sample rates are covered by software.  The problem is
> > likely in the area of rate conversion.
> > 
> > If you don't see the warning, McBSP/AIC33 is setup to handle 44.1K
> > directly.  You man want to check with clock settings (make sure AIC33 is
> > setup as the master).
> > 
> 
> I tried and there was no warning:
> 
> $aplay -v -D hw:0,0 r441_c2.wav
> Playing WAVE 'r441_c2.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, 
> Stereo
> Hardware PCM card 0 'DaVinci Beginning' device 0 subdevice 0
> Its setup is:
>   stream       : PLAYBACK
>   access       : RW_INTERLEAVED
>   format       : S16_LE
>   subformat    : STD
>   channels     : 2
>   rate         : 44100
>   exact rate   : 44100 (44100/1)
>   msbits       : 16
>   buffer_size  : 22400
>   period_size  : 896
>   period_time  : 20317
>   tstamp_mode  : NONE
>   period_step  : 1
>   avail_min    : 896
>   period_event : 0
>   start_threshold  : 22400
>   stop_threshold   : 22400
>   silence_threshold: 0
>   silence_size : 0
>   boundary     : 1468006400
>   appl_ptr     : 0
>   hw_ptr       : 0
> 
> 
> I started seeing this issue after applying this patch, maybe there is 
> something wrong with ping-pong buffer handling as this problem is present
> only when sample rate is 44.1 khz.

Another thing you may try is to dump AIC33 and McBSP registers and
compare between ALSA and GStreamer.  This will help eliminate hardware
register setting as a possible cause.

> 
> Regards,
> Caglar
> 


_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to