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