From: Clemens Ladisch <clemens@ladisch.de>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: alsa-devel@alsa-project.org,
sakari.ailus@maxwell.research.nokia.com,
broonie@opensource.wolfsonmicro.com,
linux-kernel@vger.kernel.org, lennart@poettering.net,
linux-omap@vger.kernel.org, linux-media@vger.kernel.org
Subject: Re: [RFC/PATCH v6 03/12] media: Entities, pads and links
Date: Fri, 26 Nov 2010 10:10:54 +0100 [thread overview]
Message-ID: <4CEF799E.7060508@ladisch.de> (raw)
In-Reply-To: <201011251621.38757.laurent.pinchart@ideasonboard.com>
Laurent Pinchart wrote:
> On Thursday 25 November 2010 10:38:05 Clemens Ladisch wrote:
> > MEDIA_ENTITY_TYPE_NODE_ALSA_PCM
> > MEDIA_ENTITY_TYPE_NODE_ALSA_MIDI
> > MEDIA_ENTITY_TYPE_SUBDEV_ALSA_CONTROL
>
> I agree about PCM and MIDI, but I'm not sure about controls. If controls are
> part of an entity, the entity will be reported through the media controller
> API. If information about that entity can be queried through existing APIs
> (ALSA, V4L, ...) those APIs should be used.
At the moment, ALSA has no API for topology information.
> I can certainly imagine a graph with 100 controls, but maybe several
> controls can be part of the same node ?
There is indeed no strict 1:1 relation; e.g., volume and mute are often
part of the same node. So it looks we need some kind of separate ALSA
node, which can be associated with mixer controls and/or other
information.
ALSA already has is a method to query arbitrary (TLV) metadata for mixer
controls; the entity/control relationship can be stored in the control.
> I think we will need a new ioctl in the media controller API to report
> advanced information about an entity. This could be used to report controls
> implemented by an ALSA element if ALSA doesn't provide a way to do that
> directly.
This advanced information would always be specific to the entity type,
so maybe this should be part of that subsystem's API. Otherwise, the
media_entity would need a callback, or store a pointer to some memory
block (which assumes that the information is always constant).
> > Furthermore, topology information is also needed for entities not
> > associated with a mixer control, such as microphones, speakers, jacks/
> > connectors, and effect units. These entities are defined in the USB and
> > HD audio specifications, but are not yet handled by ALSA.
>
> Agreed, we will need to add new entity types and subtypes for those. The
> reason they're not part of this submission is that I wanted real use cases
> instead of coming up with a made-up list of entities I think would be useful.
The reason that I'm always mentioning the USB and HD audio specs is that
those already define entities that should cover practically all of the
audio needs. (And, of course, we want to be able to report those
entities without having to do too many conversions.)
I'll see if I can draw up the ALSA-specific media stuff over the weekend.
Regards,
Clemens
next prev parent reply other threads:[~2010-11-26 9:10 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-25 2:28 [RFC/PATCH v6 00/12] Media controller (core and V4L2) Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 01/12] media: Media device node support Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 02/12] media: Media device Laurent Pinchart
2010-11-25 9:33 ` Clemens Ladisch
2010-11-25 14:42 ` Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 03/12] media: Entities, pads and links Laurent Pinchart
2010-11-25 9:38 ` Clemens Ladisch
2010-11-25 13:41 ` Mark Brown
2010-11-25 15:29 ` [RFC/PATCH v6 03/12] [alsa-devel] " Laurent Pinchart
2010-11-25 15:35 ` [RFC/PATCH v6 03/12] " Mark Brown
2010-11-25 15:21 ` [RFC/PATCH v6 03/12] [alsa-devel] " Laurent Pinchart
2010-11-25 15:28 ` [RFC/PATCH v6 03/12] " Mark Brown
2010-11-26 9:10 ` Clemens Ladisch [this message]
2010-12-13 16:10 ` Clemens Ladisch
2010-12-14 12:00 ` [alsa-devel] " Laurent Pinchart
2010-12-14 12:40 ` Hans Verkuil
2010-12-14 12:53 ` Laurent Pinchart
2010-12-14 13:49 ` Clemens Ladisch
2010-12-14 23:50 ` Laurent Pinchart
2010-12-21 16:49 ` [alsa-devel] " Hans Verkuil
2010-12-14 13:31 ` Clemens Ladisch
2010-12-14 13:54 ` Takashi Iwai
2010-12-14 14:25 ` Laurent Pinchart
2010-12-14 15:30 ` Clemens Ladisch
2010-12-14 14:51 ` [alsa-devel] " Hans Verkuil
2010-12-14 14:57 ` Laurent Pinchart
2010-12-14 14:49 ` [alsa-devel] " Sakari Ailus
2010-11-25 13:36 ` Mark Brown
2010-11-25 15:40 ` Laurent Pinchart
2010-11-25 15:49 ` Mark Brown
2010-11-26 14:13 ` Laurent Pinchart
2010-11-26 14:14 ` Mark Brown
2010-11-28 12:34 ` Laurent Pinchart
2010-11-28 15:57 ` Hans Verkuil
2010-11-25 2:28 ` [RFC/PATCH v6 04/12] media: Entity graph traversal Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 05/12] media: Reference count and power handling Laurent Pinchart
2010-11-25 13:49 ` Mark Brown
2010-11-25 15:43 ` Laurent Pinchart
2010-11-25 17:49 ` Sakari Ailus
2010-11-25 21:47 ` Mark Brown
2010-11-28 12:33 ` Laurent Pinchart
2010-11-28 18:25 ` Mark Brown
2010-11-25 2:28 ` [RFC/PATCH v6 06/12] media: Media device information query Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 07/12] media: Entities, pads and links enumeration Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 08/12] media: Links setup Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 09/12] media: Entity locking and pipeline management Laurent Pinchart
2010-11-25 13:53 ` Mark Brown
2010-11-25 15:47 ` Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 10/12] v4l: Add a media_device pointer to the v4l2_device structure Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 11/12] v4l: Make video_device inherit from media_entity Laurent Pinchart
2010-11-25 11:38 ` Hans Verkuil
2010-11-25 14:37 ` Laurent Pinchart
2010-11-25 2:28 ` [RFC/PATCH v6 12/12] v4l: Make v4l2_subdev " Laurent Pinchart
2010-11-25 14:28 ` [RFC/PATCH v6 00/12] Media controller (core and V4L2) Mark Brown
2010-11-26 14:07 ` Laurent Pinchart
[not found] ` <201012031119.36771.laurent.pinchart@ideasonboard.com>
[not found] ` <201012031306.18520.hverkuil@xs4all.nl>
2010-12-03 13:50 ` [RFC/PATCH v6 03/12] media: Entities, pads and links Laurent Pinchart
2010-12-03 14:54 ` Mark Brown
2010-12-07 17:13 ` Hans Verkuil
2010-12-07 17:55 ` Mark Brown
2010-12-07 18:11 ` Hans Verkuil
2010-12-07 19:03 ` Mark Brown
2010-12-09 12:53 ` Laurent Pinchart
2010-12-10 16:35 ` Sakari Ailus
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=4CEF799E.7060508@ladisch.de \
--to=clemens@ladisch.de \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=lennart@poettering.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=sakari.ailus@maxwell.research.nokia.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