Commit Graph

1784 Commits

Author SHA1 Message Date
Zebediah Figura 92ee89c9d3 quartz/avidec: Use the strmbase stream lock.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 11:11:28 +01:00
Zebediah Figura 53d8a28a43 quartz/acmwrapper: Use the strmbase stream lock.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 11:11:25 +01:00
Zebediah Figura 480ece6a15 strmbase: Acquire the streaming lock in sink_EndOfStream().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 11:11:22 +01:00
Zebediah Figura 32d339829e strmbase: Acquire the streaming lock in MemInputPin_Receive().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 11:11:20 +01:00
Zebediah Figura defa3305ee quartz/dsoundrender: Use the strmbase stream lock.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 08:52:36 +01:00
Zebediah Figura e468aab053 strmbase: Move strmbase_renderer.csRenderLock into the strmbase_filter structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 08:52:34 +01:00
Zebediah Figura 690afb42f6 strmbase: Rename csFilter to filter_cs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-19 08:52:32 +01:00
Akihiro Sagawa c387df0739 quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl::GetNativeVideoSize().
Please refer to the commit 45789e00da which
fixes IVMRWindowlessControl9::GetNativeVideoSize().

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 20:51:33 +01:00
Akihiro Sagawa 0a32df560f quartz/tests: Add some tests for VMR7 windowless video size.
This is a port of VMR9 commit fd159a3563.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 20:51:30 +01:00
Zebediah Figura cf366488f6 quartz/dsoundrender: Don't drop stream_cs in DSoundRender_SendSampleData().
We don't grab stream_cs to change any variables checked here, except to reset
flush_event, and that cannot result in a deadlock.

The only possible deadlocks here are:

(1) between this function and EndOfStream(), which is correct, as the two
    should presumably be serialized;

(2) between this function and EndFlush(); however, in that case we expect
    BeginFlush() first, which will unblock the streaming thread.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:13:35 +01:00
Zebediah Figura 2d6043eb4f quartz/dsoundrender: Don't drop stream_cs in DSoundRender_HandleEndOfStream().
We don't grab stream_cs to change any variables checked here, except to reset
flush_event, and that cannot result in a deadlock.

The only possible deadlocks here are:

(1) between this function and Receive(), which is correct, as the two
    should presumably be serialized;

(2) between this function and EndFlush(); however, in that case we expect
    BeginFlush() first, which will unblock the streaming thread.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:13:29 +01:00
Zebediah Figura 3933ceca58 quartz/dsoundrender: Remove the unused "in_loop" field.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 10:13:23 +01:00
Zebediah Figura 68d3558830 quartz: Avoid autoplugging renderers in IGraphBuilder::Connect().
I don't know of an application that this helps, but it seems like an
optimization worth performing.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 16:53:52 +01:00
Zebediah Figura bc588e9c52 quartz/tests: Avoid some test failures related to timing.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 16:53:52 +01:00
Gijs Vermeulen 4807a8f588 quartz: Only return S_FALSE in IEnumFilters::Skip() if count goes past the end of the sequence.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=28332
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-11-23 22:11:17 +01:00
Gijs Vermeulen 68d03ba8bb quartz: Return E_INVALIDARG when cursor is NULL in IEnumFilters::Skip().
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-11-23 22:07:56 +01:00
Gijs Vermeulen d918c6a482 quartz: Return VFW_E_ENUM_OUT_OF_SYNC in IEnumFilters::Skip() when enum version doesn't match graph version.
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-11-23 22:07:53 +01:00
Zebediah Figura 627b6b29cd quartz: Correct return value handling in IMediaSeeking::GetDuration().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Zebediah Figura ec4feafcc0 quartz/tests: Add some more tests for IMediaSeeking return value handling.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Zebediah Figura 1bb7ef1c1a winegstreamer: Return the seeking start time from IMediaSeeking::GetCurrentPosition().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Zebediah Figura b04c0a56e3 quartz/tests: Add some tests for parser streaming.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Zebediah Figura 08026a2c66 quartz/tests: Add some tests for IMediaSeeking on parser filters.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Zebediah Figura 9281b542ff quartz/tests: Add some tests for IPin::EndOfStream() on the DirectSound renderer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:04 +01:00
Zebediah Figura 6e9920a1d3 quartz/tests: Add some tests for flushing on the DirectSound renderer.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 19:01:04 +01:00
Zebediah Figura 48552496a4 quartz/tests: Add some tests for streaming events on the AVI decoder.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 10:09:42 +01:00
Zebediah Figura cd3b23c13c quartz/avidec: Don't copy the media time to the output sample.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 10:09:40 +01:00
Zebediah Figura f0a6cb9111 quartz/tests: Add some tests for AVI decoder sample processing.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 10:09:38 +01:00
Zebediah Figura cf7717b830 quartz/avidec: Don't send ICM_DECOMPRESS_BEGIN or ICM_DECOMPRESS_END messages if the source is disconnected.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 10:09:37 +01:00
Zebediah Figura 6463f65adc quartz/tests: Test (dis)connecting while not stopped.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:29 +01:00
Zebediah Figura c00c6000bc quartz/tests: Enable no longer failing tests for IBasicVideo::GetCurrentImage().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:48:29 +01:00
Zebediah Figura 4fe604a2ba strmbase: Get rid of strmbase_pin_get_media_type().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:48:27 +01:00
Zebediah Figura 9685f12d7c quartz: Commit the allocator directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 10:48:18 +01:00
Zebediah Figura 60814198fe winegstreamer: Don't fail state change methods if the sink pin is not connected.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 19:36:38 +01:00
Zebediah Figura f35e5c4de2 quartz/tests: Pass an IMediaControl to some functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 19:36:36 +01:00
Zebediah Figura bd1174e125 quartz: Immediately return failure from IFilterGraph::RemoveFilter() if IPin::Disconnect() fails.
Do not try to stop the filter.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Zebediah Figura be1ccdf73f quartz/tests: Add more tests for interaction between pin connection and graph state.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Zebediah Figura 316396275c quartz/tests: Store a testfilter pointer inside the testpin structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Zebediah Figura d19aac6edb quartz: Don't stop the filter in IFilterGraph::RemoveFilter().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Zebediah Figura 57eddc004b quartz/tests: Test adding and removing filters while the graph is running.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:30 +01:00
Zebediah Figura 40a43d72a2 quartz/tests: Test releasing the graph while waiting for an asynchronous paused -> running transition.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 10:52:37 +01:00
Zebediah Figura c44173dd49 quartz: Don't hold an extra reference in async_run_cb().
We don't actually need to, because we'll wait for the callback when stopping the graph.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49907
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 10:52:34 +01:00
Zebediah Figura dfa4c07941 quartz: Treat a filter as supporting IMediaSeeking only if it supports TIME_FORMAT_MEDIA_TIME.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48715
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 23:20:24 +01:00
Zebediah Figura 294de6f218 quartz/tests: Add some more tests for seeking formats.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:41:25 +01:00
Gijs Vermeulen c7bd395ad9 quartz: Implement IVMRAspectRatioControl9.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37517
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-11-02 22:41:22 +01:00
Gijs Vermeulen a6d1ee860c quartz/vmr9: Don't expose IVMRMonitorConfig from the VMR9.
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-10-26 20:25:10 +01:00
Gijs Vermeulen 80fa0b93a6 quartz/vmr9: Don't expose IVMRFilterConfig from the VMR9.
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-10-26 20:25:08 +01:00
Gijs Vermeulen f708161a47 quartz/vmr9: Don't expose IVMRMonitorConfig9 in renderless mode.
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-10-26 20:25:06 +01:00
Gijs Vermeulen ef8acacaef quartz/vmr9: Don't expose IVMRMonitorConfig9 from the VMR7.
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-10-26 20:25:01 +01:00
Gijs Vermeulen 08166d7a2d quartz/vmr9: Don't expose IVMRFilterConfig9 from the VMR7.
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-10-26 20:24:59 +01:00
Zebediah Figura f4b04e2e84 quartz/tests: Use compare_double() to test IBasicVideo::get_AvgTimePerFrame().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 11:42:07 +02:00