alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Mack <zonque@gmail.com>
To: Daniel Mack <zonque@gmail.com>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de, clemens@ladisch.de,
	gdiffey@gmail.com, linuxaudio@showlabor.de, blablack@gmail.com
Subject: Re: [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic
Date: Mon, 31 Oct 2011 13:38:20 +0100	[thread overview]
Message-ID: <4EAE96BC.6060605@gmail.com> (raw)
In-Reply-To: <1320063030-3502-1-git-send-email-zonque@gmail.com>

On 10/31/2011 01:10 PM, Daniel Mack wrote:
> I didn't sign-off the patches on purpose, as I would really like to
> get them reviewed before they go in. Can people have a look and state
> whether the whole idea is at all sane?

To briefly state the idea as such: the new implementation defines a 
model (snd_usb_endpoint) that handles everything that is related to an 
USB endpoint and its streaming. There are functions to activate and 
deactivate an endpoint (which call usb_set_interface()), and to start 
and stop its URBs. It also has function pointers to be called when data 
was received or is about to be sent, and pointer to a sync slave 
(another snd_usb_endpoint) that is informed when data has been received. 
A snd_usb_endpoint knows about its state and implements a refcounting, 
so only the first user will actually start the URBs and only the last 
one to stop it will tear them down again.

With this sort of abstraction, the actual streaming is decoupled from 
the pcm handling, which makes the "implicit feedback" mechanisms easy to 
implement. All the code that actually handles the payload of a stream's 
packets is now implemented in pcm.c, which is were it belongs to.

But I'm sure there are some unresolved corner cases which need attention.


Daniel

  parent reply	other threads:[~2011-10-31 12:38 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-31 12:10 [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic Daniel Mack
2011-10-31 12:10 ` [PATCH 1/5] ALSA: snd-usb: implement new endpoint streaming model Daniel Mack
2011-11-01 20:57   ` Clemens Ladisch
2011-11-02  8:36     ` Daniel Mack
2011-11-02 10:26   ` Clemens Ladisch
2011-11-02 14:29     ` Daniel Mack
2011-11-02 15:49       ` Clemens Ladisch
2011-11-03 15:21         ` Daniel Mack
2011-11-03 16:42           ` Clemens Ladisch
2011-10-31 12:10 ` [PATCH 2/5] ALSA: snd-usb: switch over to new endpoint streaming logic Daniel Mack
2011-11-01 20:57   ` Clemens Ladisch
2011-11-02 15:58     ` Takashi Iwai
2011-11-02 16:18       ` Clemens Ladisch
2011-11-02 16:18         ` Takashi Iwai
2011-11-02 22:01       ` Torsten Schenk
2011-11-18 14:44         ` Daniel Mack
2011-11-18 14:41     ` Daniel Mack
2011-10-31 12:10 ` [PATCH 3/5] ALSA: snd-usb: remove old " Daniel Mack
2011-10-31 12:10 ` [PATCH 4/5] ALSA: snd-usb: set MAX_URBS to 16 Daniel Mack
2011-11-01 20:57   ` Clemens Ladisch
2011-10-31 12:10 ` [PATCH 5/5] ALSA: snd-usb: add support for implicit feedback Daniel Mack
2011-10-31 12:38 ` Daniel Mack [this message]
2011-11-01  8:50   ` [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic Aurélien Leblond
2011-11-01  9:15     ` Daniel Mack
2011-11-01  9:40       ` Felix Homann
2011-11-01 10:25         ` Daniel Mack
2011-11-01 10:39           ` Felix Homann
2011-11-01 12:11             ` Daniel Mack
2011-11-01 13:59               ` Grant Diffey
2011-11-01 15:36               ` Takashi Iwai
2011-11-01 16:19   ` Takashi Iwai
2011-11-01 19:03     ` Felix Homann
2011-11-02  6:49       ` Takashi Iwai
2011-11-02  8:27     ` Daniel Mack

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=4EAE96BC.6060605@gmail.com \
    --to=zonque@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=blablack@gmail.com \
    --cc=clemens@ladisch.de \
    --cc=gdiffey@gmail.com \
    --cc=linuxaudio@showlabor.de \
    --cc=tiwai@suse.de \
    /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;
as well as URLs for NNTP newsgroup(s).