Commit Graph

526 Commits

Author SHA1 Message Date
Pengpeng Dong 4765c5ffe2 quartz: Return E_POINTER from IVideoWindow::get_Visible() if "visible" is NULL.
Signed-off-by: Pengpeng Dong <dongpengpeng@uniontech.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:31:44 +02:00
Zebediah Figura eedbfe0c0d quartz/tests: Fix a test in test_basic_video().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 10:22:55 +02:00
Zebediah Figura 1ce2cae3e9 quartz/vmr9: Allow AdviseSurfaceAllocator() to be called multiple times.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47161
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Zebediah Figura 41a9f82870 quartz: Don't pause the graph in IMediaSeeking::SetPositions if it hasn't finished running yet.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49604
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Zebediah Figura ead0e8e5cf quartz: Correctly convert reference time to REFTIME in IBasicVideo::get_AvgTimePerFrame().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Zebediah Figura 11df839b69 quartz: Allow the arguments to IMediaSeeking::GetPositions() to be NULL.
This allows "UNDER NIGHT IN-BIRTH Exe:Late" to render video.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 22:30:48 +02:00
Zebediah Figura 7f0347bb04 quartz/vmr9: Return E_INVALIDARG if both texture and offscreen flags are passed to AllocateSurfaceHelper().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 12:11:31 +02:00
Zebediah Figura 8c9d60c308 quartz: Return the stop position from GetCurrentPosition() after all filters return EC_COMPLETE.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:16:24 +02:00
Zebediah Figura a6d539381e quartz/tests: Add tests for IMediaSeeking::GetCurrentPosition() and EC_COMPLETE interaction.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:16:20 +02:00
Zebediah Figura d3ef27f756 quartz/vmr9: Signal state change completion only after PresentImage() has been called.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-21 15:16:17 +02:00
Zebediah Figura 9f467402df quartz/dsoundrender: Reimplement the DirectSound renderer directly on top of the strmbase filter.
The DirectSound renderer does a lot of things differently. To a large degree
this is to be expected; it's an audio renderer and therefore needs to buffer
much farther in advance. However, it also doesn't participate in quality
management, doesn't block in Receive(), and has a few other mild differences in
behaviour. Weighing the features implemented by the base renderer against the
quirks necessary for the DirectSound renderer leads me to believe that it would
be easier not to use that framework.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:17:19 +02:00
Zebediah Figura b9063c4b7e quartz/vmr9: Render preroll samples.
The documentation specifies that preroll samples shouldn't be rendered, but
the VMR9 renders them anyway.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:17:17 +02:00
Zebediah Figura 72f9472492 quartz/videorenderer: Render preroll samples.
The documentation specifies that preroll samples shouldn't be rendered, but
the video renderer renders them anyway.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:17:15 +02:00
Zebediah Figura f6f1983be8 quartz/dsoundrender: Do not send quality messages.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:17:01 +02:00
Zebediah Figura 98390d9c2d quartz/tests: Add tests for DirectSound renderer filter state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 23:16:59 +02:00
Zebediah Figura aca967b8a5 quartz/tests: Add some tests for allocator negotiation on the DirectSound renderer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-16 09:30:03 +02:00
Zebediah Figura 52862838db quartz/tests: Add some tests for pin connection on the DirectSound renderer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-16 09:30:03 +02:00
Zebediah Figura 3d54a77af8 quartz/dsoundrender: Don't check the subtype in DSoundRender_CheckMediaType().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-16 09:30:03 +02:00
Zebediah Figura 1af01ac917 quartz/tests: Add some tests for media types for the DirectSound renderer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-16 09:30:03 +02:00
Zebediah Figura 88d2afb79c quartz/tests: Test previous filter states.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-16 09:30:03 +02:00
Zebediah Figura 114832224f quartz: Run the graph asynchronously if necessary.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 09:44:08 +02:00
Zebediah Figura 9dd5aa17a0 quartz: Return an error code if a filter reports an incorrect state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 09:44:05 +02:00
Zebediah Figura 23ef268663 quartz/tests: Add more tests for asynchronous state change.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 09:43:53 +02:00
Zebediah Figura 44c0e69137 quartz/vmr9: Auto-show the window when pausing, not when running.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-14 09:39:30 +02:00
Zebediah Figura 90f8a1b876 quartz/vmr9: Set the destination rect to the whole client area when connecting.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 21:00:17 +02:00
Zebediah Figura 8725564f68 quartz/videorenderer: Set the destination rect to the whole client area when connecting.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-26 21:00:15 +02:00
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 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 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 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
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 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 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 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 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 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