diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2009-12-09 06:39:58 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-22 03:53:09 -0400 |
commit | 176fb0d108f7495ccf9aa127e1342a1a0d87e004 (patch) | |
tree | a1b54ad186dde663853d4d2d24f42cd7c0f94bfb /Documentation/DocBook | |
parent | cf4b9211b5680cd9ca004232e517fb7ec5bf5316 (diff) |
[media] media: Media device
The media_device structure abstracts functions common to all kind of
media devices (v4l2, dvb, alsa, ...). It manages media entities and
offers a userspace API to discover and configure the media device
internal topology.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r-- | Documentation/DocBook/media-entities.tmpl | 2 | ||||
-rw-r--r-- | Documentation/DocBook/media.tmpl | 3 | ||||
-rw-r--r-- | Documentation/DocBook/v4l/media-controller.xml | 56 |
3 files changed, 61 insertions, 0 deletions
diff --git a/Documentation/DocBook/media-entities.tmpl b/Documentation/DocBook/media-entities.tmpl index d2f99e5a3a2f..c47897f046b1 100644 --- a/Documentation/DocBook/media-entities.tmpl +++ b/Documentation/DocBook/media-entities.tmpl | |||
@@ -327,6 +327,8 @@ | |||
327 | <!ENTITY sub-media-entities SYSTEM "media-entities.tmpl"> | 327 | <!ENTITY sub-media-entities SYSTEM "media-entities.tmpl"> |
328 | <!ENTITY sub-media-indices SYSTEM "media-indices.tmpl"> | 328 | <!ENTITY sub-media-indices SYSTEM "media-indices.tmpl"> |
329 | 329 | ||
330 | <!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml"> | ||
331 | |||
330 | <!-- Function Reference --> | 332 | <!-- Function Reference --> |
331 | <!ENTITY close SYSTEM "v4l/func-close.xml"> | 333 | <!ENTITY close SYSTEM "v4l/func-close.xml"> |
332 | <!ENTITY ioctl SYSTEM "v4l/func-ioctl.xml"> | 334 | <!ENTITY ioctl SYSTEM "v4l/func-ioctl.xml"> |
diff --git a/Documentation/DocBook/media.tmpl b/Documentation/DocBook/media.tmpl index a99088aae1aa..88f2cc680cc2 100644 --- a/Documentation/DocBook/media.tmpl +++ b/Documentation/DocBook/media.tmpl | |||
@@ -106,6 +106,9 @@ Foundation. A copy of the license is included in the chapter entitled | |||
106 | &sub-remote_controllers; | 106 | &sub-remote_controllers; |
107 | </chapter> | 107 | </chapter> |
108 | </part> | 108 | </part> |
109 | <part id="media_common"> | ||
110 | &sub-media-controller; | ||
111 | </part> | ||
109 | 112 | ||
110 | &sub-fdl-appendix; | 113 | &sub-fdl-appendix; |
111 | 114 | ||
diff --git a/Documentation/DocBook/v4l/media-controller.xml b/Documentation/DocBook/v4l/media-controller.xml new file mode 100644 index 000000000000..253ddb4426c9 --- /dev/null +++ b/Documentation/DocBook/v4l/media-controller.xml | |||
@@ -0,0 +1,56 @@ | |||
1 | <partinfo> | ||
2 | <authorgroup> | ||
3 | <author> | ||
4 | <firstname>Laurent</firstname> | ||
5 | <surname>Pinchart</surname> | ||
6 | <affiliation><address><email>laurent.pinchart@ideasonboard.com</email></address></affiliation> | ||
7 | <contrib>Initial version.</contrib> | ||
8 | </author> | ||
9 | </authorgroup> | ||
10 | <copyright> | ||
11 | <year>2010</year> | ||
12 | <holder>Laurent Pinchart</holder> | ||
13 | </copyright> | ||
14 | |||
15 | <revhistory> | ||
16 | <!-- Put document revisions here, newest first. --> | ||
17 | <revision> | ||
18 | <revnumber>1.0.0</revnumber> | ||
19 | <date>2010-11-10</date> | ||
20 | <authorinitials>lp</authorinitials> | ||
21 | <revremark>Initial revision</revremark> | ||
22 | </revision> | ||
23 | </revhistory> | ||
24 | </partinfo> | ||
25 | |||
26 | <title>Media Controller API</title> | ||
27 | |||
28 | <chapter id="media_controller"> | ||
29 | <title>Media Controller</title> | ||
30 | |||
31 | <section id="media-controller-intro"> | ||
32 | <title>Introduction</title> | ||
33 | <para>Media devices increasingly handle multiple related functions. Many USB | ||
34 | cameras include microphones, video capture hardware can also output video, | ||
35 | or SoC camera interfaces also perform memory-to-memory operations similar to | ||
36 | video codecs.</para> | ||
37 | <para>Independent functions, even when implemented in the same hardware, can | ||
38 | be modelled as separate devices. A USB camera with a microphone will be | ||
39 | presented to userspace applications as V4L2 and ALSA capture devices. The | ||
40 | devices' relationships (when using a webcam, end-users shouldn't have to | ||
41 | manually select the associated USB microphone), while not made available | ||
42 | directly to applications by the drivers, can usually be retrieved from | ||
43 | sysfs.</para> | ||
44 | <para>With more and more advanced SoC devices being introduced, the current | ||
45 | approach will not scale. Device topologies are getting increasingly complex | ||
46 | and can't always be represented by a tree structure. Hardware blocks are | ||
47 | shared between different functions, creating dependencies between seemingly | ||
48 | unrelated devices.</para> | ||
49 | <para>Kernel abstraction APIs such as V4L2 and ALSA provide means for | ||
50 | applications to access hardware parameters. As newer hardware expose an | ||
51 | increasingly high number of those parameters, drivers need to guess what | ||
52 | applications really require based on limited information, thereby | ||
53 | implementing policies that belong to userspace.</para> | ||
54 | <para>The media controller API aims at solving those problems.</para> | ||
55 | </section> | ||
56 | </chapter> | ||