Anton Baskanov
86cbfa4bea
quartz: Use a separate critical section for events.
...
This undoes dc836b85c1
.
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>
2021-04-12 19:32:15 +02:00
Jacek Caban
598a12a9ab
quartz: Use nameless unions.
...
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>
2021-03-24 20:46:24 +01:00
Jacek Caban
b39b9eea39
include: Don't default to WINE_NO_NAMELESS_EXTENSION for Wine build.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 21:48:38 +01:00
Zebediah Figura
26476fcf48
strmbase: Return void from renderer_disconnect.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 12:13:52 +01:00
Zebediah Figura
4bede3b27b
strmbase: Rename pfnBreakConnect to renderer_disconnect.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 12:13:50 +01:00
Zebediah Figura
40d77283eb
quartz/vmr9: Assume that the filter is connected and stopped in VMR9_BreakConnect().
...
strmbase provides those guarantees.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 12:13:43 +01:00
Zebediah Figura
4abf09f02e
strmbase: Rename pfnDoRenderSample to renderer_render.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-12 12:13:35 +01:00
Zebediah Figura
646f2040d8
strmbase: Rename pfnCheckMediaType to renderer_query_accept.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Zebediah Figura
6ab9ad1096
strmbase: Move run_event handling to strmbase.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Zebediah Figura
914ad66c52
strmbase: Move run_event to the strmbase_renderer structure.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Zebediah Figura
bcfa8f413b
quartz: Move the current sample tracking back to strmbase.
...
Only the video renderer uses this, but we'd like to deduplicate the
wait-on-preroll behaviour.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Zebediah Figura
bfdb2e11e7
quartz/vmr9: Don't release the default presenter object if it could not be created.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 08:54:46 +01:00
Zebediah Figura
5ae9fcedef
quartz: Use free() to free the "pszFileName" member.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 09:08:21 +01:00
Zebediah Figura
1b2d528b02
quartz: Remove EC_COMPLETE from the queue when starting the graph.
...
Based on a patch by Anton Baskanov.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Anton Baskanov
d293200f7f
quartz: Reset the event if the queue was empty in IMediaEvent::GetEvent().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Zebediah Figura
aab10e6ca7
quartz: Clear pending events when disabling notifications.
...
Based on a patch by Anton Baskanov.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Zebediah Figura
99c0987289
quartz: Inline the WndNotify structure into struct filter_graph.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Zebediah Figura
d40bc6dc37
quartz: Use a linked list to store media events.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Zebediah Figura
dc836b85c1
quartz: Use the graph critical section to synchronize media event methods.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Zebediah Figura
5b0b78b6f0
quartz/tests: Add more tests for media events.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 22:54:08 +01:00
Anton Baskanov
c6a3072051
quartz: Do not send events when notifications are disabled.
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Anton Baskanov
7d0fe79f1d
quartz/tests: Add tests for event notifications.
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Anton Baskanov
9d51ccc03d
quartz/tests: Add tests for IMediaEventEx::SetNotifyFlags.
...
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
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