diff options
author | Pawel Osciak <pawel@osciak.com> | 2011-01-12 03:57:26 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-21 19:31:35 -0400 |
commit | c4c0a78d459f2e4fcc7c4f3621a34e71ec7970d0 (patch) | |
tree | 9bdbd40352a767b5dbec95aee82d514bf65da08e /Documentation/DocBook | |
parent | 08b99e26a347441c50c1113802801a122dd1eb7a (diff) |
[media] Fix mmap() example in the V4L2 API DocBook
Correct ioctl return value handling and fix coding style issues.
[mchehab@redhat.com: return -1 is OK, according with ioctl manpages. Reverting ioctl changes]
Signed-off-by: Pawel Osciak <pawel@osciak.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r-- | Documentation/DocBook/v4l/io.xml | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/Documentation/DocBook/v4l/io.xml b/Documentation/DocBook/v4l/io.xml index d424886beda0..a9750437000c 100644 --- a/Documentation/DocBook/v4l/io.xml +++ b/Documentation/DocBook/v4l/io.xml | |||
@@ -141,63 +141,63 @@ struct { | |||
141 | } *buffers; | 141 | } *buffers; |
142 | unsigned int i; | 142 | unsigned int i; |
143 | 143 | ||
144 | memset (&reqbuf, 0, sizeof (reqbuf)); | 144 | memset(&reqbuf, 0, sizeof(reqbuf)); |
145 | reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 145 | reqbuf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
146 | reqbuf.memory = V4L2_MEMORY_MMAP; | 146 | reqbuf.memory = V4L2_MEMORY_MMAP; |
147 | reqbuf.count = 20; | 147 | reqbuf.count = 20; |
148 | 148 | ||
149 | if (-1 == ioctl (fd, &VIDIOC-REQBUFS;, &reqbuf)) { | 149 | if (-1 == ioctl (fd, &VIDIOC-REQBUFS;, &reqbuf)) { |
150 | if (errno == EINVAL) | 150 | if (errno == EINVAL) |
151 | printf ("Video capturing or mmap-streaming is not supported\n"); | 151 | printf("Video capturing or mmap-streaming is not supported\n"); |
152 | else | 152 | else |
153 | perror ("VIDIOC_REQBUFS"); | 153 | perror("VIDIOC_REQBUFS"); |
154 | 154 | ||
155 | exit (EXIT_FAILURE); | 155 | exit(EXIT_FAILURE); |
156 | } | 156 | } |
157 | 157 | ||
158 | /* We want at least five buffers. */ | 158 | /* We want at least five buffers. */ |
159 | 159 | ||
160 | if (reqbuf.count < 5) { | 160 | if (reqbuf.count < 5) { |
161 | /* You may need to free the buffers here. */ | 161 | /* You may need to free the buffers here. */ |
162 | printf ("Not enough buffer memory\n"); | 162 | printf("Not enough buffer memory\n"); |
163 | exit (EXIT_FAILURE); | 163 | exit(EXIT_FAILURE); |
164 | } | 164 | } |
165 | 165 | ||
166 | buffers = calloc (reqbuf.count, sizeof (*buffers)); | 166 | buffers = calloc(reqbuf.count, sizeof(*buffers)); |
167 | assert (buffers != NULL); | 167 | assert(buffers != NULL); |
168 | 168 | ||
169 | for (i = 0; i < reqbuf.count; i++) { | 169 | for (i = 0; i < reqbuf.count; i++) { |
170 | &v4l2-buffer; buffer; | 170 | &v4l2-buffer; buffer; |
171 | 171 | ||
172 | memset (&buffer, 0, sizeof (buffer)); | 172 | memset(&buffer, 0, sizeof(buffer)); |
173 | buffer.type = reqbuf.type; | 173 | buffer.type = reqbuf.type; |
174 | buffer.memory = V4L2_MEMORY_MMAP; | 174 | buffer.memory = V4L2_MEMORY_MMAP; |
175 | buffer.index = i; | 175 | buffer.index = i; |
176 | 176 | ||
177 | if (-1 == ioctl (fd, &VIDIOC-QUERYBUF;, &buffer)) { | 177 | if (-1 == ioctl (fd, &VIDIOC-QUERYBUF;, &buffer)) { |
178 | perror ("VIDIOC_QUERYBUF"); | 178 | perror("VIDIOC_QUERYBUF"); |
179 | exit (EXIT_FAILURE); | 179 | exit(EXIT_FAILURE); |
180 | } | 180 | } |
181 | 181 | ||
182 | buffers[i].length = buffer.length; /* remember for munmap() */ | 182 | buffers[i].length = buffer.length; /* remember for munmap() */ |
183 | 183 | ||
184 | buffers[i].start = mmap (NULL, buffer.length, | 184 | buffers[i].start = mmap(NULL, buffer.length, |
185 | PROT_READ | PROT_WRITE, /* recommended */ | 185 | PROT_READ | PROT_WRITE, /* recommended */ |
186 | MAP_SHARED, /* recommended */ | 186 | MAP_SHARED, /* recommended */ |
187 | fd, buffer.m.offset); | 187 | fd, buffer.m.offset); |
188 | 188 | ||
189 | if (MAP_FAILED == buffers[i].start) { | 189 | if (MAP_FAILED == buffers[i].start) { |
190 | /* If you do not exit here you should unmap() and free() | 190 | /* If you do not exit here you should unmap() and free() |
191 | the buffers mapped so far. */ | 191 | the buffers mapped so far. */ |
192 | perror ("mmap"); | 192 | perror("mmap"); |
193 | exit (EXIT_FAILURE); | 193 | exit(EXIT_FAILURE); |
194 | } | 194 | } |
195 | } | 195 | } |
196 | 196 | ||
197 | /* Cleanup. */ | 197 | /* Cleanup. */ |
198 | 198 | ||
199 | for (i = 0; i < reqbuf.count; i++) | 199 | for (i = 0; i < reqbuf.count; i++) |
200 | munmap (buffers[i].start, buffers[i].length); | 200 | munmap(buffers[i].start, buffers[i].length); |
201 | </programlisting> | 201 | </programlisting> |
202 | </example> | 202 | </example> |
203 | 203 | ||