From: Adrian McMenamin <adrian@mcmen.demon.co.uk>
To: Lee Revell <rlrevell@joe-job.com>
Cc: Clemens Ladisch <clemens@ladisch.de>, alsa-devel@alsa-project.org
Subject: Re: PCM driver only plays tiny portion of clip
Date: Thu, 02 Mar 2006 20:49:23 +0000 [thread overview]
Message-ID: <1141332564.9233.6.camel@localhost.localdomain> (raw)
In-Reply-To: <1141245699.5860.224.camel@mindpipe>
On Wed, 2006-03-01 at 15:41 -0500, Lee Revell wrote:
>
> In this example the period (# of frames between interrupts) is 256. So
> if the app is waiting to write 512 frames (by setting the avail_min
> software parameter) it will be woken up every other interrupt. (This
> example only makes sense if there are more than 2 periods per buffer,
> otherwise the app is constantly overwriting the data that the hardware
> is playing).
>
> Lee
I think I have a good idea why my it is not working now - the DMA
routine which transfers sound samples from the main CPU memory to the
ring buffer of the hardware (which is effectively in a different memory
space) is in a kernel thread which, in essence, never gets rescheduled -
so the app thinks there is sound to be transferred but it never is -
hence it gets wedged.
To fix that I need to know what the alsa subsystem calls inside the
driver when it wants a DMA transfer to resume - I have to reschedule the
kernel thread there.
(I have to use a kernel thread or at least something similar to ensure
that the trigger callback remains atomic due to the nature of the SH
DMAC API.)
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
next prev parent reply other threads:[~2006-03-02 20:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-27 16:07 PCM driver only plays tiny portion of clip Adrian McMenamin
2006-02-27 17:26 ` Clemens Ladisch
2006-02-27 17:35 ` Adrian McMenamin
2006-02-28 7:30 ` Clemens Ladisch
2006-02-28 9:10 ` Adrian McMenamin
2006-02-28 14:55 ` Clemens Ladisch
2006-02-28 15:14 ` Adrian McMenamin
2006-02-28 17:08 ` Clemens Ladisch
2006-02-28 17:36 ` Adrian McMenamin
2006-03-01 19:10 ` Adrian McMenamin
2006-03-01 19:31 ` Lee Revell
2006-03-01 19:40 ` Adrian McMenamin
2006-03-01 19:59 ` Lee Revell
2006-03-01 20:20 ` Adrian McMenamin
2006-03-01 20:31 ` Lee Revell
2006-03-01 20:28 ` Adrian McMenamin
2006-03-01 20:41 ` Lee Revell
2006-03-02 20:49 ` Adrian McMenamin [this message]
2006-03-03 7:27 ` Clemens Ladisch
2006-03-03 7:42 ` Adrian McMenamin
2006-03-03 8:12 ` Lee Revell
[not found] ` <1141373843.9229.4.camel@localhost.localdomain>
2006-03-03 8:45 ` Lee Revell
2006-03-03 8:18 ` Lee Revell
2006-03-03 8:36 ` Lee Revell
2006-03-01 19:45 ` Adrian McMenamin
2006-02-27 23:08 ` Adrian McMenamin
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=1141332564.9233.6.camel@localhost.localdomain \
--to=adrian@mcmen.demon.co.uk \
--cc=alsa-devel@alsa-project.org \
--cc=clemens@ladisch.de \
--cc=rlrevell@joe-job.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox