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
debe646aa7
qcap/videocapture: Implement IAMVideoControl interface.
...
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-13 22:07:32 +02:00
Jactry Zeng
e2abd392c0
qcap/videocapture: Implement IAMFilterMiscFlags interface.
...
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-13 22:07:32 +02:00
Zebediah Figura
974971ade3
qcap/tests: Get rid of the VFW capture filter tests.
...
Most video cameras are exposed through WDM on modern Windows, and not supported
by the VFW capture filter. No known applications depend on the VFW capture
filter, and any such applications would fail to work with modern video cameras.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Jactry Zeng
fceb730098
qcap/tests: Correct CLSID in aggregation tests of smart tee filter.
...
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-13 22:07:32 +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
ecf825afc7
qcap/tests: Add interface tests for video capture filter.
...
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
Zebediah Figura
fc45c96383
qcap/filewriter: Propagate file I/O failure in file_writer_sink_receive().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 22:03:16 +02:00
Jactry Zeng
d0a926baf4
qcap/videocapture: Reimplement source_get_media_type().
...
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
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
Zebediah Figura
0eaa43357e
qcap: Register the file writer.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:14:29 +02:00
Zebediah Figura
dc78a97c30
qcap/filewriter: Post EC_COMPLETE on receiving EOS.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:14:27 +02:00
Zebediah Figura
91d0d9ec05
qcap/filewriter: Implement IAMFilterMiscFlags.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:14:25 +02:00
Zebediah Figura
28f17d8e6e
qcap/filewriter: Implement sample processing.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:14:23 +02:00
Zebediah Figura
439458af33
qcap/filewriter: Implement state change methods.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:14:21 +02:00
Zebediah Figura
a6e65dbcc6
qcap/tests: Add tests for file writer pin connection.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:14:10 +02:00
Zebediah Figura
98da3641d1
qcap/filewriter: Implement file_writer_sink_query_accept().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:14:07 +02:00
Zebediah Figura
329e0210fd
qcap/filewriter: Implement IFileSinkFilter::SetFileName().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:14:05 +02:00
Zebediah Figura
8dd8371300
qcap/filewriter: Add a stub IFileSinkFilter interface.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 09:14:03 +02:00
Zebediah Figura
18502ed9c6
qcap/filewriter: Add a stub sink pin.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 08:29:15 +02:00
Zebediah Figura
191e60c0da
qcap: Add a stub file writer filter.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40820
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 08:29:12 +02:00
Zebediah Figura
f88567ac15
qcap/tests: Remove some no longer necessary callbacks.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 08:29:09 +02:00
Zebediah Figura
d9003a0464
qcap: Search downstream pins regardless of whether the category and major type match.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48766
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:42 +02:00
Zebediah Figura
1371838deb
qcap: Iterate over all source pins in find_unconnected_source_from_filter().
...
find_unconnected_source_from_pin() already checks the category and majortype
anyway.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:33 +02:00
Zebediah Figura
952f194539
qcap: Use pin_matches() directly in find_unconnected_source_from_pin().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:31 +02:00
Zebediah Figura
74014b5539
qcap: Use separate functions when searching from a pin and filter.
...
Previously, if we tried to search from a matching but connected source, we
would loop forever.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:28 +02:00
Zebediah Figura
18462a2f16
qcap/tests: Add more tests for ICaptureGraphBuilder2::RenderStream().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:24 +02:00
Zebediah Figura
9d5a829034
qcap/tests: Add some basic tests for ICaptureGraphBuilder2::FindPin().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:20 +02:00
Zebediah Figura
b95c00abd8
qcap/tests: Use explicit source and sink structures.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:11:14 +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
0c1d931243
strmbase: Check the peer direction in source_Connect().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:41 +02:00
Zebediah Figura
7bcb8e74ce
qcap: Reimplement COM registration and vending locally.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-09 12:10:52 +01:00
Zebediah Figura
fc7477d83e
qcap/capturegraph: Implement ICaptureGraphBuilder2::FindInterface().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:56:32 +01:00
Zebediah Figura
e09be148f2
qcap/capturegraph: Return BOOL from pin_matches().
...
It is not interesting to account for IPin::QueryDirection failing.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:56:24 +01:00
Zebediah Figura
4f1df5246c
strmbase: Also match a GUID_NULL formattype as a wildcard in source_Connect().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 09:39:25 +01:00
Zebediah Figura
996c49bcff
qcap/tests: Add some more tests for smart tee pin connection.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 08:44:09 +01:00
Zebediah Figura
6f71e2c48d
strmbase: Store the filter name and graph directly in the strmbase_filter structure.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-31 10:19:52 +01:00
Zebediah Figura
d01e30052e
qcap/tests: Expand tests for smart tee aggregation.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 11:21:18 +01:00
Zebediah Figura
c366415360
strmbase: Merge enumpins.c into filter.c.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 09:45:56 +01:00
Zebediah Figura
a6aea1cecd
strmbase: Get rid of the "vtbl" parameter to strmbase_sink_init().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:57:00 +01:00
Zebediah Figura
b5ddaa1337
qcap/avico: Use base sink connection methods.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Zebediah Figura
14a51f57b6
qcap/avimux: Use strmbase sink connection methods.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Francois Gouget
194851e560
qcap/tests: Avoid an unneeded lstrlenW() call.
...
Note that achName is an array field and thus cannot be NULL.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00