linux/drivers/media
Javier Martinez Canillas daba4dfbd2 [media] exynos-gsc: don't clear format when freeing buffers with REQBUFS(0)
User-space applications can use the VIDIOC_REQBUFS ioctl to determine if a
memory mapped, user pointer or DMABUF based I/O is supported by a driver.

For example, GStreamer attempts to determine the I/O methods supported by
the driver by doing many VIDIOC_REQBUFS ioctl calls with different memory
types and count 0. And then the real VIDIOC_REQBUFS call with count == n
is be made to allocate the buffers. But for count 0, the driver not only
frees the buffers but also clears the format set before with VIDIOC_S_FMT.

This is a problem since STREAMON fails if a format isn't set but GStreamer
first sets a format and then tries to determine the supported I/O methods,
so the format will be cleared on REQBUFS(0), before the call to STREAMON.

To avoid this issue, only free the buffers on VIDIOC_REQBUFS(0) but don't
clear the format. Since is completely valid to set the format and then do
different calls to REQBUFS before a call to STREAMON.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-11-16 16:26:35 -02:00
..
cec [media] cec: zero counters in cec_received_msg() 2016-11-16 15:49:01 -02:00
common [media] vivid: Add support for HSV encoding 2016-10-21 15:54:16 -02:00
dvb-core [media] squash lines for simple wrapper functions 2016-11-16 13:28:40 -02:00
dvb-frontends [media] dvb-tc90522: Rename a jump label in tc90522_probe() 2016-11-16 12:16:52 -02:00
firewire [media] firewire: don't break long lines 2016-10-21 10:06:00 -02:00
i2c [media] cec: move the CEC framework out of staging and to media 2016-11-16 15:40:20 -02:00
mmc
pci [media] cobalt: fix copy-and-paste error 2016-11-16 15:28:13 -02:00
platform [media] exynos-gsc: don't clear format when freeing buffers with REQBUFS(0) 2016-11-16 16:26:35 -02:00
radio [media] radio: don't break long lines 2016-10-21 10:06:56 -02:00
rc [media] squash lines for simple wrapper functions 2016-11-16 13:28:40 -02:00
spi [media] gs1662: drop kfree for memory allocated with devm_kzalloc 2016-10-24 17:59:08 -02:00
tuners [media] tuners: don't break long lines 2016-10-21 10:08:13 -02:00
usb [media] uvcvideo: add support for Oculus Rift Sensor 2016-11-16 16:12:36 -02:00
v4l2-core [media] v4l: ctrls: Add deinterlacing mode control 2016-11-16 16:16:08 -02:00
cec-edid.c [media] cec-edid: check for IEEE identifier 2016-08-22 14:04:51 -03:00
Kconfig [media] cec: move the CEC framework out of staging and to media 2016-11-16 15:40:20 -02:00
Makefile [media] cec: move the CEC framework out of staging and to media 2016-11-16 15:40:20 -02:00
media-device.c [media] media: Add flags to tell whether to take graph mutex for an IOCTL 2016-09-22 10:28:40 -03:00
media-devnode.c [media] media: fix media devnode ioctl/syscall and unregister race 2016-06-15 17:59:28 -03:00
media-entity.c [media] media: Move media_device link_notify operation to an ops structure 2016-09-09 11:20:09 -03:00