Re: underrun!!! (at least 0, 249 ms long) was (struct snd_pcm_hardware_t values)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Wed, 9 Aug 2006 12:08:00 +0200,
Markus Rechberger wrote:
> 
> Hi,
> 
> On 8/8/06, Takashi Iwai <tiwai@xxxxxxx> wrote:
> > At Tue, 8 Aug 2006 03:09:43 +0200,
> > Markus Rechberger wrote:
> > >
> > > Ok I managed to get rid of that garbled background noise now I get
> > > underrun messages...
> > >
> > > $ aplay -D hw:2,1 5_5_2006__07_00_59.wav
> > > Playing WAVE '5_5_2006__07_00_59.wav' : Signed 16 bit Little Endian,
> > > Rate 9600 Hz, Mono
> > > underrun!!! (at least 0,271 ms long)
> > > underrun!!! (at least 0,248 ms long)
> > > [...]
> > >
> > > I can hear the sound clearly, but looks like these 200ms cause a choppy
> > sound...
> > > I also tried to add support for this device to snd-usb-audio, but
> > > since this device has no synchronisation packets the driver fails...
> > > Does anyone know what causes such a buffer underrun?
> >
> 
> This is fixed now I set the buffer size 3 times as high as the period
> size.. though I still have the same choppy effect. Seems like a
> problem with the filled USB packets.. I wonder why the supported
> packet size is 128 bytes but the windows driver fills max. 38 bytes of
> every packet... My driver currently fills only 20 bytes since this is
> the average of what the windriver does too.

Hm, this sounds like a 1ms alignment problem.
What happens if you play a sample with n * 1000Hz ?


> > For example, the calculation of the current pointer doesn't match with
> > the actual position.
> >
> 
> there might be something wrong in line 350/351 but it has a lower
> priority at the moment for me...
> 
> > > I think it still has something to do with the snd_pcm_hardware_t values...
> >
> > My guess is that the problem is the implementation of pointer
> > callback.
> >
> > > maybe the time will come when I'm not the only one on this ML who
> > > answers my questions....
> >
> > Maybe you'll get more response if you show your codes more openly...
> > Otherwise it's just a wild guess.
> >
> 
> there we go:
> http://linuxtv.org/hg/~mrechberger/v4l-dvb?mf=598d5b40d82a;path=/v4l_experimental/usbaudio/;style=gitweb
> 
> the projectwebsite:
> http://alsa.opensrc.org/au600
> 
> the driver was always available uppon request... thought it would be
> nice to host it in an alsa development tree or so but I haven't got
> any answer regarding this a while ago.. I put it into my video4linux
> development tree now..

We can put it to alsa-driver tree and later push it to upstream when
the code is well brushed up.

So, could you post the code, or as a patch, to alsa-devel ML?
The post is easier for reviewing and correcting some issues.

But, please fix the following for the next version:

- Don't use snd_xxx_t but use struct snd_xxx.

- Follow the coding style described in Documentation/CodingStyle.
  For example, the opening brace of a function should be in the next
  line.  Also, take care about spaces.

- We have an easier procfs helper functions.

- printk() should be either a debug macro (that can be disabled
  easily) or persistent (for proper information or error messages).


Takashi

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux