Commit Graph

1843 Commits

Author SHA1 Message Date
Alex Henrie 8e081d32bd quartz: Fix memory leaks on error paths in FilterMapper3_RegisterFilter (cppcheck).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-20 21:15:55 +01:00
Akihiro Sagawa bbdb658402 quartz: Fix a race in IMediaFilter::Pause().
Before finishing async run, graph->stream_start isn't stable.
This will cause graph->current_pos to be out of playback duration.
Since graph->current_pos is out of the range, the playback will
be stopped.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52200
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>
2021-12-10 22:00:18 +01:00
Andrew Eikum 0dea2b615e quartz: Allow time format change while running.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-29 23:25:46 +01:00
Zebediah Figura 0b79e2caa6 quartz/dsoundrender: Send EC_COMPLETE in IBaseFilter::Run() when not connected.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 21:03:04 +01:00
Andrew Eikum 6e11378df2 strmbase: Send EC_COMPLETE in IBaseFilter::Run() for unconnected renderers.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 21:03:02 +01:00
Zebediah Figura 74b595162c quartz/tests: Test receiving EC_COMPLETE when not connected.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-01 21:02:58 +01:00
Zebediah Figura e22e34ecf4 quartz: Avoid accessing the advise_sink structure after it is queued.
It could already have been removed and freed.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-21 20:32:50 +02:00
Zebediah Figura bf5b35f19b quartz: Use the performance counter for the system clock.
Native probably uses timeGetTime() as a source. That doesn't actually match the
performance counter on Windows, but it does on Wine, and accessing the counter
directly is slightly more efficient anyway.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51684
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-21 20:32:48 +02:00
Alexandre Julliard 088a787a2c makefiles: Make -mno-cygwin the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Michael Stefaniuc 21c4a25437 quartz: Forward dsound_render_qc_Release() to a release method.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Francois Gouget e950ec2c3b quartz: Remove WINAPI on static functions where not needed.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Zebediah Figura 9a4a722fcc quartz: Always return S_FALSE from DllCanUnloadNow().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 09:34:00 +02:00
Zebediah Figura 5d4083aba2 quartz/tests: Add more strict tests for accurate duration retrieval.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 13:16:53 +02:00
Zebediah Figura 4e74fdcebe quartz: Free outstanding advise requests when destroying a system clock.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:40 +02:00
Zebediah Figura ff231dad75 quartz/tests: Check that system clock measurements are in sequence instead of comparing absolute time.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:38 +02:00
Zebediah Figura 4df1a5831c quartz: Use a condition variable to wake up the system clock advise thread.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:35 +02:00
Zebediah Figura 6c0ddfee9d quartz: Factor out more of AdviseTime() and AdvisePeriodic().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:29 +02:00
Zebediah Figura 7f1623bc62 quartz: Do not print an incorrect state warning in MediaFilter_GetState() if a filter has been run asynchronously.
This is a valid case in which the filter state may or may not match the graph
state.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 22:43:21 +02:00
Tim Clem 83ae1ff59a quartz: Remove the source filter on failure in IGraphBuilder::RenderFile().
Signed-off-by: Tim Clem <tclem@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 22:43:21 +02:00
Tim Clem d9b95ac0df quartz/tests: Test IGraphBuilder::RenderFile() cleanup on failure.
Signed-off-by: Tim Clem <tclem@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 22:43:21 +02:00
Akihiro Sagawa 1b107ec03e quartz: Notify EC_USERABORT event when closing video window.
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>
2021-06-07 10:00:07 +02:00
Akihiro Sagawa 567f930583 quartz: Hide video window on WM_CLOSE.
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>
2021-06-07 10:00:07 +02:00
Akihiro Sagawa b0458a318f quartz/tests: Test the close button of the video window.
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>
2021-06-07 10:00:07 +02:00
Akihiro Sagawa ae41ce2d93 quartz/tests: Introduce commit_allocator helper in vmr7.c.
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>
2021-06-07 10:00:07 +02:00
Anton Baskanov 4a9936e318 quartz/dsoundrender: Defer EC_COMPLETE until running.
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-05-27 21:12:55 +02:00
Anton Baskanov a2504b8ec7 quartz/dsoundrender: Don't reset EOS on paused->running state transition.
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-05-27 21:12:52 +02:00
Anton Baskanov 82b86d4704 strmbase: Defer EC_COMPLETE until the renderer is running.
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-05-27 21:12:49 +02:00
Anton Baskanov 2ad44002da quartz: Check for IMediaPosition when counting renderers.
The new test failures are expected since the renderers are now actually
considered renderers by the filter graph.

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-05-25 21:13:01 +02:00
Anton Baskanov 926a5c778e quartz/tests: Test that IMediaPosition is also checked when renderers are counted.
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-05-25 21:13:01 +02:00
Zebediah Figura 9172ca5baa quartz/tests: Fix some test failures related to thread timing.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 22:05:36 +02:00
Zebediah Figura 44472fae6b quartz/tests: Avoid testing the result of GetQueueStatus().
It's very unreliable; our window can receive messages not related to the ones we're trying to test.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 22:05:33 +02:00
Zebediah Figura 226897bec7 quartz/tests: Use CRT memory allocators.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 17:42:15 +02:00
Zebediah Figura 11c336b4a9 quartz/tests: Remove the no longer used TestFilterImpl structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 17:42:15 +02:00
Zebediah Figura 67330f9055 quartz/dsoundrender: Remove the no longer used "play_time" field.
This was used to implement IReferenceClock::GetTime(), which was reimplemented
in 63a6b308e9.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 10:40:27 +02:00
Connor McAdams 2c5314d007 winegstreamer: Delay duration query until caps have been acquired.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 10:34:18 +02:00
Anton Baskanov 9b30d09282 quartz/dsoundrender: Don't let writepos advance past playpos.
Fixes audio stuttering during video playback in multiple games (e.g.
Commandos 2, Alien Nations, Dino Crisis Demo).

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-27 21:02:46 +02:00
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