From: Takashi Iwai <tiwai@suse.de>
To: Harsha priya gupta <harshapriya@gmail.com>
Cc: Alsa-devel <alsa-devel@alsa-project.org>
Subject: Re: basic question on .pointer function
Date: Tue, 13 May 2008 15:44:28 +0200 [thread overview]
Message-ID: <s5h1w46e2tf.wl%tiwai@suse.de> (raw)
In-Reply-To: <827ad74d0805091121u4c42d172yc2b8e734355ff81d@mail.gmail.com>
At Fri, 9 May 2008 23:51:17 +0530,
Harsha priya gupta wrote:
>
> Thanks a lot for this pointer. A quick question;
>
> For the .pointer function, it says " This callback is called when the PCM
> middle layer inquires the current hardware position on the buffer."
>
> Does the word "PCM middle layer" mean that the MMF like Helix / Gstreamer is
> continuously querying for hardware position on the buffer? Or does the player
> keep querying?
The PCM middle layer is the common PCM routines implemented in the
ALSA driver. The pointer callback can be called from this PCM middle
layer in a couple of ways:
1. called at update of period, typically via an IRQ handler
2. called at status update, e.g. snd_pcm_status()
> I also see that this function gets called quiet a number of times. Is there a
> way to reduce these calls? My guess is that to reduce the number of calls to
> .pointer, MMF or player needs to be modified. Am I thinking right?
If the position inquiry on your hardware is too heavy, your pointer
callback may return the last period position. The pointer callback
must assure that the given position is in the current period. But,
its accuracy isn't (so far) guaranteed.
Of course, this will give apps less information, and some apps won't
work fluently. But, it's what you want.
Takashi
>
> -Harsha
>
> On Fri, May 9, 2008 at 4:26 PM, Takashi Iwai <tiwai@suse.de> wrote:
>
> At Wed, 7 May 2008 09:10:00 +0530,
> Harsha priya gupta wrote:
> >
> > Hi,
> > It would be really helpful if someone can help me understand why do we
> need
> > to implement .pointer and what does it need to do? I am facing an issue
> to
> > write a driver in this .pointer function. Please help
> >
> > Also if someone can point me to a document where all the playback_ops are
> > defined, it would be really helpful
>
> Did you check the page below?
> http://www.alsa-project.org/main/index.php/ALSA_Driver_Documentation
>
> Takashi
>
> --
> -Harsha
>
>
prev parent reply other threads:[~2008-05-13 13:44 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-07 3:40 basic question on .pointer function Harsha priya gupta
2008-05-09 10:56 ` Takashi Iwai
2008-05-09 18:21 ` Harsha priya gupta
2008-05-13 13:44 ` Takashi Iwai [this message]
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=s5h1w46e2tf.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=harshapriya@gmail.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