All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomas Carnecky <tom@dbservice.com>
To: alsa-devel@alsa-project.org
Subject: Re: What does snd_pcm_delay() actually return?
Date: Wed, 11 Jun 2008 23:40:24 +0200	[thread overview]
Message-ID: <48504648.5020000@dbservice.com> (raw)
In-Reply-To: <g2pc9p$16h$1@ger.gmane.org>

Colin Guthrie wrote:
> AFAIK, the way Wine uses snd_pcm_delay() is to check when a sample is 
> fully played. e.g. they wait for the function to return 0. I think this 
> was done due to the docs specifically say that it is the "difference 
> between appl_ptr and hw_ptr" so it makes sense to assume this will 
> return 0 when there is nothing waiting to be played. I would strongly 
> recommend that you remove the implementation detail from the (supposedly 
> high level) docs.

Wine needs to know when a particular sample has been played by the 
hardware. And it should be reasonably accurate as some applications may 
depend on that timing. Currently Wine accounts for how many bytes it has 
written into the device, and then uses 'bytes_written - 
frames_to_bytes(snd_pcm_delay())' to find out which samples have been 
played. AFAICS alsa has no dedicated function to find out which samples 
have been played, so Wine is forced to emulate it using snd_pcm_delay(). 
If there is any function at all that would be more appropriate in that 
situation, please tell the Wine developers.

tom

  reply	other threads:[~2008-06-11 21:40 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-09 19:02 What does snd_pcm_delay() actually return? Lennart Poettering
2008-06-10 14:01 ` RafałMużyło
2008-06-10 14:36 ` James Courtier-Dutton
2008-06-11 16:56 ` Takashi Iwai
2008-06-11 20:24   ` Colin Guthrie
2008-06-11 21:40     ` Tomas Carnecky [this message]
2008-06-12 10:25     ` Takashi Iwai
2008-06-12 11:51       ` Colin Guthrie
2008-06-12 12:08         ` Takashi Iwai
2008-06-12 21:00           ` Lennart Poettering
2008-06-13  6:22             ` Takashi Iwai
2008-06-12 20:52   ` Lennart Poettering
2008-06-13  6:13     ` Takashi Iwai
2008-06-13 13:51       ` Lennart Poettering
2008-06-13 13:55         ` Jaroslav Kysela
2008-06-13 14:29           ` Lennart Poettering
2008-06-13  6:59     ` Takashi Iwai
2008-06-13  8:14       ` Jaroslav Kysela
2008-06-13 10:14         ` James Courtier-Dutton
2008-06-13 12:44           ` Colin Guthrie
2008-06-13 13:06             ` Jaroslav Kysela
2008-06-13 14:48               ` Lennart Poettering
2008-06-13 15:02                 ` Jaroslav Kysela
2008-06-13 15:42                   ` Takashi Iwai
2008-06-17  0:53                     ` Eliot Blennerhassett
2008-06-13 14:38           ` Lennart Poettering
2008-06-13 15:27         ` Takashi Iwai
2008-06-13 15:44           ` Jaroslav Kysela
2008-06-13 15:59             ` Takashi Iwai
2008-06-13 16:20               ` Jaroslav Kysela
2008-06-13 16:38                 ` Takashi Iwai
2008-06-13 16:48                   ` Takashi Iwai
2008-06-13 19:55                 ` James Courtier-Dutton
2008-06-16 12:07                   ` Jaroslav Kysela
2008-06-19 17:59                     ` Lennart Poettering
2008-06-13 19:59                 ` James Courtier-Dutton
2008-06-13 14:25       ` Lennart Poettering
2008-06-13 15:55         ` Takashi Iwai
2008-06-13 16:11           ` Jaroslav Kysela
2008-06-13 16:26             ` Takashi Iwai
2008-06-13 16:47               ` Jaroslav Kysela
2008-06-13 16:52                 ` Takashi Iwai
2008-06-13 17:37                   ` Jaroslav Kysela
2008-06-13 18:23                     ` Takashi Iwai
2008-06-13 18:48                     ` Lennart Poettering
2008-06-13 18:43                 ` Lennart Poettering
2008-06-13 18:29               ` Lennart Poettering
2008-06-13 18:46                 ` Takashi Iwai
2008-06-13 19:01                   ` Lennart Poettering
2008-06-13 19:05                     ` Takashi Iwai
2008-06-13 18:22           ` Lennart Poettering
2008-06-13 18:32             ` Takashi Iwai
2008-06-14  9:51             ` James Courtier-Dutton

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=48504648.5020000@dbservice.com \
    --to=tom@dbservice.com \
    --cc=alsa-devel@alsa-project.org \
    /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.