Commit Graph

1840 Commits

Author SHA1 Message Date
Zebediah Figura 7595461f77 quartz/vmr9: Return VFW_E_TYPE_NOT_ACCEPTED when connection fails.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-25 09:51:00 +02:00
Zebediah Figura 6e8b2dcc26 quartz/vmr9: Remove support for 16-bit RGB from the VMR7.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:11:51 +02:00
Zebediah Figura 530cb0da4d quartz/vmr9: Remove support for 15-bit RGB from the VMR7.
This was never correct; 15-bit RGB has a biBitCount of 16.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:11:48 +02:00
Zebediah Figura ceceba2ec2 quartz/vmr9: Remove support for 8-bit RGB from the VMR7.
This was never correct; 8-bit RGB is always palettized.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 10:11:45 +02:00
Zebediah Figura 339dbc586a quartz/vmr9: Allow connecting with YUV formats.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-20 14:40:57 +02:00
Zebediah Figura 4eb58312d6 quartz/vmr9: Avoid leaking the surface array on connection failure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-20 14:40:57 +02:00
Zebediah Figura c4f92087af quartz/vmr9: Invert only RGB video.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-20 14:40:57 +02:00
Zebediah Figura 46a6dd0824 quartz/vmr9: The source pitch is the width of the Y plane for planar 4:2:0 formats.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-20 14:40:57 +02:00
Zebediah Figura d417802015 quartz/vmr9: Align the source pitch to a multiple of 4.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-20 14:40:57 +02:00
Zebediah Figura 717784efc9 quartz/vmr9: Merge VMR9_SendSampleData() into VMR9_DoRenderSample().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-20 14:40:57 +02:00
Zebediah Figura 15303e5401 quartz: Implement IFilterGraph2::RenderEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35215
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 11:25:05 +02:00
Zebediah Figura c603a5bfbc quartz: Combine IGraphBuilder::Render() and IGraphBuilder::Connect() into a single helper.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 11:25:00 +02:00
Zebediah Figura 2ddc3e4758 quartz/tests: Test autoplugging order.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 11:24:56 +02:00
Zebediah Figura cdab25b03a quartz: Try to connect all source pins when autoplugging from the registry.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 11:24:38 +02:00
Zebediah Figura 5161554b9d quartz/tests: Relax some timings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Akihiro Sagawa bd28efb4c7 winegstreamer: Also wait for EOS events when retrieving duration.
The mpegaudioparse element will not send a duration-changed message if no
Xing or VBRI headers are present.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Zebediah Figura 5444ce2f0d quartz/vmr9: Get rid of VMR9_ImagePresenter_PresentOffscreenSurface().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Zebediah Figura 408a3074c4 quartz/vmr9: Implement IVMRWindowlessControl9::SetAspectRatioMode().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35215
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Zebediah Figura 8dcd253e06 quartz/vmr9: Trace the arguments to IVMRWindowlessControl9::SetVideoPosition().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-14 19:35:20 +02:00
Anton Baskanov ff38669c1a quartz/filtergraph: Always sort filter list before use.
Some applications (e.g. Earth 2150) call IPin::Connect directly
instead of IFilterGraph::ConnectDirect.

Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 19:26:05 +02:00
Anton Baskanov e92c851d95 quartz/filtergraph: Count renderers in IMediaControl::Pause and ::Run.
Some filters (e.g. MediaStreamFilter) can become renderers when they are already in the graph.

Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 10:50:28 +02:00
Anton Baskanov 609a832a56 quartz/filtergraph: Always try to query IMediaSeeking if it's not cached yet.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 10:50:28 +02:00
Zebediah Figura 05f319a394 strmbase: Release the allocator in IPin::Disconnect() (Valgrind).
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 12:12:54 +02:00
Zebediah Figura 4beda16757 quartz: Free type libraries on process detach (Valgrind).
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Zebediah Figura 036fcf96c8 quartz/tests: Avoid leaking the media type from IPin::ConnectionMediaType() (Valgrind).
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Gijs Vermeulen 2680b076e3 quartz/filtergraph: Add a stub IVideoFrameStep interface.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42372
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-06-08 21:01:33 +02:00
Alex Henrie 56e72e071d quartz/tests: Fix overflow in 32-bit time calculation.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:39 +02:00
Jacek Caban 2ad5d4f159 quartz/tests: Fix -Wabsolute-value warnings.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Zebediah Figura e48fabff52 quartz/vmr9: Trace argument values instead of omitting them.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:06:11 +02:00
Zebediah Figura c6abb3b241 quartz/vmr9: Get rid of CreateRenderingWindow().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:06:07 +02:00
Zebediah Figura 6ccbc0579d quartz/vmr9: Remove the unused "allocator_mon" field.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:06:01 +02:00
Zebediah Figura aa44879a09 quartz/vmr9: Don't expose IVMRSurfaceAllocatorEx9 from the default presenter.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:05:55 +02:00
Zebediah Figura 39489e4d01 quartz/vmr9: Don't query for IVMRSurfaceAllocatorEx9.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:05:51 +02:00
Zebediah Figura f020fe051b quartz/vmr9: Use TRACE for some implemented methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:05:46 +02:00
Zebediah Figura dc93d5f856 quartz/vmr9: Fake success from IVMRMixerConrol9::SetMixingPrefs().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 22:05:39 +02:00
Zebediah Figura 9f72f8c2c3 quartz: Merge enummoniker.c into filtermapper.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 10:50:00 +02:00
Zebediah Figura d42b598399 quartz: Merge enumregfilters.c into filtermapper.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 10:49:57 +02:00
Zebediah Figura f7718d6453 quartz/tests: Move the test for filter mapper aggregation to filtergraph.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-20 10:49:47 +02:00
Zebediah Figura fe5292bf50 quartz: Implement IMediaControl::StopWhenReady().
This allows The Bunker to exit cleanly.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 11:04:43 +02:00
Zebediah Figura 925e5ddefe quartz: Complain louder if a filter reports the wrong state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-19 11:04:41 +02:00
Zebediah Figura 11af7a02bf quartz/filtergraph: Get rid of tracing for outer IUnknown methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:09:20 +02:00
Zebediah Figura 06674113f9 quartz/tests: Relax an intermittently failing test.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:09:17 +02:00
Zebediah Figura 1e9d3ff322 quartz/tests: Fix a test failure in Windows 7 and higher.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:09:15 +02:00
Zebediah Figura 6b9bc1bff5 quartz/tests: Fix a crash in test_renderless_formats().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 12:09:13 +02:00
Zebediah Figura 9e26bc8116 quartz/tests: Test enumerating DMOs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 23:21:57 +02:00
Zebediah Figura d83167f75c quartz: Pass the matching filter count to IEnumRegFiltersImpl_Construct().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 23:21:52 +02:00
Zebediah Figura 87e1df02af quartz/tests: Fix a leak in test_fm2_enummatchingfilters().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 23:21:50 +02:00
Zebediah Figura e1c57c27cd quartz/tests: Test filter mapper interfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 23:21:48 +02:00
Nikolay Sivov 033713b0ae quartz/dsoundrenderer: Remove dead method call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 23:14:34 +02:00
Zebediah Figura 3145b67273 quartz/tests: Fix a crash in test_allocate_surface_helper().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 20:59:36 +02:00
Zebediah Figura 040227e5b3 quartz/vmr9: Allocate the surface array in allocate_surfaces().
Avoid allocating it twice if we try multiple formats.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura e15c13c592 quartz/vmr9: Set the stream count to 4 in IVMRWindowlessControl9::SetVideoClippingWindow().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura 5dbede68f8 quartz/vmr9: Add IVMRMixerControl9.
Needed by Sniper Fury and Modern Combat 5.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura 2d77107823 quartz/vmr9: Implement IVMRFilterConfig9::GetNumberOfStreams().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura 14decee4ca quartz/vmr9: Partially implement IVMRFilterConfig9::SetNumberOfStreams().
Devil May Cry 3 expects this to succeed, although it only uses one stream.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 08:50:15 +02:00
Zebediah Figura 32be179a96 quartz/vmr9: Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.
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 fa32c8e36d quartz/vmr9: Destroy the window when set to windowless or renderless mode.
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 3c0b0cc834 quartz/vmr9: Render to the clipping window in windowless mode.
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 93913d3a44 quartz/vmr9: Rename hWndClippingWindow to clipping_window.
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 6502ac993d quartz/vmr9: Remove a redundant check from VMR9_SurfaceAllocator_InitializeDevice().
This check is already made in allocate_surfaces().

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 45789e00da quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl9::GetNativeVideoSize().
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 c7c91b93ad quartz/vmr9: Perform image stretching in Present() instead of StretchRect().
This fixes resizing the window after connection time, especially when using a
custom destination rect.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura b0c2e524dc quartz/vmr9: Get rid of VMR9_SurfaceAllocator_UpdateDeviceReset().
It's not clear that this ever did something useful, but at least since
d6a70366e this had the effect of always resetting immediately after creating
the device.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura 848b85b657 quartz: Get rid of the texture drawing path.
StretchRect() should be good enough for presenting both kinds of surfaces.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura 5f602b46f3 quartz: Set VMR9AllocationInfo dimension members to the video dimensions.
These will be identical to the source rect at connection time, but not
necessarily if we ever need to recreate the surfaces (due to a lost device, for
example), and we still want to use the source image dimensions in that case.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura fd159a3563 quartz/tests: Add some tests for windowless video size.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura 3464834443 quartz/tests: Fix a test failure on 32-bit Windows.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 22:07:52 +02:00
Zebediah Figura 79c78b7951 quartz/tests: Add tests for IBasicVideo.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:14 +02:00
Zebediah Figura 8f6d4b1c5f quartz: Implement IBasicVideo::IsUsingDefaultSource().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:12 +02:00
Zebediah Figura 82420a8d3c quartz: Resize the destination rect only if we are using the default destination rect.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:10 +02:00
Zebediah Figura 013c024b2b quartz: Get rid of the resize callback.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:07 +02:00
Zebediah Figura 69011b3711 quartz: Get rid of the SetDefault*Rect callbacks.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-08 13:34:05 +02:00
Zebediah Figura 14b7035054 quartz: Merge the BaseControlVideo object into the video_window object.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:40 +02:00
Zebediah Figura 833829cb31 quartz: Move the source and destination rectangles to the BaseControlVideo structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:37 +02:00
Zebediah Figura 779edf4def quartz: Get rid of the IsDefault*Rect callbacks.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:34 +02:00
Zebediah Figura 1ba3f252b5 quartz: Retrieve the video format directly from the pin.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:32 +02:00
Zebediah Figura 855f17f349 quartz: Rename "baseControlWindow" to "window".
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-07 11:26:25 +02:00
Zebediah Figura d70d1cda38 quartz/vmr9: Resize the window in vmr_connect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:17 +02:00
Zebediah Figura 0f6d8846eb quartz/vmr9: Factor out get_bitmap_header().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:14 +02:00
Zebediah Figura fb6ad569d7 quartz/videorenderer: Resize the window in video_renderer_connect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:07 +02:00
Zebediah Figura e5729cf8eb quartz/videorenderer: Set the source rect at connection time.
Filter state should not be modified in IPin::QueryAccept().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:43:02 +02:00
Zebediah Figura 665ac338ca quartz/videorenderer: Factor out get_bitmap_header().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 10:42:55 +02:00
Zebediah Figura 913e6ef805 quartz/vmr9: Add a stub IVMRMixerBitmap9 interface.
Needed by Sniper Fury and Modern Combat 5.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:57 +02:00
Zebediah Figura e7ed2798e8 quartz/vmr9: Call IVMRSurfaceAllocator9::TerminateDevice() when destroying the filter.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:55 +02:00
Zebediah Figura 9181a12e62 quartz/vmr9: Track the IVMRSurfaceAllocatorNotify9 reference count separately.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:52 +02:00
Zebediah Figura 05adf7bed2 quartz/tests: Add tests for the separate reference count of IVMRSurfaceAllocatorNotify9.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 10:51:50 +02:00
Zebediah Figura 7da087b76a quartz/vmr9: Remove the "force" parameter of VMR9_maybe_init().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:36 +02:00
Zebediah Figura 1cb4b642f3 quartz/vmr9: Do not call VMR9_maybe_init() in vmr_start_stream().
We have already connected if we got here, and we can only have failed to
allocate surfaces if we had no clipping window, which cannot have changed in the
meantime.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:33 +02:00
Zebediah Figura a54597fd78 quartz/vmr9: Forbid setting the video clipping window while connected.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:31 +02:00
Zebediah Figura f1de733a03 quartz/vmr9: Validate the window in IVMRWindowlessControl9::SetVideoClippingWindow().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:29 +02:00
Zebediah Figura 218d2a5119 quartz/tests: Add some tests for IVMRWindowlessControl9::SetVideoClippingWindow().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 13:55:27 +02:00
Zebediah Figura 9733b821e0 quartz/tests: Test current position caching.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 21:51:31 +02:00
Zebediah Figura b66d0ed6a3 quartz/tests: Add some tests for end-of-stream notifications on the VMR9.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:59:13 +02:00
Zebediah Figura 3cad37a64b quartz/tests: Add some tests for sample presentation time on the VMR9.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:59:10 +02:00
Zebediah Figura 122998ab15 quartz/tests: Add more tests for mixing mode.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:59:06 +02:00
Zebediah Figura 40a115eb14 quartz/tests: Fix a copy-paste error.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-01 12:58:59 +02:00
Zebediah Figura 734a17bdae quartz/vmr9: Improve tracing in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura 1c8c26dfde quartz/vmr9: Retrieve a default format if none is given in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura 3a3981272f quartz/vmr9: Support VMR9AllocFlag_3DRenderTarget in IVMRSurfaceAllocatorNotify9::AllocateSurfaceHelper().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura 880c732216 quartz/vmr9: Remove some dead code.
We already check filter->num_surfaces above.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura ee0267472c quartz/tests: Expand tests for VMR9 interfaces.
Test all interfaces in all modes, and test mixing mode.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-29 10:22:33 +02:00
Zebediah Figura a0b6c65df8 quartz/vmr9: Don't expose IVMRWindowlessControl9 from the VMR7.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-29 10:22:31 +02:00
Zebediah Figura dd6a8d1dae quartz/vmr9: Don't expose IVMRWindowlessControl from the VMR9.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-29 10:22:29 +02:00
Zebediah Figura ab99701a79 quartz/vmr9: Don't expose IVMRSurfaceAllocatorNotify9 from the VMR7.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-29 10:22:26 +02:00
Zebediah Figura 44386de52a quartz/vmr9: Don't expose IVMRSurfaceAllocatorNotify from the VMR9.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-29 10:22:24 +02:00
Zebediah Figura 53a91bbd5c quartz/tests: Relax a test for PresentImage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:19:08 +02:00
Zebediah Figura 406459ea9c quartz: Don't register the audio renderer as a filter for autoplugging.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:18:22 +02:00
Zebediah Figura c035cfa4bb quartz: Don't register the DirectSound renderer as a filter for autoplugging.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:18:20 +02:00
Zebediah Figura 7de86140f1 quartz/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-27 12:02:14 +02:00
Paul Gofman f71deb066f quartz/filesource: Check for past EOF read in _Request().
On Vista+ ReadFile() returns FALSE and sets ERROR_IO_PENDING even if the
requested read results in ERROR_HANDLE_EOF.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 20:54:21 +02:00
Paul Gofman e004905044 quartz/filesource: Store file size on load.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 20:54:21 +02:00
Gabriel Ivăncescu a98ca88dd1 quartz/tests: Add tests for when IMediaSeeking on a filter is released by the filter graph.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:47:04 +02:00
Gabriel Ivăncescu 0320f165c8 quartz: Cache IMediaSeeking for filters.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:47:00 +02:00
Zebediah Figura bd80194abd quartz/filesource: Remove unused callbacks.
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 4d7ac46b27 quartz: Get rid of the "width" and "height" fields of video_window.
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 53e842c946 quartz: Return void from video_window_init().
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 e3160986d0 quartz: Merge the BaseWindow structure into video_window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:44:13 +02:00
Zebediah Figura f9653494a9 quartz: Get rid of the BaseWindowFuncTable typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:44:08 +02:00
Zebediah Figura 64e33d1173 quartz: Get rid of the BaseControlWindow typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:44:04 +02:00
Zebediah Figura 25240a210c quartz: Get rid of BaseControlVideo_Destroy().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:44:00 +02:00
Zebediah Figura a17d43d67d quartz: Return void from basic_video_init().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-03 10:43:57 +02:00
Zebediah Figura 4820290ac0 quartz/vmr9: Get rid of the VMR9DefaultAllocatorPresenterImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:40:58 +02:00
Zebediah Figura a273a0e71f quartz/vmr9: Use calloc().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:40:53 +02:00
Zebediah Figura 33f11bce82 quartz/videorenderer: Get rid of the VideoRendererImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:40:48 +02:00
Zebediah Figura c2fa5cb547 quartz/videorenderer: Use calloc() in video_renderer_create().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:40:39 +02:00
Zebediah Figura d1d01de751 quartz/filesource: Get rid of the AsyncReader typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:40:28 +02:00
Zebediah Figura 5a5db91edd quartz/dsoundrender: Get rid of the DSoundRenderImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:22:31 +02:00
Zebediah Figura e1bdc1e7a0 quartz/dsoundrender: Use calloc() in dsound_render_create().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:22:26 +02:00
Zebediah Figura f817fde7ea quartz/avidec: Fix some copy-paste errors.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:22:19 +02:00
Zebediah Figura 27c9b689c1 quartz/avidec: Get rid of the AVIDecImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:22:15 +02:00
Zebediah Figura 1f1f417791 quartz/acmwrapper: Get rid of the ACMWrapperImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:22:09 +02:00
Zebediah Figura 0777941eaf strmbase: Return void from strmbase_renderer_init().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Zebediah Figura f27030f1f6 quartz/acmwrapper: Use the strmbase_passthrough object directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Zebediah Figura dd3fe639e3 quartz/avidec: Use the strmbase_passthrough object directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 12:09:09 +02:00
Zebediah Figura be4b345908 quartz: Strip trailing zeroes in debugstr_time().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 21:19:58 +01:00
Zebediah Figura c2d35ed176 quartz/avidec: Don't determine the source format from the sink format.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:24:34 +01:00
Zebediah Figura 3c984e2980 quartz/avidec: Correctly implement avi_decompressor_source_query_accept().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:24:32 +01:00
Zebediah Figura 9f9201c9aa quartz/avidec: Correctly implement avi_decompressor_source_get_media_type().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:24:30 +01:00
Zebediah Figura 0be0b38a42 quartz/tests: Add some tests for AVI decoder pin connection.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:24:27 +01:00
Zebediah Figura c3af8721cf quartz/tests: Add a test for autoplugging from UYVY.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:24:22 +01:00
Zebediah Figura 1f201f1165 quartz/tests: Disable some tests that fail intermittently.
The value of these tests is not worth having to repeatedly relax timings.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:30:55 +01:00
Zebediah Figura e417befc15 quartz/tests: Fix test failures when we can't create a 3D device.
It turns out my prior assumption was incorrect.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 11:30:48 +01:00
Zebediah Figura ef23e618a0 quartz/vmr9: Create textures with D3DUSAGE_DYNAMIC.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 12:25:10 +01:00
Zebediah Figura 99207332d4 quartz/tests: Add some tests for renderless mode.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 12:25:05 +01:00
Zebediah Figura d6a70366e1 quartz/vmr9: Cache surfaces on connection.
How to Survive does not reference the IDirect3DSurface9 in
IVMRSurfaceAllocator9::GetSurface(), nor does it dereference it in
IVMRSurfaceAllocator9::TerminateDevice(). Native quartz only asks for each
surface once, when connecting, and releases those surfaces when disconnecting,
which lets these two application bugs cancel each other out.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 12:25:01 +01:00
Zebediah Figura 01f83593ed quartz/vmr9: Request only one surface.
How to Survive gets confused when we ask for more than one surface.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 12:24:58 +01:00
Zebediah Figura c7393eccfa quartz/vmr9: Determine the D3D format and flags from the subtype.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 12:24:56 +01:00
Zebediah Figura 429d09ba12 quartz/vmr9: Zero-initialize the VMR9PresentationInfo struct.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-20 12:24:52 +01:00
Gabriel Ivăncescu 5c8903a0a9 quartz: Clear the WS_CHILD style instead of unparenting the window.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48732
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:37:32 +01:00
Zebediah Figura cb3dc98928 quartz: Implement proper DLL refcounting.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48734
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:42:49 +01:00
Zebediah Figura 3b8b066713 strmbase: Move the seeking passthrough object to quartz.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:42:41 +01:00
Zebediah Figura d30fd37176 strmbase: Standardize aggregation of the seeking passthrough object.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:42:21 +01:00
Zebediah Figura 00d5584280 quartz/tests: Add a test for aggregation on the seeking passthrough object.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:42:17 +01:00
Zebediah Figura 2db87b733f quartz: Unregister the video window class on DLL unload.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48734
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura f55427fb9d strmbase: Move video.c to quartz.
The only filters that expose IBasicVideo live in quartz.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Zebediah Figura bb8911928f strmbase: Move window.c to quartz.
The only filters that expose IVideoWindow live in quartz.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 10:12:15 +01:00
Zebediah Figura 56a6bc87ac quartz: Pass an IUnknown pointer to the object creation functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 10:12:03 +01:00
Zebediah Figura ad13ce161a quartz/avidec: Reimplement the AVI decoder directly on top of strmbase_filter.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:55:54 +01:00
Zebediah Figura 1ac3fe36c2 quartz/acmwrapper: Reimplement the ACM wrapper directly on top of strmbase_filter.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:55:51 +01:00
Zebediah Figura cf376c96e8 qedit: Register the sample grabber and null renderer.
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 8e80f68dce quartz/filesource: Check if the media type is acceptable.
PowerPoint 2016 tries to build a graph by autoplugging the file source to the
sample grabber; direct connection should fail here.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:56:36 +01:00
Zebediah Figura 05a8d45e8a quartz/filtergraph: Iterate over all filters in state change methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:23:09 +01:00
Zebediah Figura e0d5e16d7e quartz/filtergraph: Don't check for cyclic connections in IFilterGraph2::Connect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:23:09 +01:00
Zebediah Figura 98a0c1dac1 quartz/filtergraph: Maintain a topologically sorted list of filters.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:23:09 +01:00
Zebediah Figura 7a392c55d6 quartz/filtergraph: Use IFilterGraph2::ConnectDirect() instead of calling IPin::Connect().
It will need to do some bookkeeping.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:23:09 +01:00
Zebediah Figura 436dbfd939 quartz/tests: Add a test for cyclic connections.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:23:09 +01:00
Zebediah Figura 84bede2b0d strmbase: Don't treat GUID_NULL in enumerated types as a wildcard.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 09:39:30 +01:00
Zebediah Figura 7c35fccbcc strmbase: Don't check the subtype when determining if a media type is partial.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-17 09:39:28 +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 5c057693c8 quartz/filesource: Zero-initialize the file source filter.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:49:13 +01:00
Zebediah Figura 6c8f52c4fb quartz/vmr9: Fix copying from the d3d9 surface if the pitch doesn't match the width.
Spotted by Henri Verbeet.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-12 20:20:27 +01:00
Zebediah Figura 5f9ce6870c quartz/videorenderer: Track the current sample locally.
Only the video renderer uses it.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 08:56:37 +01:00
Zebediah Figura a4e8e4dfd9 quartz/videorenderer: Clean up VideoRenderer_GetStaticImage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 08:56:37 +01:00
Zebediah Figura 9b1ba34149 quartz/vmr9: Reimplement VMR9_GetStaticImage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 08:48:12 +01:00
Zebediah Figura 309f0a0d6c quartz/tests: Add some tests for IBasicVideo::GetCurrentImage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 08:48:07 +01:00
Zebediah Figura ae5f945442 quartz: Remove no longer necessary call to CoInitialize().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 08:44:09 +01:00
Jacek Caban c4d77976ac quartz: Remove unused functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Zebediah Figura 44c91bcbb0 strmbase: Always return VFW_E_TYPE_NOT_ACCEPTED if the pin_query_accept() callback fails.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:22 +01:00
Jacek Caban bf95bccfaf quartz: Fix hex digit checks in process_pattern_string.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-06 21:40:22 +01:00
Zebediah Figura 2acd63e340 quartz/tests: Add tests for MPEG splitter pin connection.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 08:44:03 +01:00
Zebediah Figura d749d50ada quartz/tests: Improve tests for AVI splitter filter state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 08:44:00 +01:00
Zebediah Figura 4f8c54b5e9 quartz/tests: Add tests for AVI splitter pin connection.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 08:43:58 +01:00
Zebediah Figura 76b6bcbf98 quartz/filesource: Accept any non-null subtype.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 09:33:05 +01:00
Zebediah Figura f31815f760 quartz/tests: Add some tests for file source pin connection.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 09:33:03 +01:00
Zebediah Figura b9a5b7a3b7 quartz/tests: Use BaseOutputPinImpl_AttemptConnection().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 09:33:01 +01:00
Zebediah Figura 570e0a0d3b quartz/filtergraph: Implement IFilterGraph2::ReconnectEx().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 09:32:58 +01:00
Zebediah Figura 7a0b6a95f6 quartz/tests: Add tests for IFilterGraph::Reconnect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-04 09:32:55 +01:00
Zebediah Figura 4a9893d4fc strmbase: Rename the "pClock" member of struct strmbase_filter to "clock".
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-31 10:20:04 +01:00
Zebediah Figura eea01d8e8b quartz: Introduce a helper to trace reference time.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-31 10:19:19 +01:00
Zebediah Figura f78975ba28 quartz: Trace the requested properties in IMemAllocator::SetProperties().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 11:21:23 +01:00
Zebediah Figura 506b8a59ee quartz/filesource: Store the media type directly in the AsyncReader structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 11:21:13 +01:00
Zebediah Figura 58b60edf53 quartz/filesource: Clean up FileAsyncReader_RequestAllocator().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 11:21:09 +01:00
Zebediah Figura abac070387 quartz/filesource: Use a completion port to handle asynchronous requests.
Thus simplifying the code and allowing us to handle more than 63 at once.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 11:21:04 +01:00
Zebediah Figura 0820b125e2 strmbase: Return S_FALSE from IEnumPins::Next() when the pin count changes.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 09:46:02 +01:00
Zebediah Figura 87e02cb5fc winegstreamer: Implement IPin::QueryAccept() for the MPEG splitter source.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:39:09 +01:00
Zebediah Figura 0401213770 winegstreamer: Implement IPin::QueryAccept() for the AVI splitter source.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:39:06 +01:00
Zebediah Figura 71967608a3 winegstreamer: Implement IPin::QueryAccept() for the WAVE parser source.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:23:01 +01:00
Zebediah Figura 44ef517712 quartz/tests: Add more tests for parser media types.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:22:58 +01:00
Zebediah Figura 0a9acdefe8 winegstreamer: Fix pin enumeration order for the AVI and WAVE parsers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-24 17:22:56 +01:00
Zebediah Figura 7770e0bbaf quartz: Use wide character string literals.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:27:00 +01:00