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
Zebediah Figura
c947dab09d
quartz: Simplify FilterMapper_UnregisterPin().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:58 +01:00
Zebediah Figura
021354c554
quartz: Simplify FilterMapper_UnregisterFilter().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:56 +01:00
Zebediah Figura
e44948a2c2
quartz: Simplify FilterMapper_RegisterPinType().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:54 +01:00
Zebediah Figura
4897610866
quartz: Simplify FilterMapper_RegisterPin().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 09:26:51 +01:00
Zebediah Figura
efb5c108d6
quartz: Simplify FilterMapper_RegisterFilter().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 11:23:58 +01:00
Zebediah Figura
5a0429e5d7
quartz: Simplify FilterMapper3_RegisterFilter().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 10:21:17 +01:00
Zebediah Figura
071a58e847
quartz: Simplify FilterMapper3_UnregisterFilter().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 10:21:14 +01:00
Zebediah Figura
82abd74351
quartz: Simplify FilterMapper3_CreateCategory().
...
Avoid some unnecessary allocations.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 10:21:11 +01:00
Zebediah Figura
228b8b984b
quartz: Simplify FilterGraph2_AddFilter().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-22 10:21:07 +01:00
Gabriel Ivăncescu
c87258c46b
quartz/tests: Test video window parent's WM_DESTROY notification.
...
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-01-15 10:31:38 +01:00
Gabriel Ivăncescu
14435a6d31
quartz: Reset the advise thread's timeout on each iteration.
...
Fixes a regression introduced by
63a6b308e9
. Because the timeout value was
always shrinked, it quickly went to 0 and then the entire advise thread
used 100% of a CPU core in applications such as Media Player Classic by
basically becoming a busy loop.
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-01-02 17:40:15 +01:00
Zebediah Figura
2fe3b3a0e7
quartz/tests: Skip the IVideoWindow tests if connecting returns E_FAIL.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-30 21:11:45 +01:00
Francois Gouget
79ab06b295
quartz: Fix the name of a type in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 09:59:11 +01:00
Zebediah Figura
7f57286d73
strmbase/renderer: Use base sink connection methods.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Zebediah Figura
f595d9bdff
strmbase: Pass an AM_MEDIA_TYPE pointer to CompleteConnect().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Zebediah Figura
264c539ed6
strmbase: Combine the SetMediaType() and CompleteConnect() callbacks.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Zebediah Figura
675e061142
strmbase: Get rid of the "vtbl" argument to strmbase_source_init().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Zebediah Figura
c05c4452ba
strmbase: Create the video window with the correct styles.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 10:44:43 +01:00
Zebediah Figura
cb6d6f5d1a
quartz/tests: Port IVideoWindow tests to the VMR.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 10:44:43 +01:00
Zebediah Figura
94822bae5f
quartz/vmr9: Create the rendering window when the filter is created.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 10:11:46 +01:00
Zebediah Figura
54da011d2c
strmbase: Correctly implement IVideoWindow::NotifyOwnerMessage().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43367
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 10:11:46 +01:00
Zebediah Figura
18f561a783
strmbase: Get rid of the "vtbl" parameter to strmbase_filter_init().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:16 +01:00
Zebediah Figura
3a7f54947e
strmbase/transform: Hold the streaming lock for the entirety of Receive().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 10:42:10 +01:00
Zebediah Figura
63a6b308e9
quartz/dsoundrender: Delegate IReferenceClock to the system clock.
...
For several reasons.
Firstly, the reference clock should still function when the filter is not
running.
Secondly, IDirectSoundBuffer::GetPositions() in practice returns very coarse
positions, both on Windows and on Wine. On my hardware, the resolution is
about 10ms, which, while suitable for the DirectSound renderer and probably
also any video renderers, is nevertheless actually coarser than
GetTickCount().
Thirdly, testing supports that the native DirectSound renderer returns a
timestamp from IReferenceClock::GetTime() that is more accurate than
IDirectSoundBuffer::GetPositions(). In fact, after dumping a large number of
different clock sources, I came to the conclusion that it is probably using
timeGetTime() as a source. On Wine that's identical to GetTickCount(), so we
may as well just delegate directly to the system clock.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:23:32 +01:00
Zebediah Figura
3f2b813da6
quartz/dsoundrender: Move DSoundRender_create() to avoid forward declarations.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:23:16 +01:00
Zebediah Figura
d21dbf960b
quartz/systemclock: Support COM aggregation.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:23:10 +01:00
Zebediah Figura
4d221c3108
strmbase: Get rid of BaseRendererImpl_EndOfStream().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 08:33:59 +01:00