All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ed Wildgoose <lists@wildgooses.com>
To: alsa-devel@lists.sourceforge.net
Subject: Re: Problem with RME 9632 and Plug
Date: Wed, 04 Aug 2004 10:35:39 +0100	[thread overview]
Message-ID: <4110ADEB.9050807@wildgooses.com> (raw)
In-Reply-To: <Pine.LNX.4.58.0408040935080.1857@pnote.perex-int.cz>


>>as i mentioned, try using the pcm device name "plughw:N" where N
>>appropriate. 
>>    
>>
>
>It won't help. We don't convert count of periods in the plug plugin.
>The only one solution is that the application will start using
>an external timing source for PCM (see set/get_tick_time functions)
>- or another timer available for applications - in this case when 
>hardware has this constraint.
>  
>

Hi, as you say, no difference using "plughw:N".  Also, the plug device 
doesn't seem to help with the max period size, which on this hardware 
seems to be 2048 samples.

However, 2048 samples looks to be *just* enough to make mplayer work ok, 
but there are still some problems occuring which look like they might be 
driver related.  Main issue seems to be that the 
"snd_pcm_status_get_avail" function only returns space in whole chunk 
size blocks, ie with a 2048 sample long buffer, then I only get results 
of 2048 or 0 (you never see 4096, the driver feels that this is an 
over-run condition, which I guess is fair enough - some of the other 
drivers, eg my RME96 PAD seem to give you that one remaining tick to try 
and fill the buffer again before overflow...).  Same thing happens in 
mmap mode

Is this acceptable though for the driver to do this?  ie only return 
space in whole chunks?

The same thing is happening with: "snd_pcm_status_get_delay".  It only 
returns one of three values.  Clearly this is undesirable because it 
significantly compromises synchronisation.  However, again is it within 
spec for the driver to do this? 

As an aside, I think mplayer has sufficient code in there already to 
handle short buffers, it appears to be just a case that it's not tuned 
for buffers quite this small.  I think it should be possible fix it ok.  
But the AV-sync is still an issue.

Can I also just check correct usage for setting number of periods and 
period size. I can't see it mentioned in the docs, but empirically I 
find that I have to set period size first, then number of periods, and 
once I have asked for a period size then it's not possible to change it 
(alsa just refuses and gives me the size that I first requested).  This 
is a bit of a pain because it obviously makes it hard to ask for small 
buffers with lots of periods, then change your mind and ask for larger 
buffers when you discover that 2 periods is all you have got. 

Thanks for any help

Ed W



-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com

  reply	other threads:[~2004-08-04  9:35 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-03 13:46 Problem with RME 9632 and Plug Ed Wildgoose
2004-08-03 14:36 ` Paul Davis
2004-08-03 15:44   ` Ed Wildgoose
2004-08-03 16:21     ` Ed Wildgoose
2004-08-03 17:32       ` Paul Davis
2004-08-03 23:55         ` Ed Wildgoose
2004-08-04  0:18           ` Paul Davis
2004-08-04  7:39             ` Jaroslav Kysela
2004-08-04  9:35               ` Ed Wildgoose [this message]
2004-08-04 10:20                 ` Jaroslav Kysela
2004-08-04 11:16                   ` Ed Wildgoose
2004-08-04 12:24                     ` Paul Davis
2004-08-04 12:43                       ` Ed Wildgoose
2004-08-04 13:01                         ` Paul Davis
2004-08-04 13:31                           ` Ed Wildgoose
2004-08-04 15:13                             ` Zsolt Barat
2004-08-04 15:03                           ` Zsolt Barat
2004-08-04 15:24                             ` Paul Davis
2004-08-04 13:35                         ` James Courtier-Dutton
2004-08-04  9:44               ` Takashi Iwai
2004-08-04  9:55                 ` Ed Wildgoose
2004-08-04 10:21                   ` Ed Wildgoose
2004-08-04 10:20                 ` Jaroslav Kysela
2004-08-04 10:27                   ` Takashi Iwai
2004-08-04 10:56                     ` Jaroslav Kysela
2004-08-04 11:15                       ` Takashi Iwai
2004-08-04 10:30                   ` Ed Wildgoose
2004-08-04 10:53                     ` Jaroslav Kysela
2004-08-04 11:21                       ` Ed Wildgoose
2004-08-04  9:52             ` Ed Wildgoose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4110ADEB.9050807@wildgooses.com \
    --to=lists@wildgooses.com \
    --cc=alsa-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.