Commit Graph

214 Commits

Author SHA1 Message Date
Zebediah Figura 8a75411ec5 qedit/nullrenderer: Don't drop csRenderLock in NullRenderer_DoRenderSample().
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:42 +01:00
Zebediah Figura 1917988975 qedit/tests: Add some tests for sample grabber streaming events.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:55 +01:00
Zebediah Figura 9ade87059d qedit/tests: Add some tests for sample grabber streaming.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:55 +01:00
Zebediah Figura d6c7cfe2da qedit/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:37 +01:00
Austin English c130054120 qedit: Add a version resource.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:36:01 +02:00
Gabriel Ivăncescu 412db77893 qedit/nullrenderer: Wait in Receive() while paused.
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-10-08 21:46:44 +02:00
Zebediah Figura 944f91b147 qedit/tests: Add some basic tests for null renderer connection and streaming.
Adapted from the video renderer tests.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 21:46:44 +02:00
Michael Stefaniuc ad20f4831d qedit: Drop redundant NULL check before free().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 15:02:12 +02:00
Zebediah Figura e707578007 winegstreamer: Release the IAsyncReader on disconnection.
This allows "Zero Escape: Nine Hours, Nine Persons, Nine Doors" to start.

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 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 0e6fc4d81c qedit: Free type libraries on process detach (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
Gabriel Ivăncescu 28ec279518 qedit: Implement IMediaDet::get_StreamLength().
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-27 21:36:12 +02:00
Gabriel Ivăncescu 11fd209205 qedit: Use the pin's media type instead of querying for IFileSourceFilter.
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-27 21:36:12 +02:00
Gabriel Ivăncescu ef00425a9c qedit: Retrieve the pin media type using a helper function.
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-27 21:36:12 +02:00
Gabriel Ivăncescu ba5afd8c30 qedit: Check for S_OK when enumerating the source pin.
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-27 19:30:49 +02:00
Gabriel Ivăncescu 317d5c9688 qedit: Check for S_OK when enumerating the splitter pin.
The splitter may return S_FALSE (no pins) and this caused a crash when it
somehow matched with the File Source (Async).

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-27 19:30:47 +02:00
Gabriel Ivăncescu 4d94e773fc qedit: Remove the splitter from the graph if it failed to connect.
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-24 10:09:41 +02:00
Gabriel Ivăncescu 2e6f5e6784 qedit: Store the filename instead of querying the filter for it.
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-24 10:09:38 +02:00
Zebediah Figura 186c67b184 qedit/tests: Add some tests for IMediaDet::put_Filter().
Based on a patch by Gabriel Ivăncescu.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:09:36 +02:00
Gabriel Ivăncescu 8c157d8615 qedit: Implement IMediaDet::put_Filter().
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-24 10:09:34 +02:00
Gabriel Ivăncescu 2ba32469f2 qedit: Move GetSplitter up and rename it.
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-24 10:09:32 +02:00
Gabriel Ivăncescu 2bc334a0fd qedit: Move GetFilterInfo up and rename it.
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-24 10:09:26 +02:00
Gabriel Ivăncescu ac15cc7058 qedit: Use "Source" as the name of the source filter.
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-20 12:34:07 +02:00
Gabriel Ivăncescu 7a1a93a70a qedit: Implement IMediaDet::get_Filter().
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-20 12:34:04 +02:00
Gabriel Ivăncescu 15ea804a17 qedit: Implement IMediaDet::get_StreamTypeB().
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-20 12:33:59 +02:00
Gabriel Ivăncescu 9650f5a7db qedit: Implement IMediaDet::get_StreamType().
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-20 12:33:56 +02:00
Zebediah Figura 5217d17170 qedit/nullrenderer: Get rid of the NullRendererImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 10:47:03 +02:00
Zebediah Figura e838381a64 qedit/nullrenderer: Use calloc() in null_renderer_create().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 10:47:01 +02:00
Zebediah Figura 933195d0b6 qedit/samplegrabber: Get rid of the SG_Impl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 10:46:59 +02:00
Zebediah Figura 218c382fd4 qedit/samplegrabber: Use calloc() in sample_grabber_create().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-31 10:46:56 +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 9829385c38 qedit/samplegrabber: 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 98143898db qedit: 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:11:58 +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 8baf53bc07 qedit/samplegrabber: Correctly implement sample_grabber_sink_get_media_type().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:56:42 +01:00
Zebediah Figura 1196f4dfe0 qedit/samplegrabber: Check the filter media type also in sample_grabber_sink_query_accept().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-06 17:56:39 +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 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 e8e4fcc5a7 qedit/samplegrabber: Reconnect the sink pin if necessary.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 14:56:50 +01:00
Zebediah Figura 10c6b08b07 qedit/samplegrabber: Don't verify the format block in sample_grabber_sink_connect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 14:56:50 +01:00
Zebediah Figura 114b99fba9 qedit/samplegrabber: Correctly implement sample_grabber_source_get_media_type().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 14:56:50 +01:00
Zebediah Figura cdf7d4ff9a qedit/samplegrabber: Implement sample_grabber_source_query_accept().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 14:56:49 +01:00
Zebediah Figura a5f547420f qedit/samplegrabber: Don't overwrite the filter media type in sample_grabber_sink_connect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 14:56:49 +01:00
Zebediah Figura e09a47c4b7 qedit/samplegrabber: Use strmbase media type helpers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Zebediah Figura d11b31fdbe qedit/samplegrabber: Rename the "mtype" field to "filter_mt".
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Zebediah Figura 94111ea281 qedit/samplegrabber: Initialize the media type filter to use wild cards instead of "None" types.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Zebediah Figura a1a587a83a qedit/samplegrabber: Use BaseOutputPinImpl_AttemptConnection().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-07 21:28:24 +01:00
Zebediah Figura c1a559b72c qedit/tests: Add some tests for sample grabber pin connection.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 08:44:06 +01:00
Zebediah Figura 6f71e2c48d strmbase: Store the filter name and graph directly in the strmbase_filter structure.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-31 10:19:52 +01:00
Zebediah Figura d4bf8b2acd qedit: Use wide character string literals.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-21 20:55:08 +01:00