Maarten Lankhorst
907bb7ae1f
quartz: Requeue in pullpin if request for data timed out.
...
If the filter is paused, no additional data will be queued and
VFW_E_TIMEOUT is legitimately returned. Don't make this a fatal error,
but instead try again. If flushing the thing will still abort.
2008-09-22 13:46:22 +02:00
Maarten Lankhorst
d458efe072
quartz: Return VFW_E_WRONG_STATE in file source if flushing.
2008-09-22 13:46:17 +02:00
Maarten Lankhorst
c71ba1a141
quartz: Don't abort starting for unconnected pin in avi splitter.
2008-09-22 13:46:12 +02:00
Maarten Lankhorst
fd966f8322
quartz: Add missing calls to EndFlush.
2008-09-22 13:46:08 +02:00
Maarten Lankhorst
f0f00d1625
quartz: Implement IMediaPosition::put_CurrentPosition.
2008-09-22 13:46:04 +02:00
Alexander Dorofeyev
48865c9064
quartz/tests: Fix potential NULL dereference (Coverity).
2008-09-10 11:03:23 +02:00
Paul Vriens
ee14852ea9
quartz/tests: Fix the tests on several platforms.
2008-09-09 12:32:21 +02:00
Paul Vriens
8f23fc4e2f
quartz/tests: Add a missing CoUninitialize.
2008-09-05 16:26:29 +02:00
Gerald Pfeifer
dc302b7c1d
quartz: Add return statement to PullPin_Thread_Main().
2008-09-02 12:51:18 +02:00
Paul Vriens
5bef4b05dd
quartz/tests: Use CreateFileA instead of CreateFileW to please win9x.
2008-08-28 11:24:49 +02:00
Alexandre Julliard
5d900bb0f6
Avoid some size_t printf format warnings.
2008-08-21 16:05:15 +02:00
Rob Shearman
a35431a194
quartz: Use memcmp instead of strncmp in MPEGSplitter_pre_connect.
...
header isn't a string and therefore using strncmp doesn't make sense.
2008-08-18 17:34:13 +02:00
Rob Shearman
03a25b487f
quartz: Fix testing of HRESULT types with not operator instead of comparing against S_OK.
...
This makes it more obvious what the code is doing.
2008-08-18 17:34:12 +02:00
Paul Vriens
04c40f2f5f
quartz/tests: Skip some tests on NT4.
2008-08-05 14:09:34 +02:00
Maarten Lankhorst
94ef37400d
quartz: Fix support for files with multiple odml indexes.
2008-07-29 11:54:52 +02:00
Maarten Lankhorst
6becc9e14b
quartz: Fix end of file handling when first request is already end of file.
2008-07-29 11:54:41 +02:00
Maarten Lankhorst
89f4eeece3
quartz: Pass InputPin as parameter to transform filter.
2008-07-29 11:54:28 +02:00
Maarten Lankhorst
2b452ced74
quartz: Use correct media type in transformfilter's QueryAccept.
2008-07-29 11:54:20 +02:00
Maarten Lankhorst
db2ccf43d4
quartz: Make transform filter return hresult from running/pausing.
2008-07-29 11:54:15 +02:00
Maarten Lankhorst
fa38a7e313
quartz: Trace the iface pointer in the memory allocator.
2008-07-29 11:54:07 +02:00
Francois Gouget
a516f27c2f
quartz: assert.h is not a local include.
2008-07-28 11:34:26 +02:00
Maarten Lankhorst
3376ba6113
quartz: Fix end of stream handling in avi splitter.
...
The last frame wouldn't always be sent, this fixes that.
2008-07-22 13:11:22 +02:00
Maarten Lankhorst
271ee48301
quartz: Fix bugs that occur during connection.
2008-07-21 14:36:14 +02:00
Maarten Lankhorst
0f9356eb16
quartz: Fix handling of zero byte samples and endofstreams.
2008-07-21 14:36:04 +02:00
Francois Gouget
bc5ce27947
Assorted spelling fixes.
2008-07-21 13:00:01 +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
7c5a4481b1
quartz/tests: Fix interface leaks in filtergraph test.
2008-07-18 11:15:08 +02:00
Alexander Dorofeyev
6645999337
quartz: Fix interface leak in FilterGraph2_RemoveFilter.
2008-07-18 11:15:01 +02:00
Alexander Dorofeyev
4afad0a413
quartz/tests: Fix interface leaks in aggregation test.
2008-07-18 11:14:52 +02:00
Alexander Dorofeyev
33c6eeb9e3
quartz/tests: Add filtermapper aggregation tests.
2008-07-18 11:13:33 +02:00
Alexander Dorofeyev
4bc76025ba
quartz/tests: Test querying IFilterMapper2 from FilterGraph.
2008-07-18 11:13:24 +02:00
Alexander Dorofeyev
0bea470dfc
quartz: Aggregate filtermapper in filtergraph.
2008-07-18 11:13:14 +02:00
Alexander Dorofeyev
d39ee67019
quartz: Make Filtermapper aggregatable.
2008-07-18 11:12:16 +02:00
Maarten Lankhorst
5299795a8d
quartz: Fix wrong assignment of variable in parser.
2008-07-16 17:58:30 +02:00
Maarten Lankhorst
3ad7198961
quartz: Explicitly handle wave headers in avi splitter.
2008-07-16 17:52:31 +02:00
Maarten Lankhorst
28d6203ca9
quartz: Fix reference leak in avi splitter on end of stream.
2008-07-14 12:21:40 +02:00
Maarten Lankhorst
0e9704b02d
quartz: Only allocate 1 buffer in transform filter.
2008-07-14 12:21:33 +02:00
Maarten Lankhorst
cf1d2f5e42
quartz: Fix memory and sample leaks.
2008-07-14 12:21:26 +02:00
Maarten Lankhorst
36418d8ad1
quartz: Fix incorrect use of mtCurrent in transform filter.
2008-07-14 12:21:10 +02:00
Maarten Lankhorst
61ba32c036
includes: Add video mixing renderer header.
2008-07-11 14:50:44 +02:00
Michael Stefaniuc
5c0ff73db2
quartz: Add missing LeaveCriticalSection on error path (Smatch).
2008-07-11 14:07:25 +02:00
Maarten Lankhorst
2865c727de
quartz: Make the file source rotate around the 'first' sample, to prevent starvation of a single stream.
...
This prevents the file source from starving a single thread off.
2008-07-11 13:58:24 +02:00
Maarten Lankhorst
484fdcf7e4
quartz: End the flush downstream first before restarting playback in pullpin.
2008-07-11 13:58:18 +02:00
Maarten Lankhorst
e47bc7725e
quartz: Call run before pausing in transform filter.
2008-07-10 14:42:38 +02:00
Maarten Lankhorst
86393897a8
quartz: Make filtergraph quieter.
2008-07-10 14:38:16 +02:00
Maarten Lankhorst
fe9840f213
quartz: Make parser start even if some of the pins aren't connected.
2008-07-10 14:38:09 +02:00
Francois Gouget
dbaec0a101
Assorted spelling fixes.
2008-07-10 13:40:15 +02:00
Maarten Lankhorst
adcf93aeaf
quartz: Fix deadlocks in dsound renderer.
2008-07-10 12:18:13 +02:00
Michael Stefaniuc
310b58994c
quartz: Compare a file handle to INVALID_HANDLE_VALUE and not NULL.
2008-07-10 12:17:59 +02:00
Maarten Lankhorst
43d0acd26a
quartz: Fix end of stream handling.
...
Flushing blocks any end of stream that may occur.
2008-07-10 12:17:20 +02:00
Maarten Lankhorst
6748f073ed
quartz: Always set current position again.
2008-07-10 12:17:10 +02:00
Maarten Lankhorst
3adf811645
quartz: Add tests for avi splitter.
2008-07-09 10:59:31 +02:00
Maarten Lankhorst
19360d41a0
quartz: Add rewrite of avi splitter.
2008-07-09 10:59:27 +02:00
Maarten Lankhorst
992fb02c73
quartz: Fix deadlock with transform filter.
2008-07-09 10:58:27 +02:00
Alexander Dorofeyev
2364514431
quartz/tests: Add test for filter priority in IFilterGraph2_Render.
2008-07-09 10:43:33 +02:00
Alexander Dorofeyev
27c0cddbab
quartz: Do not try renderers first. Use a single enumeration pass.
2008-07-09 10:43:27 +02:00
Alexandre Julliard
79c64acc7b
tests: Don't depend on the static uuid libraries in the tests.
...
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
Andrew Talbot
f0d7a2910e
quartz: Remove unneeded address-of operators from function names.
2008-07-07 12:31:47 +02:00
Maarten Lankhorst
53782ca47a
quartz: Fix parser/pullpin to only care about the state transition stopped<->playing.
2008-07-07 12:11:23 +02:00
Maarten Lankhorst
e58855e0e9
quartz: Only call begin process functions in transform filter when stopped.
...
Fixes some graphical glitches that may occur otherwise.
2008-07-07 12:11:23 +02:00
Maarten Lankhorst
11e2b1ab2b
quartz: Make sure transform filter commits allocator.
2008-07-07 12:11:23 +02:00
Maarten Lankhorst
6e4288ee70
quartz: Fix tiny bug in IGraphBuilder_Render.
2008-07-07 12:11:23 +02:00
Maarten Lankhorst
9985f2efc9
quartz: Implement state transitions in video renderer.
2008-07-04 19:50:52 +02:00
Maarten Lankhorst
b6b67f698a
quartz: Implement state transitions in directsound renderer, and block on pause.
2008-07-04 19:50:04 +02:00
Maarten Lankhorst
ee317b19b2
quartz: Set filesource initial state to stopped.
...
Fixes a bug valgrind found.
2008-07-04 19:35:07 +02:00
Maarten Lankhorst
8b65914cf9
quartz: Make CLSID_AudioRender an alias for CLSID_DSoundRender.
2008-07-04 19:35:00 +02:00
Maarten Lankhorst
28c7b230ed
quartz: Fix return value for video renderer.
2008-07-03 11:50:52 +02:00
Maarten Lankhorst
e5767b1c02
quartz: Fix return values in directsound renderer.
2008-07-03 11:50:52 +02:00
Paul Vriens
0435574aed
quartz/tests: Make tests run on everything lower then Vista.
2008-07-03 11:50:51 +02:00
Alexander Dorofeyev
b312d42059
quartz: Fix memory leak and behavior on errors in FilterMapper_EnumMatchingFilters.
2008-07-02 12:23:43 +02:00
Alexander Dorofeyev
bbd22ae06c
quartz: Fix memory leak in FilterMapper_RegisterFilter.
2008-07-02 12:23:37 +02:00
Alexander Dorofeyev
c206f91030
quartz: Fix memleak in FilterMapper2_RegisterFilter.
2008-07-02 12:23:25 +02:00
Alexander Dorofeyev
d3e67c83a0
quartz: Fix memory leaks in FM2_DeleteRegFilter.
2008-07-02 12:23:19 +02:00
Alexander Dorofeyev
898152c024
quartz: Fix memory leaks in IEnumRegFiltersImpl_Release.
2008-07-02 12:23:14 +02:00
Alexander Dorofeyev
02943d96b4
quartz: Fix interface leak in EnumMonikerImpl_Release.
2008-07-02 12:23:04 +02:00
Alexander Dorofeyev
9778faee0b
quartz: Improve variant handling in FilterMapper_EnumMatchingFilters.
...
Adds VariantClear and removes unnecessary variant type assignment that may cause
heap corruption.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
bff9f1114a
quartz/tests: Add test for IFilterMapper_RegisterFilter.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
10b593b2e7
quartz: Fix string buffer overflow.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
cd5fa7dedb
quartz: Improve removal of registry data in Filtermapper unregister methods.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
f9e2914ed6
quartz: Fix registry key creation.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
d6df899603
quartz: Fix calculating wide string size.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
d19ad8f072
quartz/tests: Add test for EnumMatchingFilters.
2008-07-01 13:45:38 +02:00
Alexander Dorofeyev
dcc9032ed0
Revert "quartz: Only enumerate renderers if bRender is set in filtermapper.".
...
This reverts commit b157969d49
.
2008-07-01 13:45:38 +02:00
Alexandre Julliard
aa68258b7a
Fix a few %ll printf formats.
2008-06-30 12:50:07 +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
3bda54bb04
quartz: Downgrade a fixme to a warn in dsoundrender.
2008-06-26 12:44:20 +02:00
Alexander Dorofeyev
1aff73455d
quartz: Prevent heap corruption if IPropertyBag_Read fails.
2008-06-25 20:21:41 +02:00
Alexander Dorofeyev
2d8f7268ab
quartz: Do not ignore current position in IEnumRegFiltersImpl_Next.
2008-06-25 20:21:30 +02:00
Alexander Dorofeyev
c782cdad96
quartz: Fix accessing variant string.
2008-06-25 20:21:26 +02:00
Maarten Lankhorst
8bedda7e1f
quartz: Make the memory allocator emit more warnings and fix race condition.
2008-06-25 10:41:58 +02:00
Maarten Lankhorst
6aabf5d39e
quartz: Create thread after connection is made.
2008-06-25 10:41:52 +02:00
Maarten Lankhorst
33294331d2
quartz: Remove dead code from DSoundRender.
2008-06-25 10:41:47 +02:00
Maarten Lankhorst
cdb66444ed
quartz: Handle case where ReceiveConnection is called on an already connected pin.
2008-06-25 10:39:47 +02:00
Maarten Lankhorst
e8a023f9f8
quartz: Clear pin value if not connected.
2008-06-24 11:47:33 +02:00
Maarten Lankhorst
9009e68c5b
quartz: Add support for VideoInfoHeader2 to AVI Decompressor.
2008-06-24 11:47:29 +02:00
Maarten Lankhorst
b157969d49
quartz: Only enumerate renderers if bRender is set in filtermapper.
2008-06-24 11:47:24 +02:00