From: Takashi Iwai <tiwai@suse.de>
To: Jaroslav Kysela <perex@suse.cz>
Cc: Giuliano Pochini <pochini@shiny.it>, alsa-devel@lists.sourceforge.net
Subject: Re: [PATCH] Kernel crash
Date: Fri, 17 Sep 2004 12:22:07 +0200 [thread overview]
Message-ID: <s5hvfed19gw.wl@alsa2.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0409170847400.1774@pnote.perex-int.cz>
At Fri, 17 Sep 2004 08:54:40 +0200 (CEST),
Jaroslav wrote:
>
> On Wed, 15 Sep 2004, Giuliano Pochini wrote:
>
> > snd_pcm_playback_drain() (when state=RUNNING) calls
> > snd_pcm_change_state(DRAINING). When substreams are linked, it changes the
> > state of all linked substreams *without* passing through
> > snd_pcm_capture_drain(DRAINING).
>
> Guys, it's because Takashi changed the linked stream behaviour at some
> time. The first definition for linked streams was that only start of all
> stream was linked. The drain/drop operations were separated.
No, it's because snd_pcm_*_drain() and snd_pcm_*_drop() call
snd_pcm_start(), snd_pcm_stop() and snd_pcm_change_state()
internally. These three functions change the state of all linked
streams (the last one does even unconditionally).
Well, hey, this was coded so since long long time ago ;)
> The linking makes sense for hardware that support that. Otherwise, we can
> start streams in most close time, but draining and dropping doesn't make
> much sense, because different clocking sources for different cards will
> produce jitter, thus there is no real sync and application must care.
Agreed. I've assumed that drain/drop are supposed to be synchronous,
but they should not.
> I suggest to return back to state when only snd_pcm_start()
> is synchronized.
>
> You can look to pcm_multi.c and test/latency.c - the drop/drain is called
> for all streams.
JACK does it, too.
I'll rewrite the patch now...
Takashi
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
next prev parent reply other threads:[~2004-09-17 10:22 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-09-05 18:51 Kernel crash Giuliano Pochini
2004-09-06 15:16 ` Takashi Iwai
2004-09-07 7:55 ` Giuliano Pochini
2004-09-11 19:02 ` [PATCH] " Giuliano Pochini
2004-09-13 15:00 ` Takashi Iwai
2004-09-13 20:07 ` Giuliano Pochini
2004-09-15 10:24 ` Takashi Iwai
2004-09-15 17:50 ` Giuliano Pochini
2004-09-15 18:01 ` Takashi Iwai
2004-09-16 11:16 ` Takashi Iwai
2004-09-16 19:56 ` Giuliano Pochini
2004-09-17 6:54 ` Jaroslav Kysela
2004-09-17 10:22 ` Takashi Iwai [this message]
2004-09-17 10:32 ` Takashi Iwai
2004-09-22 8:08 ` Jaroslav Kysela
2004-09-22 10:08 ` Takashi Iwai
2004-09-22 14:12 ` Giuliano Pochini
2004-09-23 7:43 ` Jaroslav Kysela
2004-09-24 13:30 ` Takashi Iwai
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=s5hvfed19gw.wl@alsa2.suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@lists.sourceforge.net \
--cc=perex@suse.cz \
--cc=pochini@shiny.it \
/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.