diff options
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r-- | Documentation/DocBook/media/v4l/dev-event.xml | 30 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml | 15 |
2 files changed, 36 insertions, 9 deletions
diff --git a/Documentation/DocBook/media/v4l/dev-event.xml b/Documentation/DocBook/media/v4l/dev-event.xml index be5a98fb4fab..f14ae3fe107c 100644 --- a/Documentation/DocBook/media/v4l/dev-event.xml +++ b/Documentation/DocBook/media/v4l/dev-event.xml | |||
@@ -1,9 +1,10 @@ | |||
1 | <title>Event Interface</title> | 1 | <title>Event Interface</title> |
2 | 2 | ||
3 | <para>The V4L2 event interface provides means for user to get | 3 | <para>The V4L2 event interface provides a means for a user to get |
4 | immediately notified on certain conditions taking place on a device. | 4 | immediately notified on certain conditions taking place on a device. |
5 | This might include start of frame or loss of signal events, for | 5 | This might include start of frame or loss of signal events, for |
6 | example. | 6 | example. Changes in the value or state of a V4L2 control can also be |
7 | reported through events. | ||
7 | </para> | 8 | </para> |
8 | 9 | ||
9 | <para>To receive events, the events the user is interested in first must | 10 | <para>To receive events, the events the user is interested in first must |
@@ -15,12 +16,31 @@ | |||
15 | 16 | ||
16 | <para>The event subscriptions and event queues are specific to file | 17 | <para>The event subscriptions and event queues are specific to file |
17 | handles. Subscribing an event on one file handle does not affect | 18 | handles. Subscribing an event on one file handle does not affect |
18 | other file handles. | 19 | other file handles.</para> |
19 | </para> | ||
20 | 20 | ||
21 | <para>The information on dequeueable events is obtained by using select or | 21 | <para>The information on dequeueable events is obtained by using select or |
22 | poll system calls on video devices. The V4L2 events use POLLPRI events on | 22 | poll system calls on video devices. The V4L2 events use POLLPRI events on |
23 | poll system call and exceptions on select system call. </para> | 23 | poll system call and exceptions on select system call.</para> |
24 | |||
25 | <para>Starting with kernel 3.1 certain guarantees can be given with | ||
26 | regards to events:<orderedlist> | ||
27 | <listitem> | ||
28 | <para>Each subscribed event has its own internal dedicated event queue. | ||
29 | This means that flooding of one event type will not interfere with other | ||
30 | event types.</para> | ||
31 | </listitem> | ||
32 | <listitem> | ||
33 | <para>If the internal event queue for a particular subscribed event | ||
34 | becomes full, then the oldest event in that queue will be dropped.</para> | ||
35 | </listitem> | ||
36 | <listitem> | ||
37 | <para>Where applicable, certain event types can ensure that the payload | ||
38 | of the oldest event that is about to be dropped will be merged with the payload | ||
39 | of the next oldest event. Thus ensuring that no information is lost, but only an | ||
40 | intermediate step leading up to that information. See the documentation for the | ||
41 | event you want to subscribe to whether this is applicable for that event or not.</para> | ||
42 | </listitem> | ||
43 | </orderedlist></para> | ||
24 | 44 | ||
25 | <!-- | 45 | <!-- |
26 | Local Variables: | 46 | Local Variables: |
diff --git a/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml b/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml index 975f603a42ee..039a9694fd1d 100644 --- a/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml +++ b/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml | |||
@@ -100,7 +100,7 @@ | |||
100 | <entry><constant>V4L2_EVENT_VSYNC</constant></entry> | 100 | <entry><constant>V4L2_EVENT_VSYNC</constant></entry> |
101 | <entry>1</entry> | 101 | <entry>1</entry> |
102 | <entry>This event is triggered on the vertical sync. | 102 | <entry>This event is triggered on the vertical sync. |
103 | This event has &v4l2-event-vsync; associated with it. | 103 | This event has a &v4l2-event-vsync; associated with it. |
104 | </entry> | 104 | </entry> |
105 | </row> | 105 | </row> |
106 | <row> | 106 | <row> |
@@ -118,7 +118,7 @@ | |||
118 | matches the control ID from which you want to receive events. | 118 | matches the control ID from which you want to receive events. |
119 | This event is triggered if the control's value changes, if a | 119 | This event is triggered if the control's value changes, if a |
120 | button control is pressed or if the control's flags change. | 120 | button control is pressed or if the control's flags change. |
121 | This event has &v4l2-event-ctrl; associated with it. This struct | 121 | This event has a &v4l2-event-ctrl; associated with it. This struct |
122 | contains much of the same information as &v4l2-queryctrl; and | 122 | contains much of the same information as &v4l2-queryctrl; and |
123 | &v4l2-control;. | 123 | &v4l2-control;. |
124 | 124 | ||
@@ -126,6 +126,13 @@ | |||
126 | &VIDIOC-S-EXT-CTRLS;, then the event will not be sent to | 126 | &VIDIOC-S-EXT-CTRLS;, then the event will not be sent to |
127 | the file handle that called the ioctl function. This prevents | 127 | the file handle that called the ioctl function. This prevents |
128 | nasty feedback loops. | 128 | nasty feedback loops. |
129 | |||
130 | This event type will ensure that no information is lost when | ||
131 | more events are raised than there is room internally. In that | ||
132 | case the &v4l2-event-ctrl; of the second-oldest event is kept, | ||
133 | but the <structfield>changes</structfield> field of the | ||
134 | second-oldest event is ORed with the <structfield>changes</structfield> | ||
135 | field of the oldest event. | ||
129 | </entry> | 136 | </entry> |
130 | </row> | 137 | </row> |
131 | <row> | 138 | <row> |
@@ -147,8 +154,8 @@ | |||
147 | <entry>0x0001</entry> | 154 | <entry>0x0001</entry> |
148 | <entry>When this event is subscribed an initial event will be sent | 155 | <entry>When this event is subscribed an initial event will be sent |
149 | containing the current status. This only makes sense for events | 156 | containing the current status. This only makes sense for events |
150 | that are triggered by a status change. Other events will ignore | 157 | that are triggered by a status change such as <constant>V4L2_EVENT_CTRL</constant>. |
151 | this flag.</entry> | 158 | Other events will ignore this flag.</entry> |
152 | </row> | 159 | </row> |
153 | </tbody> | 160 | </tbody> |
154 | </tgroup> | 161 | </tgroup> |