Commit Graph

406 Commits

Author SHA1 Message Date
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
Jeff Smith 7f86a153f1 qcap/tests: Test effect of setting stream format on media type enumeration.
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 e8bb3dbb7b qcap/avimux: Pass the correct field to CONTAINING_RECORD in impl_sink_from_strmbase_pin().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:00 +02:00
Jeff Smith 84f89605fe qcap/tests: Refactor interface testing.
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-08-28 19:28:16 +02:00
Gijs Vermeulen e13f5a1b43 qcap/tests: Remove unused enumMediaTypes in test_smart_tee_filter() (Coverity).
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:47:20 +02:00
Zebediah Figura 5e407cec53 qcap/vfwcapture: Return VFW_S_CANT_CUE from GetState(), not Pause().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 12:11:36 +02:00
Gijs Vermeulen 5df591fe01 qcap/tests: Avoid test failures in test_seeking().
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:17:24 +02:00
Zebediah Figura 44cd11ef4a qcap/smartteefilter: Return VFW_S_CANT_CUE from GetState() if paused.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 09:39:32 +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 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