Commit Graph

935 Commits

Author SHA1 Message Date
Aric Stewart 026037ab69 strmbase: Move the MediaSeekingPassThru functions from quartz into strmbase. 2012-03-15 19:49:21 +01:00
Marcus Meissner 90dd4ea9a6 quartz: Fixed sizeof()s to IsBadReadPtr (Coverity). 2012-02-20 11:38:57 +01:00
Aric Stewart c3e2407664 quartz: AMFilterData_ParseFilterData returns a pointer to a pointer to filter data. 2012-02-07 09:30:05 -06: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 da0650a209 quartz: Use the csReceive critical sections in transform filters. 2012-01-23 17:05:12 +01:00
Aric Stewart 4cd49d3bf1 quartz: Lower the merit on our current builtin filters. 2012-01-17 19:14:08 +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
Francois Gouget 5f88f362ea dlls: Standardize on 'static const WCHAR' for our Unicode string literals.
Do the same for the corresponding Ansi strings.
2011-12-20 10:16:09 +01:00
Francois Gouget e8f42fb29e quartz: Avoid hardcoding the Unicode string literal lengths. 2011-12-16 17:40:39 +01:00
Francois Gouget 8560a654a8 quartz/tests: Give a name to the critical sections. 2011-11-14 20:15:28 +01:00
Michael Stefaniuc a948e5e474 quartz: Free two assert calls from having side effects. 2011-10-08 17:38:34 +02:00
Maarten Lankhorst 12e132e9be quartz: Fix support for mpeg layer 1 and 2. 2011-09-27 16:53:59 +02:00
Francois Gouget bd7b345b26 Assorted spelling fixes & co. 2011-09-27 11:00:13 +02:00
Francois Gouget 3de330db54 tests: Remove unneeded assert.h includes. 2011-09-27 10:59:56 +02:00
Francois Gouget e5e2304427 quartz/tests: Skip some tests if not allowed to register filters. 2011-09-19 17:56:05 +02:00
Erich Hoover 09f134cb69 quartz: Fix converting between the media time and REFTIME. 2011-09-12 16:49:58 +02:00
Erich Hoover b7bc6dcfae quartz: Add support for EndOfStream in PullPin. 2011-09-12 16:49:58 +02:00
Erich Hoover 9f7ef3786a quartz: Add missing release. 2011-09-12 16:49:58 +02:00
Erich Hoover cd4ee69ef3 quartz: Samples should be freed when IAsyncReader::Request fails. 2011-09-12 16:49:57 +02:00
Erich Hoover bc204370ae quartz: Do not assert when IAsyncReader::WaitForNext returns VFW_E_TIMEOUT. 2011-09-12 16:49:57 +02:00
Michael Stefaniuc 27e1d5adb7 quartz: Use an IDL file to define the IAMFilterData iface. 2011-09-06 11:29:38 +02:00
Alexandre Julliard 89d1d47d6b quartz: Specify the PSFactoryBuffer class in the idl file. 2011-08-01 17:20:46 +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
Marcus Meissner 3f42609042 quartz: Removed useless NULL check (Coverity). 2011-06-27 13:27:24 -05:00
Maarten Lankhorst f991daf188 quartz: Skip filtergraph tests when filtergraph cannot be created. 2011-06-24 11:57:05 -05:00
Michael Stefaniuc 2672b0ae94 quartz: COM cleanup for the ifaces of FilterMapper3Impl. 2011-06-21 11:28:59 +02:00
Michael Stefaniuc d2910bb7fa quartz/tests: Simplify the file handling in filtergraph.c. 2011-06-20 19:32:05 +02:00
Michael Stefaniuc ee9ca54eba quartz/tests: Store the TestFilterImpl instead of its iface in IEnumPinsImpl. 2011-06-20 19:32:05 +02:00
Michael Stefaniuc 9f52e80055 quatz/tests: Pass back the object instead of the iface in createtestfilter(). 2011-06-20 19:32:05 +02:00
Michael Stefaniuc b9d5a5007a quartz/tests: Finish the COM cleanup in filtergraph.c. 2011-06-20 19:32:05 +02:00
Michael Stefaniuc b21c2d6522 quartz/tests: COM cleanup for the IClassFactory iface. 2011-06-20 19:32:05 +02:00
Michael Stefaniuc 6009ed4b6f quartz/tests: COM cleanup for the IPin iface. 2011-06-20 19:32:05 +02:00
Marcus Meissner 9b39995201 quartz: Mark internal symbols with hidden visibility. 2011-05-24 11:55:59 +02:00
Alexandre Julliard 7f6e677d5a quartz: Make sure the preferred allocator pointer is initialized. 2011-05-20 10:28:21 +02:00
Erich Hoover 068593b238 quartz: Create and hold onto a preferred allocator for IAsyncReader::RequestAllocator. 2011-05-17 12:01:18 +02:00
Erich Hoover 493a3a0f9d quartz: Make sure pin state cannot change while a flush is in progress. 2011-05-17 12:01:16 +02:00
Erich Hoover 484c952cf2 quartz: Release outstanding samples in PullPin::PauseProcessing. 2011-05-17 11:57:57 +02:00
Erich Hoover 819643ada8 quartz: Return IMediaSeeking interface for Parser PullPin. 2011-05-17 11:55:24 +02:00
Erich Hoover 7a405fa9e9 quartz: Return IMediaSeeking interface for Parser OutputPin. 2011-05-17 11:54:43 +02:00
Marcus Meissner 63823061ed quartz: Handle NULL return from strchr() (Coverity). 2011-05-03 19:34:27 +02:00
Austin English 376bbd1ecc quartz: Remove extraneous parentheses (LLVM/Clang). 2011-04-13 14:13:55 +02:00
Gerald Pfeifer a3d8e7b369 quartz: Properly set a parameter by reference in Parser_OutputPin_DecideAllocator. 2011-04-05 13:36:56 +02:00
Francois Gouget 78c605c3c9 quartz: Make some functions static. 2011-03-16 14:14:24 +01:00
Marcus Meissner 82cd229cc2 quartz: Removed const from const REFIID (Coverity). 2011-03-14 19:31:29 +01:00
Austin English a5c50a25fb quartz: Avoid %L in traces (LLVM/Clang). 2010-12-23 13:47:25 +01:00
Alexandre Julliard ae2a992d70 quartz: Convert coclasses registration to the IRegistrar mechanism. 2010-12-17 13:26:04 +01:00
Maarten Lankhorst 220d610b3d quartz: Handle EndOfStream more elegantly in dsound renderer. 2010-12-14 16:01:34 +01:00
Maarten Lankhorst 351165e30d quartz: Fix a race condition in videorenderer endflush. 2010-12-14 16:01:17 +01:00
Maarten Lankhorst b353f32453 quartz: Handle seeking while running better. 2010-12-14 16:01:11 +01:00
Francois Gouget 0eb6e40720 Assorted spelling fixes. 2010-12-13 12:43:29 +01:00
Michael Stefaniuc 9a0f38e211 quartz: Use an iface instead of a vtbl pointer in SystemClockImpl. 2010-12-09 12:22:33 +01:00
Michael Stefaniuc e86dff725f quartz: Use an iface instead of a vtbl pointer in IEnumRegFiltersImpl. 2010-12-09 12:22:26 +01:00
Michael Stefaniuc bf247fad13 quartz: Use an iface instead of a vtbl pointer in BaseMemAllocator. 2010-12-09 12:20:56 +01:00
Michael Stefaniuc 80db15faa1 quartz: Use an iface instead of a vtbl pointer in EnumMonikerImpl. 2010-12-09 12:20:48 +01:00
Michael Stefaniuc 70f1c34300 quartz: Use an iface instead of a vtbl pointer in IEnumFiltersImpl. 2010-12-09 12:20:42 +01:00
Maarten Lankhorst ab7986390a quartz: Always update time when Run is called. 2010-12-06 19:15:56 +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
Alexandre Julliard 5f49129e03 resources: Define a generic mechanism for adding extra values to the common version block. 2010-12-03 14:53:59 +01:00
Maarten Lankhorst 02986df061 quartz: Make video renderer use unicode calls. 2010-12-03 14:28:30 +01:00
Maarten Lankhorst 70b31cf0ce quartz: Use unicode calls in SystemClock. 2010-12-03 14:28:30 +01:00
Maarten Lankhorst 883ca4d9d0 quartz: Implement AMGetErrorTextA on top of AMGetErrorTextW. 2010-12-03 14:28:29 +01:00
Maarten Lankhorst 89161a8ded quartz: Make sure video window is actually destroyed. 2010-12-03 14:28:29 +01:00
Maarten Lankhorst 6e7aff2544 quartz: Add support for filtermapper3 to filtergraph. 2010-12-03 14:28:29 +01:00
Maarten Lankhorst c7a3f12359 quartz: Support IFilterMapper3 interface. 2010-12-03 14:28:28 +01:00
Juan Lang a273ce077e quartz: Don't crash in SetMediaType if the source media type is NULL. 2010-12-03 11:08:37 +01:00
Maarten Lankhorst 5a8ce4c793 quartz: Refuse WAVE_FORMAT_PCM/EXTENSIBLE in acmwrapper. 2010-12-02 12:47:41 +01:00
Maarten Lankhorst cfd4ed9018 quartz: Add quality control to sound renderer. 2010-12-02 12:47:41 +01:00
Maarten Lankhorst 072714f910 quartz: Allow stream time to go negative in sound renderer. 2010-12-02 12:47:40 +01:00
Maarten Lankhorst 97215773d1 Revert "quartz: Fill up sound buffer while in paused state.".
This reverts commit e591700177.
It's not fixing the real issue, filling up buffer while paused is
actually capable of producing quite a few headaches to get it working
right.
2010-12-02 12:47:40 +01:00
Maarten Lankhorst e591700177 quartz: Fill up sound buffer while in paused state. 2010-12-01 17:18:05 +01:00
Maarten Lankhorst 6e69cd4df4 quartz: Increase min_lag.
The max_lag variable determines how much fuzz is allowed between the
sound cursor and the scheduled times, some filters are inaccurate wrt
time and would skip and overwrite data otherwise.
2010-12-01 17:17:47 +01:00
Maarten Lankhorst 945793722d quartz: Implement AsyncReader_FindPin. 2010-12-01 17:17:41 +01:00
Maarten Lankhorst 4881a354c2 quartz: Add support for advise functions in dsoundrender. 2010-11-30 13:53:28 +01:00
Maarten Lankhorst 2b01660178 quartz: Handle selecting default sync source better. 2010-11-29 19:43:33 +01:00
Maarten Lankhorst f0ebe19bfc quartz: Fix timestamping in avi decoder. 2010-11-29 19:43:32 +01:00
Maarten Lankhorst d4185badf1 quartz: Unregister window class after shutdown. 2010-11-29 19:43:32 +01:00
Maarten Lankhorst 9ff6c7d1c7 quartz: Silence fixmes in sound renderer. 2010-11-29 19:43:31 +01:00
Maarten Lankhorst f4a0ca85af quartz: Unset time in dsoundrender if it cannot be obtained. 2010-11-29 19:43:31 +01:00
Maarten Lankhorst ab2e5c0499 quartz: Add support for fullscreen mode in video renderer. 2010-11-25 11:49:08 +01:00
Maarten Lankhorst f63950d023 quartz: Change VideoRenderer_Run to handle EndOfStream slightly better. 2010-11-25 11:49:06 +01:00
Maarten Lankhorst 0a4adc1f10 quartz: Prevent circular connections in render case too. 2010-11-25 11:49:06 +01:00
Maarten Lankhorst 44a17d27bb quartz: Handle state changes in direct sound renderer correctly.
Based on a patch from Vladimir Panteleev
2010-11-11 17:20:24 +01:00
Maarten Lankhorst 5c3cddf351 quartz: Make window behavior of video renderer act more like windows. 2010-11-11 17:08:52 +01:00
Maarten Lankhorst 64b14c0ecd quartz: Start DirectSound renderer as soon as possible.
Makes directsound switch to silent playback even when no buffers are
playing, fixes glitching on starting playback from a stopped buffer.
2010-11-11 17:08:47 +01:00
Maarten Lankhorst 5dd27f7597 quartz: Reset state change after flushing.
This fixes IBasicVideo:GetCurrentImage.
2010-11-11 12:25:26 +01:00
Maarten Lankhorst 06ca6fb184 quartz: Fix stub for GetVideoPaletteEntries. 2010-11-11 12:25:22 +01:00
Maarten Lankhorst 79f1618828 quartz: Rework direct sound renderer rework to be more time aware. 2010-11-10 12:16:42 +01:00
Maarten Lankhorst 7fbc8814d8 quartz: Use quality control in video renderer. 2010-11-10 12:16:18 +01:00
Maarten Lankhorst 10c51a80f0 quartz: Reset stream time when paused after seeking. 2010-11-10 12:14:32 +01:00
Maarten Lankhorst f38688b836 quartz: Add quality control to avi decoder. 2010-11-10 12:14:30 +01:00
Maarten Lankhorst a5798fc96c quartz: Fix video renderer EndOfStream. 2010-11-10 12:14:19 +01:00
Maarten Lankhorst bb8ccbd507 quartz: On flushing, always signal blocked event handle. 2010-11-10 12:14:12 +01:00
Maarten Lankhorst adabc4ae92 quartz: Use media time instead of stream time in video renderer. 2010-11-10 12:13:59 +01:00
Maarten Lankhorst 27c120cf58 quartz: Fix PullPin_EnumMediaTypes. 2010-11-09 16:56:59 +01:00
Maarten Lankhorst b6fd7bc133 quartz: Add IQualityControl to video renderer. 2010-11-08 13:30:27 +01:00
Maarten Lankhorst 3329873b81 quartz: Forward IQualityControl on pullpin to base filter. 2010-11-08 13:30:27 +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 2830ccacb0 quartz: Use media time instead of stream time in null renderer. 2010-11-08 13:30:25 +01:00
Maarten Lankhorst 875faa3101 quartz: Use media time instead of stream time in directsound renderer. 2010-11-08 13:30:25 +01:00
Maarten Lankhorst 8c42595c34 quartz: Fix time on MPEG splitter. 2010-11-08 13:30:24 +01:00
Maarten Lankhorst dba95c2288 quartz: Fix time on avi parser. 2010-11-08 13:30:24 +01:00
Maarten Lankhorst af33888b39 quartz: Forward media time in ACM Wrapper. 2010-11-08 13:30:23 +01:00
Maarten Lankhorst 2906a6f8ab quartz: Forward media time in AVI Decoder. 2010-11-08 13:30:23 +01:00
Maarten Lankhorst 8af5c1b729 quartz: Fix return value of GetMediaTime. 2010-11-08 13:30:23 +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
Maarten Lankhorst 9dedc4a795 quartz: Add IAMFilterMiscFlags to file source. 2010-11-05 11:24:46 +01:00
Maarten Lankhorst 443e24fe88 quartz: Add IAMFilterMiscFlags to null renderer. 2010-11-05 11:24:42 +01:00
Maarten Lankhorst 79f717bb91 quartz: Fix EC_COMPLETE handling on null renderer. 2010-11-05 11:24:36 +01:00
Maarten Lankhorst 822c3fe9ea quartz: Add IAMFilterMiscFlags to video renderer. 2010-11-05 11:24:33 +01:00
Maarten Lankhorst 6072a3b5ac quartz: Fix EC_COMPLETE handling on video renderer. 2010-11-05 11:24:22 +01:00
Maarten Lankhorst 0196da9b4d quartz: Add IAMFilterMiscFlags to directsound renderer. 2010-11-05 11:24:15 +01:00
Maarten Lankhorst 89223ff78b quartz: Fix EC_COMPLETE handling on dsound renderer. 2010-11-05 11:24:08 +01:00
Aric Stewart 7e8751b2e1 strmbase: More properly standardized pin implementations for NewSegment. 2010-11-01 14:53:29 +01:00
Aric Stewart 60bf76db9a strmbase: Remove non-standard custom allocator logic from strmbase.
Implement function overrides for parser.c where a custom allocator was needed.
2010-10-14 17:54:52 +02:00
Aric Stewart 7602829c4f strmbase: Add GetMediaType and GetMediaTypeVersion to BasePin function table.
Allows for more widespread use of the BasePinImpl version of EnumMediaTypes.
2010-10-14 17:54:51 +02:00
Aric Stewart 3c2dfd186a strmbase: Standardize "class" function into functions tables in the structs.
This allows the standardization of the "class" functions to use the 
class as the argument and will aid in expanding the implementation of 
these functions.
2010-10-14 17:54:51 +02:00
Aric Stewart 8f3c3723bb strmbase: Clean up the allocator negotiating for BaseOutputPin. 2010-10-14 17:54:51 +02:00
Aric Stewart 602d44a12c strmbase: Move mediaSeeking to strmbase SourceSeeking. 2010-10-12 11:44:17 +02:00
Aric Stewart 34f3f7cae3 strmbase: Move TransformFilter implementation to strmbase. 2010-10-08 11:04:52 +02:00
Aric Stewart 791087089c strmbase: Add an implementation of BaseFilterImpl_EnumPins. 2010-10-08 11:04:09 +02:00
Aric Stewart 1d42659c40 strmbase: Implement BaseFilter in strmbase. 2010-10-08 11:04:04 +02:00
Aric Stewart 66e1ad8a96 strmbase: Move InputPin implementation to strmbase. 2010-10-06 20:46:48 +02:00
Aric Stewart 5c1409b55f strmbase: Move OutputPin implementation to strmbase. 2010-10-06 20:46:48 +02:00
Aric Stewart 0410e50e00 strmbase: Move BasePin implementation to strmbase. 2010-10-06 20:46:48 +02:00
Aric Stewart bb110c7749 strmbase: Move enumpins from quartz to strmbase. 2010-10-06 20:46:47 +02:00
Aric Stewart 89ea07f7d0 strmbase: Add the EnumMediaTypes base implementation. 2010-10-06 20:46:47 +02:00
Aric Stewart 961921060c strmbase: Initial creation of static strmbase library for Quartz and Quartz filters.
Move the Media Type Functions.
2010-10-05 15:56:30 +02:00
Maarten Lankhorst 781cb48653 quartz: Add additional notifications to transform filter. 2010-10-05 13:03:01 +02:00
Maarten Lankhorst b6c523252d quartz: Remove forwarding from base class. 2010-10-05 13:02:54 +02:00
Maarten Lankhorst 4fe2be86a6 quartz: Add support for MediaSeekingPassThru to transform filter. 2010-10-05 13:02:47 +02:00
Maarten Lankhorst f48f6099f7 quartz: Add support for MediaSeekingPassThru to null renderer. 2010-10-05 13:02:41 +02:00
Maarten Lankhorst deaeeb7183 quartz: Use MediaSeekingPassThru for DirectSound renderer. 2010-10-05 13:02:33 +02:00
Maarten Lankhorst 81b15f35bf quartz: Add MediaSeekingPassThru to video renderer. 2010-10-05 13:02:24 +02:00
Maarten Lankhorst 8296cc7eb9 quartz: Handle passthru calls better. 2010-10-05 13:02:10 +02:00