Commit Graph

58 Commits

Author SHA1 Message Date
Zebediah Figura 6d675064f8 qcap: Use a condition variable to synchronize with the video capture thread.
This fixes a hang that can be triggered by calling Pause() followed by Stop().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Zebediah Figura ebd4b38f90 qcap: Pass a single AM_MEDIA_TYPE pointer to get_format().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Zebediah Figura 8ad3707443 qcap: Use a function table for video capture driver operations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Zebediah Figura 9e035293b1 qcap: Combine the internal header files.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-29 21:07:43 +02:00
Jactry Zeng 832fec3e54 qcap/videocapture: Initialize caps struct.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 23:07:44 +02:00
Jactry Zeng c8b1b993ad qcap/videocapture: Implement IAMStreamConfig::GetStreamCaps().
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 22:00:58 +02:00
Jactry Zeng d8fd16f139 qcap/videocapture: Implement IAMStreamConfig::GetNumberOfCapabilities().
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 22:00:58 +02:00
Jactry Zeng 5df9f7b352 qcap/videocapture: Remove code for resizing.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 22:00:58 +02:00
Jactry Zeng 9931952a86 qcap/videocapture: Use formats from capabilities instead of hard coding.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 22:00:58 +02:00
Jactry Zeng 1990df8511 qcap/videocapture: Store capabilities information.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 22:00:58 +02:00
Alexandre Julliard 0c43293862 qcap: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:19 +02:00
Zebediah Figura 84e55192fa qcap: Rework v4l2 state change logic.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:09 +01:00
Zebediah Figura ce9af91cec qcap/vfwcapture: Call IMemInputPin::Receive() directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 09:47:13 +01:00
Zebediah Figura e1150b8632 qcap: Use strmbase_dump_media_type() where appropriate.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 10:00:53 +02:00
Zebediah Figura c585931d61 strmbase: Get rid of the BaseOutputPin typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-13 10:37:37 +02:00
Zebediah Figura 16322578c4 qcap/vfwcapture: Store the source pin inline in the VfwCapture structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-26 09:34:19 +02:00
Damjan Jovanovic 24ed16e896 qcap/vfwcapture: Implement IPin::CheckMediaType().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 19:34:32 +02:00
Martin Storsjo 2c42d5ee4d qcap: Fix compilation with older videodev2.h.
Older videodev2.h lack the V4L2_CAP_DEVICE_CAPS define and
the device_caps field in the v4l2_capability struct.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Zebediah Figura a16a190f63 qcap: Use the v4l2 device_caps field if supported.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:18:57 +02:00
Zebediah Figura 7aa9a04f26 qcap: Make the image buffer a local variable.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:23 +02:00
Zebediah Figura 2011518d30 qcap: Get rid of an unnecessary allocation and copy.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:21 +02:00
Zebediah Figura e32dead363 qcap: Get rid of V4l_GetFrame().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:19 +02:00
Zebediah Figura bc42cc4279 qcap: Get rid of V4l_Prepare().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:16 +02:00
Zebediah Figura b42f79129d qcap: Get rid of V4l_Unprepare().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 09:15:14 +02:00
Zebediah Figura 7ac1306714 qcap: Get rid of no longer used YUV to RGB conversion routines.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:43:15 +02:00
Zebediah Figura 0423d5e65a qcap: Require libv4l2 to perform pixel format translation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:43:15 +02:00
Zebediah Figura 34ef3c89ad qcap: Port to libv4l2.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 18:43:15 +02:00
Alex Henrie 6a1a2e8288 qcap: Make constants 'msg' and 'VFWIndex' static.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 16:13:10 +01:00
Alexandre Julliard bcc36abd88 qcap: Fix build when O_CLOEXEC isn't defined.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 13:35:22 -05:00
Wei Xie dfd22fb294 qcap: Add O_CLOEXEC flag to prevent child process from inheriting handles.
Signed-off-by: Wei Xie <xiewei@linuxdeepin.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 21:45:21 +01:00
Jactry Zeng 6530824ab3 qcap: Avoid call LeaveCriticalSection() repeatedly.
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 19:38:14 +01:00
Francois Gouget 77f29bcdc0 qcap: Remove unneeded NONAMELESSXXX directives. 2015-03-18 19:38:58 +09:00
Frédéric Delanoy 7715684ff7 qcap: Use BOOL type where appropriate. 2014-03-21 11:18:02 +01:00
Francois Gouget e920d1a661 qcap: Fix compilation on systems that have v4l1 but not VIDIOCMCAPTURE & co. 2013-03-06 17:40:58 +01:00
Damjan Jovanovic 632d82f4ac qcap: Use the BaseOutputPin's IMemAllocator. 2013-01-15 12:18:17 +01:00
Dmitry Timoshkov 98166a5980 qcap: Fix compilation on older systems. 2013-01-15 12:10:56 +01:00
Damjan Jovanovic 8d4f636d54 qcap: Use libv4l1.h when available, instead of linux/videodev.h which is deprecated/obsolete. 2013-01-14 11:18:04 +01:00
Marcus Meissner 524ff6fe27 qcap: Fixed a use after free in error path (Coverity). 2012-08-20 10:55:28 +02:00
Francois Gouget c7cb3e6cb2 configure: Use errno.h instead of the non-standard sys/errno.h header. 2011-12-15 17:46:38 +01:00
Alexandre Julliard b870cd1a16 qcap: Include system headers before Windows headers. 2011-09-06 13:25:50 +02:00
Aric Stewart 5c1409b55f strmbase: Move OutputPin implementation to strmbase. 2010-10-06 20:46:48 +02:00
Michael Stefaniuc 91c7d4f909 qcap: Use the proper types. 2010-05-19 16:57:59 +02:00
Paul Chitescu d643748c94 qcap: Test the correct variable when deciding how to grab V4L frame. 2010-02-02 14:11:14 +01:00
Maarten Lankhorst bf6f0750cd qcap: Add optional dependency on libv4l. 2010-01-29 14:59:03 +01:00
Michael Stefaniuc 7ef5f44bb5 include: Change long to LONG in axextend.idl. 2009-03-12 13:09:54 +01:00
Michael Stefaniuc 6f49003106 qcap: Remove superfluous casts. 2009-01-08 12:54:32 +01:00
Andrew Talbot 90d83c42a2 qcap: Assign to structs instead of using memcpy. 2008-03-13 11:30:21 +01:00
Andrew Talbot 69c984b9f2 qcap: Remove unneeded casts. 2008-01-16 12:16:04 +01:00
Andrew Talbot 48dcc3fc04 qcap: Constify some variables. 2007-08-07 12:37:47 +02:00
Jan Zerebecki 614ee8314d qcap: Add DebugInfo to critical sections. 2007-03-12 13:39:21 +01:00