Commit Graph

994 Commits

Author SHA1 Message Date
Michael Stefaniuc 7fa17be7c5 quartz: Move the FilterMapper_create to avoid forward declarations. 2012-07-02 10:56:09 +02:00
Michael Stefaniuc d2d3a9c462 quartz: Standardize COM aggregation for FilterMapper. 2012-07-02 10:56:03 +02:00
Michael Stefaniuc 692814e1f2 quartz: Standardize COM aggregation for FilterGraph. 2012-07-02 10:55:56 +02:00
Michael Stefaniuc ec9951892b quartz: Handle wrong COM aggregation attempts in IClassFactory_CreateInstance. 2012-07-02 10:55:41 +02:00
Chris Robinson 2ccc5bd2c7 quartz: Remove the seek position table from the MPEG splitter.
It takes a good 0.5 seconds for MPEGSplitter_pre_connect to iterate over the
file and build the table for a standard 2 or 3 minute MP3. This causes
unsightly hiccups when an app tries to play a new file, particularly in games,
as the pre-connect needs to happen synchronously to tell whether it can
succeed or not.
2012-06-26 17:06:10 +02:00
Chris Robinson 3b454e8a68 quartz: Improve MPEG header parsing and sync recovery. 2012-06-25 10:34:52 +02:00
Chris Robinson 037cefc43b quartz: Fix frame length calculation for MPEG audio. 2012-06-25 10:34:47 +02:00
Francois Gouget b5b7947ee8 quartz: Make VMR9_{Break,Complete}Connect() static. 2012-06-08 19:35:17 +02:00
Aric Stewart ac421e3341 quartz: Hookup the VMR-9 to directX and the Allocator-Presenter. 2012-06-07 16:06:49 +02:00
Aric Stewart 583d915520 quartz: Create the rendering window for VMR-9. 2012-06-07 15:56:22 +02:00
Aric Stewart 82a562a603 quartz: Allocate surfaces in VMR-9. 2012-06-07 15:55:24 +02:00
Aric Stewart 3d46f56a14 quartz: Implement default Surface Allocator for vmr9. 2012-06-07 15:53:09 +02:00
Aric Stewart 11f24690d5 quartz: COM cleanup for ParserImpl. 2012-05-24 21:23:29 +02:00
Aric Stewart 7fab2428c8 quartz: COM cleanup for Parser_OutputPin. 2012-05-24 21:23:25 +02:00
Aric Stewart dc53f01810 quartz: COM cleanup for WAVEParserImpl. 2012-05-22 17:43:57 +02:00
Aric Stewart 0352a7fb88 quartz: Add offscreen presentation to VMR9. 2012-05-22 17:43:57 +02:00
Aric Stewart 38c31973d4 quartz: Implement a Default Presenter in VMR9. 2012-05-22 17:43:56 +02:00
Francois Gouget 0f504a17ce quartz/tests: Fix compilation on systems that don't support nameless structs. 2012-05-21 11:34:37 +02:00
Aric Stewart d04552cada quartz: vmr-9 call BaseControlWindow_Destroy when destroying. 2012-05-18 18:14:26 +02:00
Michael Stefaniuc b69811f5ee quartz/tests: Remove misplaced ok() call. 2012-05-16 18:30:23 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Aric Stewart a6dbc28bfe quartz: Handle a crash and race condition that occurs on directsound renderer input pin disconnect. 2012-05-14 12:06:15 +02:00
Aric Stewart fb42513a03 quartz: Reinstate DSoundRender_Pause. 2012-05-14 12:06:15 +02:00
Aric Stewart 821b8a834c quartz: Some cleanup around evComplete now that DSoundRenderer uses baseRenderer. 2012-05-14 12:06:15 +02:00
Jacek Caban 942f2ce792 include: Use widl to take care of nameless structs and unions. 2012-05-14 12:04:17 +02:00
Aric Stewart f58c9661a4 quartz: Have DSoundRenderer use strmbase BasicAudio. 2012-04-30 11:00:26 +02:00
Aric Stewart f38318705c strmbase: Track internal window styles in baseWindow.WindowStyles. 2012-04-26 19:28:03 +02:00
Aric Stewart 7d5c4ec1f8 strmbase: Have BaseControlVideo use BaseDispatch. 2012-04-20 19:15:11 +02:00
Aric Stewart c7b12c10d8 strmbase: Have BaseControlWindow use BaseDispatch. 2012-04-20 19:15:08 +02:00
Francois Gouget a3da9a7ab4 quartz: Mark a bunch of functions as static. 2012-04-20 12:00:16 +02:00
Aric Stewart 6aafd2f1de quartz: Correct a critical section lock reversal issue found by Marcus Meissner (Coverity). 2012-04-19 19:28:10 +02:00
Aric Stewart f6ea0b6cdd quartz: Add control.idl as a typelib resource. 2012-04-09 18:05:16 +02:00
Aric Stewart 69da44106e quartz: Add VMRSurfaceAllocatorNotify9 to VMR9. 2012-04-09 17:57:29 +02:00
Aric Stewart 018161e760 quartz: COM cleanup for PullPin. 2012-04-06 20:45:01 +02:00
Aric Stewart e4656ebc88 quartz: Add VMRWindowlessControl9 to VMR9. 2012-04-05 17:53:11 +02:00
Aric Stewart eb4972017e quartz: Add VMRFilterConfig9 to VMR9. 2012-04-05 17:53:08 +02:00
Aric Stewart 8e79273b0e quartz: Add IAMFilterMiscFlags to VMR9 implementation. 2012-04-05 17:53:05 +02:00
Aric Stewart 76a42b9b9e quartz: Add BaseControlVideo to VMR9. 2012-04-05 14:51:34 +02:00
Aric Stewart 8365b7a372 quartz: Add BaseControlWindow to VMR9. 2012-04-05 14:51:34 +02:00
Aric Stewart d969b80210 quartz: Add initial VMR9 stub. 2012-04-05 14:51:34 +02:00
Aric Stewart 5bc4c1591a quartz: COM cleanup for DSoundRenderImpl. 2012-04-04 17:49:05 +02:00
Aric Stewart 51e3834bfb strmbase: Add IMediaPosition implementation to PosPassThru. 2012-04-04 17:49:04 +02:00
Aric Stewart dbf910b053 quartz: Change VideoRenderer to use strmbase's BaseControlVideo. 2012-04-03 12:20:15 +02:00
Aric Stewart 75300a7e32 quartz: Convert VideoRenderer to use strmbase's BaseControlWindow. 2012-04-03 12:20:03 +02:00
Aric Stewart 56477075c2 strmbase: Remove QualityControlImpl from the general strmbase.h.
Quality Control things are not part of the standard strmbase library set.
2012-04-03 12:19:17 +02:00
Aric Stewart 896be1355b quartz: Convert VideoRenderer to use strmbase BaseRenderer. 2012-04-03 12:18:44 +02:00
Aric Stewart 8830470a8c quartz: Have the VideoRenderer use strmbase BaseWindow. 2012-04-03 12:10:45 +02:00
Aric Stewart 54eafc73e5 strmbase: Implement renderer quality control into the base renderer. 2012-04-03 12:10:33 +02:00
Aric Stewart 821ead201d quartz: Convert DsoundRenderer to use strmbase BaseRenderer. 2012-04-02 14:01:27 +02:00
Aric Stewart 662220f77f strmbase: Expand BaseRenderer implementation. 2012-04-02 14:01:23 +02:00
Aric Stewart c6289fecec quartz: COM cleanup in ACMWrapperImpl. 2012-04-02 14:00:36 +02:00
Aric Stewart 26d33bb1c1 quartz: COM cleanup for AVIDecImpl. 2012-04-02 14:00:30 +02:00
Aric Stewart e7d4d9e4f6 quartz: COM cleanup for AsyncReader and FileAsyncReader. 2012-04-02 14:00:20 +02:00
Aric Stewart 3b85b13e27 quartz: Update null renderer to use the BaseRenderer from strmbase. 2012-03-30 10:44:34 +02:00
Aric Stewart d3c5b2c4f1 strmbase: COM cleanup for cleanup SourceSeeking. 2012-03-26 18:15:50 +02:00
Aric Stewart eb5d8b969f strmbase: COM cleanup for BasePin, BaseInputPin, and BaseOutputPin. 2012-03-26 18:15:49 +02:00
Aric Stewart 29d3c75442 strmbase: COM cleanup for BaseFilter. 2012-03-26 18:15:48 +02:00
Michael Stefaniuc 810b619e2b quartz: Print the debug string and not the pointer to it. 2012-03-26 18:15:24 +02:00
Aric Stewart cdf9c4f223 strmbase: Rename MediaSeekingPassThru to RendererPosPassThru to match standard strmbase naming. 2012-03-15 19:50:39 +01:00
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