Commit Graph

72 Commits

Author SHA1 Message Date
Huw Davies 73281bf132 qcap: Avoid unused variable warning if v4l is absent.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-22 21:25:32 +01:00
Zebediah Figura 786d81d802 qcap: Make video capture functions CDECL.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 18:28:35 +01:00
Zebediah Figura d4ded92b02 qcap: Move v4l2 support to a new Unix library.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 18:28:35 +01:00
Zebediah Figura 8bcb4466c9 qcap: Use malloc() instead of heap_alloc().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 18:28:35 +01:00
Zebediah Figura 6de7c227ed qcap: Directly pass a VIDEOINFOHEADER pointer to the get_media_type() operation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Zebediah Figura 82abcec541 qcap: Directly pass a VIDEOINFOHEADER pointer to the get_format() operation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Zebediah Figura d00c6af248 qcap: Validate the index in AMStreamConfig_GetStreamCaps().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Zebediah Figura fa0ff00e57 qcap: Directly pass AM_MEDIA_TYPE and VIDEOINFOHEADER pointers to the get_caps() operation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Zebediah Figura 786451c1b6 qcap: Move the allocator management to vfwcapture.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 10:17:22 +01:00
Zebediah Figura 26cbb3dd6f qcap: Move the video capture streaming thread to vfwcapture.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 10:17:22 +01:00
Zebediah Figura db143ed080 qcap: Move the video capture device creation function to the function table.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 10:17:22 +01:00
Zebediah Figura 3657748a1b qcap: Move the image buffer back into the video_capture_device structure.
This undoes 7aa9a04f26.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 10:17:18 +01:00
Jeff Smith 7712a48c89 qcap: Enumerate one media type if pin format has been set.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Jeff Smith 3757956e8f qcap: Calculate image size and pitch when setting format.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
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