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