Commit Graph

364 Commits

Author SHA1 Message Date
Chris Robinson c76d5561a8 quartz: Use a second-long DSound buffer for playback. 2007-04-03 11:32:40 +02:00
Chris Robinson b1bfae286f quartz: Use a safe APC to kill the PullPin thread when the PullPin is being released. 2007-04-02 11:18:04 +02:00
Chris Robinson 9d1f49cd9f quartz: Set the sample time based on the number of bytes read before sending it downstream. 2007-04-02 11:16:00 +02:00
Chris Robinson b3c4d6eee6 quartz: Remove errant parser output pins on input connection failure. 2007-04-02 11:15:49 +02:00
Chris Robinson 4eea356e2d quartz: Don't fill the dsound buffer with small amounts. 2007-04-02 11:15:44 +02:00
Chris Robinson 60f325d967 quartz: Add filters using their names. 2007-03-30 10:55:20 +02:00
Chris Robinson 8a1d4d1e4c quartz: Protect DSound buffer creation with a critical section lock. 2007-03-28 12:05:35 +02:00
Chris Robinson a110e6e433 quartz: Return proper CLSID for parser filters. 2007-03-27 12:35:22 +02:00
Chris Robinson 908cc50e23 quartz: Propogate transform filter errors upstream. 2007-03-26 12:30:13 +02:00
Chris Robinson f5400a2851 quartz: Store the current reference time with the PullPin. 2007-03-26 12:30:09 +02:00
Chris Robinson 57400724b6 quartz: Implement volume and pan control for DSoundRenderer. 2007-03-26 12:30:04 +02:00
Chris Robinson a7151d8851 quartz: Make DSoundRender_Run start the playback buffer. 2007-03-26 12:29:58 +02:00
Chris Robinson 3487da71ce quartz: Fully disconnect the AsyncReader when released. 2007-03-21 11:56:00 +01:00
Chris Robinson ef5de5c120 quartz: Don't redundantly set waveparser output pin data before it's created. 2007-03-21 11:55:23 +01:00
Michael Stefaniuc 0674ff43b2 quartz: Fix typo that produced an empty if-statement. 2007-03-20 13:00:30 +01:00
Chris Robinson 6bd3b156ac quartz: Don't delete critical sections before the filter's pins are done using them. 2007-03-20 13:00:26 +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
Chris Robinson d8dc9fb319 quartz: Release objects when pins fail to connect. 2007-03-19 12:23:54 +01:00
Chris Robinson 52529c923d quartz: Hold a reference on a filter while sending data to it. 2007-03-19 12:23:46 +01:00
Chris Robinson 2e726e6e11 quartz: Avoid asserting from used samples on allocator release. 2007-03-13 21:28:57 +01:00
Chris Robinson 809f68420f quartz: Force disconnect when a filter is fully released. 2007-03-13 21:28:26 +01:00
Chris Robinson 559d541cf8 quartz: Cleanup properly around error conditions and avoid a potential infinite loop. 2007-03-13 21:28:08 +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 868dd534e8 quartz: Stop DSound buffer playback when the filter is paused or stopped, not the next time it's processed. 2007-03-12 12:08:25 +01:00
Chris Robinson e44a0d6d4d quartz: Check allocation failure and clear memory in DSound Renderer. 2007-03-09 21:20:22 +01:00
Tomas Carnecky 9b4f99782e dsound: Update prototypes for IDirectSoundBuffer::Lock/Unlock. 2007-03-08 21:30:54 +01:00
Chris Robinson 045270605c quartz: Use proper alloc/free functions for COM objects. 2007-03-08 13:53:54 +01:00
Chris Robinson 0717c96192 quartz: Improve reference traces. 2007-03-05 18:08:29 +01:00
Chris Robinson efe156ae8e quartz: Don't AddRef an object we just created and are handing back to the caller. 2007-03-05 13:00:24 +01:00
Chris Robinson 7f9becf854 quartz: Report the previous refcount of a PullPin object. 2007-03-05 12:59:49 +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 92aaba0d6f quartz: Return the proper interface for IFilterMapper. 2007-03-05 12:07:59 +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 e3061405ca quartz: Check for the proper ID when querying for the IBasicAudio interface. 2007-02-19 12:42:39 +01:00
Chris Robinson a512b9abb5 quartz: Don't use uninitialized memory in ACMWrapper. 2007-02-19 12:42:33 +01:00
Chris Robinson 7605dc0d74 quartz: Stop and free the dsound buffer when needed. 2007-02-19 12:39:59 +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
Chris Robinson 134d8a026a quartz: Remove 1GB AVI size limitation. 2007-02-14 12:30:02 +01:00
Chris Robinson 0885141c64 quartz: Properly handle input parameters in FileSource_GetCurFile. 2007-02-14 12:29:57 +01:00
Andrew Talbot 6ef74bc9c8 quartz: Fix a typo.
Should fix Coverity CID-348 (dereference before NULL check).
2007-02-05 12:32:51 +01:00
Andrew Talbot d303896fe0 quartz: Declare a function static. 2007-01-24 12:28:47 +01:00
Francois Gouget 4fb03d9091 quartz: Use '%u' to print GetLastError(). 2007-01-05 18:24:20 +01:00
Dmitry Timoshkov c78621eda4 quartz: Make some data const and static. 2006-11-29 12:44:31 +01:00
Francois Gouget b2656633a6 Add some documentation headers to make winapi_check happy. 2006-11-13 13:01:15 +01:00
Andrew Talbot a0e9fc872f quartz: Cast-qual warnings fix. 2006-11-13 12:46:41 +01:00
Andrew Talbot 35c0886939 quartz: Cast-qual warning fix. 2006-11-10 11:36:57 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +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
Michael Stefaniuc 44e65a0fac quartz/tests: Win64 printf format warning fixes. 2006-10-09 12:44:21 +02:00
James Hawkins 99e2c6dff2 janitorial: Remove redundant NULL checks before CoTaskMemFree (found by Smatch). 2006-10-07 17:52:51 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Andrew Talbot 04423c4f59 quartz: Cast-qual warnings fix. 2006-09-25 18:16:35 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Robert Shearman 7d6dbed3cf quartz: Use the absolute height of the bitmap format as a negative values simply means it is a top-down bitmap. 2006-08-28 17:48:53 +02:00
Alexandre Julliard 5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Alex Villacís Lasso bc06d70770 quartz: Skip over INFO chunk in AVI file parsing. 2006-08-26 18:54:11 +02:00
Stefan Leichter 19d275f775 quartz: Print 64bit integers with wine_dbgstr_longlong. 2006-08-18 20:56:20 +02:00
Sagar Mittal cb4889d940 quartz: DSoundRender: Do not overwrite a full buffer. 2006-08-18 20:56:20 +02:00
Alexandre Julliard eb8a40c368 libs: Merged libwine_unicode into libwine.
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Alexandre Julliard 77dc0d9be5 .gitignore: Added wildcards to ignore generated resource files. 2006-07-10 21:39:00 +02:00
Alexandre Julliard 0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard 5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Piotr Caban 02479df343 quartz: Fixed crash in releasing uninitializes pAlloc and pReader. 2006-06-30 20:44:08 +02:00
Paul Vriens cc6bb93baa quartz: Fixed typo (Coverity). 2006-06-29 14:39:27 +02:00
Paul Vriens e5f009e05c quartz: Use the return value of register_key_guid. 2006-06-29 14:39:16 +02:00
Ivan Leo 1644974491 quartz: Fix media type detection. 2006-06-22 12:29:03 +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
Hans Leidekker 1f35ff591c quartz: Add stub implementation for AMGetErrorText{A,W}. 2006-05-22 11:49:22 +02:00
Robert Shearman 74407105d2 Check the return value from register_key_guid in all the DLL registering code. 2006-05-10 19:38:04 +02:00
Dmitry Timoshkov 78904aab2d quartz: Register some of the interfaces. 2006-02-07 12:25:35 +01:00
Eric Pouech e66e227dbe Fixes for missing prototypes warnings. 2006-02-06 13:13:28 +01:00
Thomas Weidenmueller 2b4377f5eb quartz: Fix incorrect usages of the HRESULT_FROM_WIN32 macro. 2005-12-09 11:21:51 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Christian Costa b82d94e4f1 Make window uses black brush for background.
Check format type of video stream.
2005-10-10 10:44:54 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Alexandre Julliard 9f859692f9 Replace DPRINTF by TRACE in a few places. 2005-09-25 15:23:21 +00:00
Christian Costa bfbba1a6fd Fix function names. 2005-09-25 15:17:30 +00:00
Alexandre Julliard 305b221cf0 Get rid of another long long constant. 2005-09-14 10:30:36 +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 8f3cc76ea2 Return S_OK when committing/decomitting an already
committed/decommitted allocator.
Add corresponding test case.
Improve traces.
2005-08-22 09:27:41 +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
Christian Costa 19f9da8044 Fix rendering of paletted video stream. 2005-08-17 09:51:57 +00:00
Mike McCormack 50a6d970f5 gcc 4.0 warning fixes for Interlocked* functions. 2005-08-03 11:03:05 +00:00
Alexandre Julliard 738e88db5f Replace the ICOM_THIS_From macros by inline functions. 2005-07-27 15:14:18 +00:00
Mike McCormack bda7ace2e9 Interlocked LONG* gcc warning fixes. 2005-07-13 11:59:15 +00:00
Mike McCormack 0791d06215 Interlocked LONG* gcc warning fixes. 2005-07-12 19:21:36 +00:00
Mike McCormack e8c1bf3283 Make functions static, fix declarations. 2005-06-20 18:39:40 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Francois Gouget 7706560dcd Remove unneeded NULL cast. 2005-06-17 20:55:27 +00:00
Christian Costa acb2ff2da5 Added window support to the video renderer:
- replaced ddraw code by window code.
- implemented IBasicVideo and IVideoWindow interfaces.
2005-06-13 11:37:55 +00:00
Christian Costa 09b4966957 Don't use fullscreen mode in video renderer for now and improve error
handling a bit.
Improved a bit Run/Pause/Stop methods of parser template.
2005-06-07 20:29:23 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Christian Costa 623fb34acc Fixed clock release in transform template.
AddRef pUnk in CopyMediaType.
Added CreateMediaType helper function and use it.
Replaced some DeleteMediaType calls to FreeMediaType to be in line
with recent changes.
Fixed IEnumMediaTypesImpl_Next.
Clear media type when initializing pins.
Added some AddRef/Release traces.
2005-06-05 19:18:34 +00:00
Christian Costa cb6e4a12ea Release clock only when one is set. 2005-06-04 09:37:35 +00:00
Maarten Lankhorst 05d658d012 Added reconnect function for filtergraph. 2005-05-18 13:25:49 +00:00
Maarten Lankhorst 0caae47658 Fixed freeing of mediatype. 2005-05-18 13:25:20 +00:00
Robert Shearman 54160222a0 Rename MODULENAME_Dll* functions to Dll* for better consistency and
type checking.
2005-05-17 14:41:37 +00:00
Alexandre Julliard 34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Alexandre Julliard d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Maarten Lankhorst 4c9f5f6456 Fixed two small memory leaks. 2005-05-07 12:12:29 +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
Maarten Lankhorst aa4df8f63a Fixed {Copy/Delete/Free}MediaType functions to show proper behaviour.
Fixed EnumMediaTypes to copy pbFormat too.
Added FreeMediaType.
2005-05-06 14:34:02 +00:00
Christian Costa 7180775af6 Forward CLSID_FilterGraphNoThread to CLSID_FilterGraph. 2005-05-05 09:50:35 +00:00
Christian Costa e901cc4b53 Improved errors handling a bit in dsound renderer. 2005-04-25 10:49:22 +00:00
Peter Berg Larsen 6e3bcb5a54 Replace strncpy with memcpy or lstrcpyn. 2005-04-18 10:30:55 +00:00
Robert Shearman 51ae41eb0b Return an error instead of crashing later on a divide by zero
exception when an alignment of 0 is specified.
2005-04-11 18:50:58 +00:00
Peter Berg Larsen e732fc023d Janitorial: Get rid of strncpy/strncpyW. 2005-03-28 14:17:51 +00:00
Jakob Eriksson d69bdcfc21 Don't run FilterGraph tests if FilterGraph functionality is not
available.
2005-03-25 10:25:24 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Dmitry Timoshkov 75b93ff1aa Match OVERLAPPED structure to the SDK definition. 2005-03-17 19:00:08 +00:00
Alexandre Julliard d0ee9f9309 Avoid spaces before preprocessor directives, that's not portable. 2005-03-02 12:23:20 +00:00
Christian Costa 7dea79c487 Handle End Of Stream notifications.
Some AVI Splitter fixes.
2005-03-02 10:12:12 +00:00
Christian Costa 19b78a0e21 Fixed ACM Wrapper. 2005-02-22 14:50:16 +00:00
Christian Costa 56c701df3f Improved AVIDec.
Added 2 new callback functions to the transform template and moved all
of them into a funcs table.
2005-02-21 20:37:45 +00:00
Francois Gouget 4d801b66e6 Assorted spelling fixes. 2005-02-10 19:19:35 +00:00
Christian Costa 80a2e6e93b Added WAVE parser. 2005-02-10 17:13:18 +00:00
Christian Costa cfbffe6909 Added parser template and made AVISplitter use it. 2005-02-08 13:43:59 +00:00
Christian Costa 72213b18c7 Added ACM Wrapper filter.
Cleaned up AVIDec.
2005-02-01 14:22:00 +00:00
Christian Costa b024178120 Added transform filter template and made AVIDec use it.
Fixed memory leak in register_filters function.
2005-01-31 16:24:00 +00:00
Mike Hearn 2cfcf1c339 Fix heap corruption in quartz server registration, add some
whitespace, break out of loop if out of memory.
2005-01-21 10:14:45 +00:00
Paul Vriens 8dd96b170e Add an extra class to register. 2005-01-11 15:44:42 +00:00
Christian Costa b3f064ccc7 Fixed error handling in Graphbuilder_RenderFile.
Improved traces.
2005-01-09 18:24:41 +00:00
Christian Costa 617dc088a5 Added registration for quartz filters. 2005-01-09 17:28:07 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Paul Vriens 1e0aaaf210 - Media Types (and Extensions) should use "Source Filter" instead of
"File Source".
- Removed filesource_valuename.
- Fixed typo for some class-names.
- Fixed typo in MPEG1System Media Type.
2005-01-07 15:34:54 +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 18511a38e7 Added registration/unregistration of media types. 2005-01-03 17:05:47 +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
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Francois Gouget 6fb1a20020 Assorted spelling fixes. 2004-12-20 19:27:06 +00:00
Christian Costa 5182f707f5 Fixed MediaSample passing. This is the upstream filter that releases
it.
Set ppMediaType to NULL when returning S_FALSE in
IMediaSample_GetMediaType (required by native Quartz dll).
Added support for 32-bit depth source in video renderer.
2004-12-20 17:07:17 +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