Commit Graph

250 Commits

Author SHA1 Message Date
Zebediah Figura 0ac31b8a62 quartz: Merge enumfilters.c into filtergraph.c.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
Zebediah Figura f371176eb7 quartz/filtergraph: Factor out find_filter_by_name().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
Zebediah Figura 06c5e950b1 quartz/filtergraph: Return correct interface for IID_IGraphVersion.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:40:56 +02:00
Zebediah Figura 702e4a4ca1 quartz: Return E_NOTIMPL from IBasicAudio methods if no filter supporting IBasicAudio is attached.
Based on a patch by Alistair Leslie-Hughes.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45366
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 10:28:28 +02:00
Zebediah Figura e5db13a8c8 quartz: Fix a use-after-free in FilterGraph2_Connect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-27 10:28:12 +01:00
Zhenbo Li 1f765fb0bb quartz: Remove an unnecessary if.
Signed-off-by: Zhenbo Li <litimetal@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:25:41 +01:00
Andrew Eikum e2a4974f39 quartz: Downgrade FIXME->WARN.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:37:20 +01:00
Andrew Eikum c6a4811edf quartz: Clean up another trace for consistency.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:37:17 +01:00
Akihiro Sagawa 478feea23c quartz: Keep This/iface order in TRACEs for consistency.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:00 +01:00
Nikolay Sivov 5cdb0b5842 quartz: Use wine_dbgstr_longlong() to trace REFERENCE_TIME.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-25 19:50:26 +01:00
Andrew Eikum 4fefafe5cd quartz: Clarify debug strings.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-17 16:49:02 -07:00
Michael Stefaniuc fd99282319 quartz: There is no point in tracing the GUID pointer too.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:22:52 +09:00
Anton Baskanov f253e6cf93 quartz: Set the result to 1.0 in FilterGraph::GetRate.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 21:30:04 +09:00
Anton Baskanov e4dbaeebbd quartz: Handle NULL target format in FilterGraph::ConvertTimeFormat.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 19:10:05 +09:00
Nikolay Sivov ed65fc7ced quartz: Explicitly compare to HRESULT values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-03 20:04:35 +01:00
Thomas Faber 3b48ba6c1d quartz: Don't cache IFilterMapper2 interface in FilterGraph2.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:09:04 +01:00
Thomas Faber b700634b0c quartz: Fix IEnumMoniker reference leak in FilterGraph2_Connect.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 01:28:31 +09:00
Qian Hong 8254058cbb quartz: Fix error code when checking circular connection.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-11 20:03:24 +09:00
Qian Hong 682291fb71 quartz: Fix crashing when connect to NULL Pin.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-11 20:03:14 +09:00
Nikolay Sivov 5120fa9090 quartz: Implement a trivial case of ConvertTimeFormat(). 2015-05-18 14:06:34 +09:00
Aidan Thornton 1f7683777b quartz: Implement IFilterGraph2::AddSourceFilterForMoniker. 2014-12-17 19:36:35 +01:00
Nikolay Sivov b5cd477523 quartz: Use V_* macros to access variant members. 2014-09-03 11:21:53 +02:00
Nikolay Sivov 44818ce0f9 quartz: Check GetCurFile() return value (Coverity). 2014-04-14 10:25:51 +02:00
Michael Stefaniuc bacd9abbc0 quartz: Cast to the correct type instead to void pointer. 2013-12-02 10:50:57 +01:00
Frédéric Delanoy ec5da171e6 quartz: Use BOOL type where appropriate. 2013-10-25 13:36:01 +02:00
Frédéric Delanoy bd961941e0 quartz: Use BOOL type where appropriate. 2013-10-11 11:06:08 +02:00
Michael Müller 2fcfde0f62 quartz: Pass correct interface to IBaseFilter::JoinFilterGraph in function FilterGraph2_AddFilter. 2013-09-23 11:50:15 +02:00
Alessandro Pignotti 4910121972 quartz: The filter graph manager should handle GetCurrentPosition itself. 2013-03-05 09:50:03 +01:00
Alessandro Pignotti d1ff1c0495 quartz: It's not guaranteed that filters have a GUID in the property bag. 2013-03-01 18:03:30 +01:00
Alessandro Pignotti 3271406502 quartz: Get the CLSID directly from the filter. 2013-03-01 18:03:30 +01:00
Alessandro Pignotti 1ebed65e92 quartz: Use the moniker to create the filter directly. 2013-03-01 18:03:30 +01:00
Alessandro Pignotti e583f8806e quartz: Check byte patterns in GetFileSourceFilter.
The idea is to create a temporary AsyncReader and use it to match a
better filter. If no match is found the temporary filter is returned.
2013-02-27 19:23:12 +01:00
Alessandro Pignotti ebc37f45e6 quartz: Properly implement IGraphVersion in IFilterGraph. 2013-02-25 10:40:40 +01:00
Alessandro Pignotti ea16925d8c quartz: IEnumFiltersImpl needs to access data from IGraphFilterImpl. 2013-02-25 10:40:40 +01:00
Christian Costa 80b33cf38b quartz: Remove redundant traces. 2012-10-12 12:12:34 +02:00
Christian Costa 7ea44c0007 quartz: Forward IMediaControl_RenderFile to IFilterGraph2_RenderFile. 2012-10-09 18:32:24 +02:00
Marcus Meissner 791bc1cb93 quartz: Handle freeing pins in error case (Coverity). 2012-09-03 15:49:31 +02:00
Nikolay Sivov 17450f0be0 quartz: Use proper method macros. 2012-08-15 12:17:54 +02:00
Michael Stefaniuc 4e57e3bf52 quartz: Remove an object to IFilterGraph2 cast. 2012-07-09 10:00:15 -04:00
Michael Stefaniuc 692814e1f2 quartz: Standardize COM aggregation for FilterGraph. 2012-07-02 10:55:56 +02:00
Aric Stewart 10b2a21c3b quartz: Do not report a position unless the filter graph is running or has been paused. 2012-02-06 10:19:31 -06:00
Aric Stewart 53bd62737c quartz: If the MediaSeeking is not implemented all the way up the passthru chain fall back to the filtergraph's clock to find position. 2012-02-01 16:42:44 +01:00
Aric Stewart 8c91f1bf5e quartz: Implement IObjectWithSite and IAMGraphBuilderCallback for the FilterGraph. 2012-01-16 18:17:49 +01:00
André Hentschel b5ba054ce8 Assorted header comment cleanup. 2012-01-04 19:35:13 +01:00
Erich Hoover 09f134cb69 quartz: Fix converting between the media time and REFTIME. 2011-09-12 16:49:58 +02:00
Michael Stefaniuc 92f29035d8 quartz: COM cleanup for the IMediaPosition iface. 2011-07-01 14:39:36 +02:00
Michael Stefaniuc 482879462a quartz: COM cleanup for the IGraphConfig iface. 2011-07-01 14:39:36 +02:00
Michael Stefaniuc 13626d06e6 quartz: COM cleanup for the IMediaEventSink iface. 2011-07-01 14:39:36 +02:00
Michael Stefaniuc e97b34b26e quartz: COM cleanup for the IMediaFilter iface. 2011-07-01 14:39:36 +02:00
Michael Stefaniuc eca149bb4b quartz: COM cleanup for the IMediaEventEx iface. 2011-07-01 14:39:36 +02:00
Michael Stefaniuc 6d929c71b6 quartz: COM cleanup for the IVideoWindow iface. 2011-07-01 14:39:36 +02:00
Michael Stefaniuc a37208ba96 quartz: COM cleanup for the IBasicVideo2 iface. 2011-07-01 14:39:35 +02:00
Michael Stefaniuc 8d52dffc6d quartz: COM cleanup for the IBasicAudio iface. 2011-07-01 14:39:35 +02:00
Michael Stefaniuc deb489c2d2 quartz: COM cleanup for the IMediaSeeking iface. 2011-07-01 14:39:35 +02:00
Michael Stefaniuc 6c3e62fdaf quartz: COM cleanup for the IMediaControl iface. 2011-07-01 14:39:35 +02:00
Michael Stefaniuc 2d589407b3 quartz: Pass the object instead of the iface to an internal helper. 2011-07-01 14:39:35 +02:00
Michael Stefaniuc f888eb9135 quartz: COM cleanup for the IFilterGraph2 iface. 2011-07-01 14:39:35 +02:00
Austin English 376bbd1ecc quartz: Remove extraneous parentheses (LLVM/Clang). 2011-04-13 14:13:55 +02:00
Maarten Lankhorst b353f32453 quartz: Handle seeking while running better. 2010-12-14 16:01:11 +01:00
Maarten Lankhorst 804a9d14c9 quartz: Remove default clock if the providing filter is removed from filtergraph. 2010-12-06 19:15:51 +01:00
Maarten Lankhorst 6e7aff2544 quartz: Add support for filtermapper3 to filtergraph. 2010-12-03 14:28:29 +01:00
Maarten Lankhorst 2b01660178 quartz: Handle selecting default sync source better. 2010-11-29 19:43:33 +01:00
Maarten Lankhorst 0a4adc1f10 quartz: Prevent circular connections in render case too. 2010-11-25 11:49:06 +01:00
Maarten Lankhorst 10c51a80f0 quartz: Reset stream time when paused after seeking. 2010-11-10 12:14:32 +01:00
Maarten Lankhorst 120dd66ed2 quartz: Actually use the start time in SendRun. 2010-11-08 13:30:26 +01:00
Maarten Lankhorst 4f8584ac27 quartz: Remove position from filtergraph. 2010-11-08 13:30:25 +01:00
Maarten Lankhorst 769b3b515f quartz: Fix run/pause/stop in filtergraph. 2010-11-05 17:15:36 +01:00
Maarten Lankhorst 14229c1176 quartz: Simplify all_renderers_seek.
Since IAMFilterMiscFlags is supported by all source/renderer filters, use that instead.
2010-11-05 17:15:36 +01:00
Maarten Lankhorst 7fda01e522 quartz: Change HeapRealloc call to CoTaskMemRealloc. 2010-11-05 17:15:35 +01:00
Michael Stefaniuc 63512e8e98 quartz: Avoid using the long type. 2010-05-20 13:47:44 +02:00
Maarten Lankhorst 5568f33db3 quartz: Forward IMediaFilter to IMediaControl. 2010-05-18 08:50:54 +02:00
Paul Chitescu e03b98ec68 quartz: Only wait in IMediaEvent::WaitForCompletion if the filter is running. 2009-12-24 12:15:40 +01:00
Alexandre Julliard a3fbb39299 quartz: Implemented a number of the MediaPosition methods. 2009-11-24 15:53:37 +01:00
Michael Stefaniuc 7ef5f44bb5 include: Change long to LONG in axextend.idl. 2009-03-12 13:09:54 +01:00
Michael Stefaniuc a3269bdc40 quartz: Change long to LONG in control.idl. 2009-03-11 13:03:31 +01:00
Michael Stefaniuc cc7fc4abef quartz: Remove superfluous pointer casts. 2009-01-29 14:06:01 +01:00
Lei Zhang 7e1b714f74 quartz: Enumerate all the pins on filter and check directions when rendering. 2008-12-16 12:52:32 +01:00
Christian Costa 14485c365b quartz: Avoid leaking penummt and mt on error. 2008-12-01 14:05:49 +01:00
Francois Gouget 9517637eb4 quartz: Remove WINAPI on static functions where not needed. 2008-11-26 12:10:48 +01:00
Maarten Lankhorst 8699661e96 quartz: Fix FilterGraph2_Connect to be thread-safe and not recurse infinitely. 2008-11-17 13:50:19 +01:00
Maarten Lankhorst f57896484c Revert "quartz: Reaching a renderer in the filtergraph is not an error."
This is plain wrong, input pin and output pin are supposed to be 
connected to each other, not the input pin being connected to a renderer 
pin and NOT reaching output pin
2008-11-17 13:11:42 +01:00
Lei Zhang 62a0bd65d2 quartz: Reaching a renderer in the filtergraph is not an error. 2008-11-14 11:02:15 +01:00
David Adam 6ed258e220 quartz: Check for NULL condition in FilterGraph2_Disconnect. 2008-11-12 11:49:12 +01:00
Andrew Talbot a19ff5f07b quartz: Sign-compare warnings fix. 2008-11-05 10:56:54 +01:00
Michael Stefaniuc 56c6f7670b quartz: Use the right FAILED/SUCCEEDED macro instead of negating the opposite. 2008-10-08 13:42:06 +02:00
Rob Shearman 2fb89a4e36 quartz: Fix placement of WINAPI attribute in fnFoundSeek typedef.
MSVC requires that calling conventions appear inside the brackets.
2008-10-01 11:44:07 -05:00
Maarten Lankhorst f0f00d1625 quartz: Implement IMediaPosition::put_CurrentPosition. 2008-09-22 13:46:04 +02:00
Alexander Dorofeyev bca80e1a64 quartz: Fix interface leak in FilterGraph2_Render. 2008-07-18 11:15:30 +02:00
Alexander Dorofeyev 1656f6b7cc quartz: Add missing VariantClear after GetFilterInfo calls. 2008-07-18 11:15:24 +02:00
Alexander Dorofeyev 1cd83afda3 quartz: Fix variant handling in GetFilterInfo.
Removes unnecessary and unsafe type assignment, adds a missing VariantClear.
2008-07-18 11:15:17 +02:00
Alexander Dorofeyev 6645999337 quartz: Fix interface leak in FilterGraph2_RemoveFilter. 2008-07-18 11:15:01 +02:00
Alexander Dorofeyev 0bea470dfc quartz: Aggregate filtermapper in filtergraph. 2008-07-18 11:13:14 +02:00
Maarten Lankhorst 86393897a8 quartz: Make filtergraph quieter. 2008-07-10 14:38:16 +02:00
Francois Gouget dbaec0a101 Assorted spelling fixes. 2008-07-10 13:40:15 +02:00
Alexander Dorofeyev 27c0cddbab quartz: Do not try renderers first. Use a single enumeration pass. 2008-07-09 10:43:27 +02:00
Maarten Lankhorst 6e4288ee70 quartz: Fix tiny bug in IGraphBuilder_Render. 2008-07-07 12:11:23 +02:00
Maarten Lankhorst d54c53a4b6 quartz: Fix Render and RenderFile.
RenderFile should add a source filter and call Render on each output
pin, while Render() should try to connect, first directly to any
existing renderers, and then using intermediates. It uses recursion
since this is the only possible way to implement Render sanely.
2008-06-27 11:13:10 +02:00
Maarten Lankhorst 0d1eea691c quartz: Make FilterGraph_Connect and ConnectDirect behave better.
Does some security checks that it won't connect a filter to itself,
and also cleans up after a failed connection attempt.
2008-06-27 11:12:03 +02:00
Maarten Lankhorst 46f4c4b4d8 quartz: Make removing filters work slightly better. 2008-06-27 11:10:44 +02:00
Maarten Lankhorst 0bdc8bc5c1 quartz: Implement GraphConfig_Reconfigure. 2008-06-24 11:47:04 +02:00