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
Maarten Lankhorst
00beed3d9e
quartz: Implement IBasicVideo2 for the filtergraph.
2008-06-21 11:16:54 +02:00
Maarten Lankhorst
29b6dbab80
quartz: Implement MediaControl_GetState.
...
This allows applications to wait for state transitions to be really
complete. Fixes some xvid crashes.
2008-06-21 11:16:36 +02:00
Maarten Lankhorst
aaee8a1b0e
quartz: Try to render any existing renderers before creating a new one.
2008-06-21 11:16:32 +02:00
Lei Zhang
a4d0d4fe36
quartz: Check input in MediaControl_GetState.
2008-05-13 10:57:45 +02:00
Maarten Lankhorst
810a933f68
quartz: Change longlong printfs.
2008-04-21 14:05:37 +02:00
Maarten Lankhorst
1281b74956
quartz: Update start_time if the current position is changed.
2008-04-15 14:33:45 +02:00
Maarten Lankhorst
43f9fff0a0
quartz: Implement stop position in the filtergraph.
2008-04-10 09:48:13 +02:00
Maarten Lankhorst
0117468754
quartz: Try creating the file reader from the filter source first before falling back to the generic async file reader.
2008-04-09 11:42:37 +02:00
Maarten Lankhorst
ee792916e0
quartz: Reset EcCompleteCount before starting filters.
...
This sends EC_COMPLETE notifications to the application after a graph has
finished running for the second time.
2008-04-07 11:35:29 +02:00
Maarten Lankhorst
3d3dcc4e07
quartz: Fix past mistake to release lock during seeking and changing state.
2008-04-07 11:35:21 +02:00
Maarten Lankhorst
cfeca053b8
quartz: Fix memory leak found by valgrind.
2008-04-03 11:29:47 +02:00
Maarten Lankhorst
855e3a08b5
quartz: Implement filtergraph mediaseeking setposition.
2008-04-02 11:15:43 +02:00
Maarten Lankhorst
7cb1324ae3
quartz: Don't hold lock when changing state in filtergraph.
2008-04-02 11:15:29 +02:00
Maarten Lankhorst
c56389ea3c
quartz: Implement graph MediaSeeking GetPositions.
2008-04-01 23:38:22 +02:00
Maarten Lankhorst
39623a403a
quartz: Add GetCurrentPosition using the reference clock.
2008-03-28 09:51:00 +01:00
Maarten Lankhorst
c53a803ab7
quartz: Fix checking for duration.
2008-03-20 14:27:34 +01:00
Maarten Lankhorst
d38b8502a6
quartz: Pass the reference time + small delay on on begin of playback.
2008-03-20 14:27:34 +01:00
Maarten Lankhorst
796bb92333
quartz: Move IMediaSeeking from the parser pin to the parser filter.
...
This interface really shouldn't be in a pin, but rather in the
implementation of the filter, since any seeking is done on the entire
filtergraph, so implementing it in the filter makes more sense.
2008-03-19 11:24:46 +01:00
Maarten Lankhorst
0f8b16f117
quartz: Implement a few MediaSeeking functions.
2008-03-15 11:21:22 +01:00
Maarten Lankhorst
18f42a6eb7
quartz: Change some more stubs from traces to fixmes.
2008-03-15 11:21:05 +01:00
Maarten Lankhorst
b662a6a556
quartz: Add initial support for time formats in IMediaSeeking.
...
Only support the SYSTEM_MEDIA_TIME for now.
2008-03-15 11:20:59 +01:00
Maarten Lankhorst
ffe48d4013
quartz: Make MediaSeeking stubs fixmes.
2008-03-15 11:20:50 +01:00
Maarten Lankhorst
b1f9acc688
quartz: Set a default sync source on the filtergraph.
...
Use the fallback system IReferenceClock, unless the app comes up with
its own clock.
2008-03-15 11:20:18 +01:00
Maarten Lankhorst
14ba79ec62
quartz: Fix IFilterGraph RemoveFilter to stop the filter before removing it.
...
Also checks for VFW_E_NOT_STOPPED that is allowed to cause a
disconnection to fail.
2008-03-15 10:58:38 +01:00
Maarten Lankhorst
d47bdbfbf1
quartz: Destroy the filtergraph better in releasing.
...
RemoveFilter is better at removing a filter from a filtergraph then
some method there.
2008-03-15 10:58:38 +01:00
Maarten Lankhorst
07b12032d2
quartz: Don't add MERIT_DO_NOT_USE filters automatically to create a connection.
...
NullRenderer might accidentally be rendered otherwise.
2008-03-14 12:54:27 +01:00
Lei Zhang
0831be5adc
quartz: Validate input for FilterGraph2_AddFilter.
2008-03-06 13:19:34 +01:00
Rob Shearman
da93bc702f
quartz: Fix memory leak in FilterGraphInner_Release.
2007-12-26 14:02:10 +01:00
Lei Zhang
99a193ce7e
quartz: Make filtergraph aggregatable.
2007-12-21 13:58:33 +01:00
Lei Zhang
f5cd582bae
quartz: Fix typo in GraphConfig_AddRef.
2007-12-14 12:25:26 +01:00
Lei Zhang
cff265950a
quartz: Add IFilterGraph2 interface and stubs.
2007-12-11 12:09:38 +01:00
Lei Zhang
2d1a6016c9
quartz: Validate input for IFilterGraph_FindFilterByName.
2007-12-07 17:04:34 +01:00
Lei Zhang
31aab42934
quartz: Fix return value in IFilterGraph_FindFilterByName.
2007-12-07 17:04:26 +01:00
Andrew Talbot
1f3133d214
quartz: Constify some variables.
2007-08-08 15:32:00 +02:00
Michael Stefaniuc
f10e6d7e37
quartz: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:20 +02:00
Marcus Meissner
d2bc96bf8a
quartz: ppinsplitter might be used uninitialized (Coverity).
2007-05-23 13:14:51 +02:00
Chris Robinson
f352d9de98
quartz: Send a notification when the filter graph clock changes.
2007-04-06 12:31:07 +02:00
Chris Robinson
d51098ef11
quartz: Avoid releasing NULL objects.
2007-04-06 12:31:07 +02:00
Chris Robinson
f9527e9ce8
quartz: Implement Get/SetSyncSource for the FilterGraph's IMediaFilter interface.
2007-04-04 21:26:04 +02:00
Chris Robinson
60f325d967
quartz: Add filters using their names.
2007-03-30 10:55:20 +02:00
Michael Stefaniuc
0674ff43b2
quartz: Fix typo that produced an empty if-statement.
2007-03-20 13:00:30 +01:00
Chris Robinson
6eefb9d3dd
quartz: Release objects when they're no longer needed.
2007-03-19 12:24:09 +01:00
Chris Robinson
54f4a4a779
quartz: Disconnect pins when their filter is removed.
2007-03-19 12:24:02 +01:00
Jan Zerebecki
b5619e8628
quartz: Add DebugInfo to critical sections.
...
Also add missing DeleteCriticalSection.
2007-03-12 13:39:49 +01:00
Chris Robinson
045270605c
quartz: Use proper alloc/free functions for COM objects.
2007-03-08 13:53:54 +01:00
Chris Robinson
5a19e3b7bc
quartz: Use the right vtable offset for the IMediaFilter functions.
2007-03-05 12:14:15 +01:00
Chris Robinson
3f089b4424
quartz: Use the proper CLSID when creating the IFilterMapper2 interface.
2007-03-05 12:08:09 +01:00
Chris Robinson
ac647156d8
quartz: Implement IUnknown methods for IMediaPosition.
2007-02-21 10:53:59 +01:00
Chris Robinson
5a8ee37191
quartz: Don't release filters when they connect.
2007-02-21 10:53:54 +01:00
Chris Robinson
4284c504ab
quartz: Initialize a pointer to NULL for the case of no enumerated filters.
2007-02-20 12:02:15 +01:00
Chris Robinson
7d597264dc
quartz: Add IMediaPosition interface and stubs.
2007-02-20 12:01:54 +01:00
Chris Robinson
31407d2659
quartz: Better handle error conditions when connections fail.
2007-02-20 12:01:33 +01:00
Chris Robinson
c5ae1fc7d8
quartz: Return proper error codes from GraphBuilder_RenderFile.
2007-02-19 12:42:53 +01:00
Chris Robinson
763fc7cf3a
quartz: Make sure the splitter has output plugins before trying to render them.
2007-02-19 12:42:46 +01:00
Chris Robinson
2250c2898f
quartz: Loop through the rest of the possible filters even when a connection fails.
2007-02-14 12:30:13 +01:00
Andrew Talbot
35c0886939
quartz: Cast-qual warning fix.
2006-11-10 11:36:57 +01:00
Francois Gouget
9fe4673347
Don't include windows.h & co in the Wine sources.
...
Remove uneeded COM_NO_WINDOWS_H defines.
2006-10-24 17:47:09 +02:00
Hans Leidekker
cfbb859f59
quartz: Win64 printf format warning fixes.
2006-10-13 12:08:41 +02:00
Stefan Leichter
19d275f775
quartz: Print 64bit integers with wine_dbgstr_longlong.
2006-08-18 20:56:20 +02:00
Paul Vriens
cc6bb93baa
quartz: Fixed typo (Coverity).
2006-06-29 14:39:27 +02:00
Mike McCormack
d20c6cf8ca
Fixed more boolean comparisons against TRUE.
2006-05-24 14:38:20 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Christian Costa
bfbba1a6fd
Fix function names.
2005-09-25 15:17:30 +00:00
Alexandre Julliard
c6b005ac69
Fixed some more traces to use the right printf format and avoid
...
typecasts.
2005-09-12 14:12:46 +00:00
Mike McCormack
dc1c62a592
Fix gcc 4.0 warnings.
2005-09-07 11:31:17 +00:00
Christian Costa
df75a4f028
Forward calls of IBasic* and IVideoWindow interfaces of the
...
filtergraph to the right filter.
2005-09-02 11:20:09 +00:00
Christian Costa
6301fec0ef
Properly allocate/release memory when adding filters to the filtergraph.
...
When connecting pin, discard filter which is the same as the upstream
one.
Remove wrong extra IBaseFilter_Release.
Improve traces by showing filters owing pins we want to connect or
render.
Properly initialize output pin of transform filter.
2005-08-22 09:21:24 +00:00
Christian Costa
7f3c43b5c9
Add stubbed IGraphConfig interface to the filtergraph.
2005-08-17 09:52:15 +00:00
Mike McCormack
0791d06215
Interlocked LONG* gcc warning fixes.
2005-07-12 19:21:36 +00:00
Dmitry Timoshkov
eba47f1dfe
Make remaining OLE interface vtables const.
2005-06-06 19:50:35 +00:00
Maarten Lankhorst
05d658d012
Added reconnect function for filtergraph.
2005-05-18 13:25:49 +00:00
Maarten Lankhorst
8efc1f3612
Fixed a dozen of reference (and some memory) leaks.
...
Implemented filtergraph_pause/stop.
2005-05-06 14:34:44 +00:00
Christian Costa
7180775af6
Forward CLSID_FilterGraphNoThread to CLSID_FilterGraph.
2005-05-05 09:50:35 +00:00
Jakob Eriksson
9ed61de9a2
Get rid of HeapAlloc casts.
2005-03-24 21:01:35 +00:00
Christian Costa
7dea79c487
Handle End Of Stream notifications.
...
Some AVI Splitter fixes.
2005-03-02 10:12:12 +00:00
Christian Costa
b3f064ccc7
Fixed error handling in Graphbuilder_RenderFile.
...
Improved traces.
2005-01-09 18:24:41 +00:00
Paul Vriens
c6559a104c
- Use Interlocked* functions in AddRef and Release.
...
- Store the result of the Interlocked functions and use only this.
2005-01-06 19:36:47 +00:00
Christian Costa
45f111a276
Implemented IMediaControl_Run that explores the graph, counts
...
renderers and starts filters.
Better implementation of IBaseFilter_Run for AVI SPlitter and AVI
Decompressor.
Use the standard memory allocator when an output pin does not provide
any allocator.
Set allocator properties for AVI Decompressor output pin and update
the buffers size at connection time.
2005-01-03 20:23:14 +00:00
Christian Costa
9b8d5c625f
Initialize the COM libraries for the newly created worker thread in
...
the AVI splitter.
Fixed some returned error codes.
Show refcount in the AddRef/Release traces in filter.
Added 24 bits source in the video renderer.
2004-12-27 17:15:58 +00:00
Francois Gouget
6fb1a20020
Assorted spelling fixes.
2004-12-20 19:27:06 +00:00
Christian Costa
1d90e4312f
Many fixes to the system clock implementation.
...
Ensure there is a clock before doing any AddRef or Release in the AVI
splitter.
Improved tests a bit.
Misc fixes and traces clean-up.
2004-12-16 14:25:15 +00:00
Christian Costa
8d01911493
Better handling of errors in RenderFile.
2004-12-06 11:47:13 +00:00
Christian Costa
8db6b0a514
Implemented IGraphBuilder methods: Connect, Render, RenderFile &
...
AddSourceFilter.
Fixed filter name generation in IGraphBuilder::AddFilter.
2004-11-19 18:17:27 +00:00
Joris Huizer
823c418d8e
Added IClassFactory->CreateInstance aggregation checks.
2004-10-18 21:21:19 +00:00
Francois Gouget
486d020c1b
Don't define COBJMACROS in objbase.h.
...
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Alexandre Julliard
5ee74004a5
Converted control.h to idl.
2004-10-05 02:18:08 +00:00
Alexandre Julliard
f714b39762
Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
...
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Christian Costa
385d89a770
Enable querying of IID_FilterGraph interface from filtergraph manager
...
(spotted by Robert Reif).
2004-04-30 04:14:19 +00:00
Michael Stefaniuc
ca97f7fd26
Fix cut'n'paste error: leave the CriticalSection not enter it again
...
(found by smatch).
2004-04-05 20:16:35 +00:00
Christian Costa
aca2cfc319
Implemented IMediaEventSink and IMediaEventEx interfaces.
2004-03-05 20:42:40 +00:00
Christian Costa
b0c9f6a34d
Implemented IFilterGraphImpl_EnumFilters and IEnumFilters interface.
...
Renamed constructor of IEnumRegFilters interface.
Small fix in IFilterMapper_EnumMatchingFilters.
2004-03-04 06:07:30 +00:00
Christian Costa
203b526a8b
Handle null and duplicate name when adding a filter to the
...
filtergraph.
2004-03-03 02:18:13 +00:00
Robert Shearman
3f854103ad
- Fix IGraphBuilder::ConnectDirect.
...
- Register IFilterMapper and IFilterMapper2 in DllRegisterServer.
2003-12-30 19:13:05 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Robert Shearman
cae7755a70
- Bugfix when adding filters to graph due to not initializing
...
variables on creation of graph.
- Remove clue of where I copied one of the copyright messages from.
- Add implementation of input and output pins which will be used by a
lot of filters in Quartz.
2003-08-06 22:04:45 +00:00
Robert Shearman
bd1173ca27
- Improve QueryInterface FIXME message.
...
- Add stubs for IMediaFilter interface in IGraphBuilder.
- Implement some simple methods.
2003-07-03 18:09:28 +00:00
Robert Shearman
c71301a308
Implemented IFilterMapper2.
2003-07-01 04:29:48 +00:00
Robert Shearman
7c8b85a222
- Added DShow headers.
...
- Added needed const's in FilterGraph implementation.
2003-06-30 20:24:52 +00:00
Lionel Ulmer
1fa9624682
Stubbed some interfaces for the FilterGraph CLSID.
2003-06-13 18:06:44 +00:00