Commit Graph

426 Commits

Author SHA1 Message Date
Maarten Lankhorst b1b75243d4 quartz: Prepare mpeg splitter code for seeking by making most splitter parsing locked. 2008-04-02 11:16:18 +02:00
Maarten Lankhorst 0e9ed6b402 quartz: Fix parser and pins logic to no longer deadlock. 2008-04-02 11:16:09 +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 4b5d06d30f quartz: Fix locking in MediaSeeking and forward SetPosition.
Don't hold locks while forwarding messages, instead rely on the
reference count. This prevents some really fun deadlocks from
occuring.
2008-04-02 11:15:22 +02:00
Maarten Lankhorst e18129068e quartz: Implement seeking stubs for transform filters. 2008-04-02 11:15:13 +02:00
Maarten Lankhorst c56389ea3c quartz: Implement graph MediaSeeking GetPositions. 2008-04-01 23:38:22 +02:00
Maarten Lankhorst 1544e52397 quartz: Allow parser filters to implement their own seeking methods. 2008-04-01 23:21:38 +02:00
Maarten Lankhorst 6fd90f1625 quartz: Small mpeg splitter fixes.
Just to be cautious, since it reads 4 bytes it should stop trying at
EOF-3. Also be more strict with the return values.
2008-04-01 23:21:38 +02:00
Chris Robinson 4a68b33029 quartz: Break processing loop when shutting down. 2008-04-01 11:26:29 +02:00
Maarten Lankhorst 714e807aa5 quartz: Check against a null dereference and don't read beyond the end of file. 2008-03-31 12:51:16 +02:00
Andrew Talbot 892c31e4db quartz: Assign to structs instead of using CopyMemory. 2008-03-31 12:50:37 +02:00
Maarten Lankhorst 39623a403a quartz: Add GetCurrentPosition using the reference clock. 2008-03-28 09:51:00 +01:00
Maarten Lankhorst cc3ef90db0 quartz: Change name from Start position to Current position in MediaSeeking. 2008-03-28 09:50:51 +01:00
Alexandre Julliard 6af76b3daa quartz: Avoid %ll printf formats. 2008-03-26 18:01:09 +01:00
Reece Dunn 1b31c6e616 quartz: Fixed building with MSVC headers. 2008-03-24 21:05:13 +01:00
Maarten Lankhorst db8b2ca7b4 quartz: Silence requests for ipin on filters. 2008-03-24 11:32:26 +01:00
Maarten Lankhorst 4d745e0051 quartz: Forward requests for MediaSeeking from all pins properly. 2008-03-24 11:32:19 +01:00
Maarten Lankhorst 17a1c64686 quartz: Play silence in directsound renderer on end of stream notification. 2008-03-24 11:32:03 +01:00
Maarten Lankhorst f8bb838455 quartz: Make acmwrapper code aware of time, and get rid of its internal buffer. 2008-03-24 11:31:48 +01:00
Maarten Lankhorst c423511d2e quartz: Add sanity check to mediaseeking setrate. 2008-03-24 11:31:25 +01:00
Maarten Lankhorst b0c6a34358 quartz: Parse audio packets in mpeg splitter to obtain the duration. 2008-03-24 11:31:16 +01:00
Michael Stefaniuc 6ae786ec62 quartz: Replace second EnterCriticalSection with LeaveCriticalSection (Smatch). 2008-03-21 11:23:18 +01:00
Maarten Lankhorst e02322aef8 quartz: Implement forwarding mediaseeking messages. 2008-03-20 14:27:34 +01:00
Maarten Lankhorst 734d6159d5 quartz: Add critical sections to IMediaSeeking. 2008-03-20 14:27:34 +01:00
Maarten Lankhorst 9ec4240065 quartz: Add mediaseeking stub to audio renderer. 2008-03-20 14:27:34 +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 366eca51df quartz: Don't pass reference time when running. 2008-03-20 14:27:34 +01:00
Maarten Lankhorst ea537b916e quartz: Transmit pullpin messages further. 2008-03-20 14:27:34 +01:00
Maarten Lankhorst 3c9e2263ee quartz: Fix bug in transmitting messages further. 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 ebf6bbd50f quartz: Call send flush/endofstream and segment messages downstream. 2008-03-19 11:24:08 +01:00
Maarten Lankhorst 24708e4edb quartz: Fix the magic bytes for mp3's with id3 tags. 2008-03-19 11:22:51 +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 6d965b8fb6 quartz: Silence the directsound buffer on starting.
If the buffer is created and stopped, the contents of the buffer are
indeterminate, by zeroing it you won't get leftovers from last play.
2008-03-15 11:20:26 +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 4c09284c91 quartz: Add directsound renderer to filter list. 2008-03-14 12:59:02 +01:00
Maarten Lankhorst 25f9d3c173 quartz: Implement detection on file extension in filesource. 2008-03-14 12:58:52 +01:00
Maarten Lankhorst 83efc64dd5 quartz: Uncomment a trace. 2008-03-14 12:58:04 +01:00
Maarten Lankhorst b5a8df58cb quartz: Fix typo. 2008-03-14 12:58:00 +01:00
Maarten Lankhorst 6c1d089a44 quartz: Detect and skip id3v2 header in mpeg splitter. 2008-03-14 12:57:55 +01:00
Maarten Lankhorst e1867dac0d quartz: Implement a dummy null renderer for directshow. 2008-03-14 12:57:09 +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
Andrew Talbot 442f29ab49 quartz: Assign to structs instead of using memcpy. 2008-03-13 11:30:24 +01:00
Chris Robinson c925e3abc8 quartz: Don't print errors for handled return values. 2008-03-10 20:20:32 +01:00
Lei Zhang 0831be5adc quartz: Validate input for FilterGraph2_AddFilter. 2008-03-06 13:19:34 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Rob Shearman 1c0122d14e quartz: Don't assume that strlenW of a constant string can be determined at compile time.
Use sizeof instead to calculate the size of wszKeyName in 
FilterMapper2_CreateCategory.
2008-02-29 12:39:10 +01:00
Steven Edwards 973c29716b quartz: Bump the amount of time in the referenceclock test slightly. 2008-02-16 15:10:31 +01:00
Lei Zhang 9742724afe quartz: Add VideoRendererDefault. 2008-02-08 11:03:22 +01:00
Andrew Talbot 8caed63edb quartz: Remove unneeded casts. 2008-01-17 13:42:14 +01:00
Michael Stefaniuc 1f26b146d1 janitorial: Remove superfluous backslashes at end of lines. 2007-12-31 19:23:45 +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 5ddb13381e quartz: Move aggregation tests into separate file. 2007-12-21 13:58:27 +01:00
Lei Zhang e8f69b5a42 quartz: Do aggregation test for more video renderer interfaces. 2007-12-14 12:33:01 +01:00
Lei Zhang bf20ca1dd4 quartz: Make aggregation test generic. 2007-12-14 12:32:54 +01:00
Lei Zhang f5cd582bae quartz: Fix typo in GraphConfig_AddRef. 2007-12-14 12:25:26 +01:00
Lei Zhang 63df94ba0b quartz: Give video renderer's Inner_QueryInterface a less generic name. 2007-12-14 12:25:20 +01:00
Lei Zhang 932cc2d7f9 quartz: Make video renderer aggregatable. 2007-12-13 14:36:15 +01:00
Lei Zhang f5075f7356 quartz: Set *ppvObject to NULL if QueryInterface fails. 2007-12-13 14:34:07 +01:00
Lei Zhang 29cc256b9a quartz: Add referenceclock QueryInterface test. 2007-12-13 14:33:59 +01:00
Lei Zhang 766046d4ab quartz: Add videorenderer aggregation test. 2007-12-13 14:33:50 +01:00
Lei Zhang 4f6f1bcb6e quartz: Add videorenderer QueryInterface test. 2007-12-13 14:33:40 +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
Lei Zhang 646eefaa47 quartz: Add some IGraphBuilder related tests. 2007-12-07 17:04:15 +01:00
Lei Zhang 4ab6fd3de0 quartz: Add a test for IFilterGraph2. 2007-12-07 17:03:39 +01:00
Lei Zhang f84f4cab70 quartz: Move current tests into their own test case. 2007-12-07 17:03:27 +01:00
Alexandre Julliard ad9396302d Removed some unneeded imports. 2007-12-06 21:24:24 +01:00
Michael Stefaniuc 3e8970602c dlls: Remove duplicate includes. 2007-11-19 13:54:46 +01:00
Michael Stefaniuc 41044dcd8c quartz: Fix memory leaks on error paths. Found by Smatch. 2007-11-19 13:53:56 +01:00
Dan Kegel 8e8f840159 quartz: Make clock test less flaky. 2007-10-09 12:31:53 +02:00
Francois Gouget ec6e307b92 quartz: Better match the PSDK types and fix the winapi_check warnings. 2007-09-10 12:15:06 +02:00
Francois Gouget 2993785f3a Assorted non-ANSI function declaration fixes (missing void). 2007-08-30 11:57:18 +02:00
Stefan Leichter c13c9e3824 quartz: Remove 'recursive registry key delete' function. 2007-08-23 12:38:56 +02:00
Alex Villacís Lasso 7319157d7d quartz: Fix IReferenceClock::GetTime() implementation for system clock. 2007-08-13 12:23:37 +02:00
Alex Villacís Lasso 9d436f697d quartz: Add test for IReferenceClock. 2007-08-13 12:23:32 +02: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
Alex Villacís Lasso fb8df8ea82 quartz: Fix video rendering sizing/positioning bugs. 2007-06-20 15:10:58 +02:00
Chris Robinson 92ced51b10 quartz: Don't return S_FALSE for failed connections. 2007-06-05 12:19:15 +02:00
Marcus Meissner ccad96578d quartz: Added some error checking on failure to CreateClassEnumerator. 2007-06-04 12:49:46 +02:00
Marcus Meissner d2bc96bf8a quartz: ppinsplitter might be used uninitialized (Coverity). 2007-05-23 13:14:51 +02:00
Andrew Talbot 5ded3a9e88 quartz: Exclude unused headers. 2007-05-17 12:45:03 +02:00
Andrew Talbot a894ab6bd0 quartz: Exclude unused headers. 2007-05-17 12:44:57 +02:00
Chris Robinson b3fab140f3 quartz: Partially implement the MPEG 1 Stream Splitter filter. 2007-04-27 13:05:28 +02:00
Chris Robinson 147b0cf5ac quartz: Create DirectSound device and buffer at filter creation and connection respectively. 2007-04-16 12:07:55 +02:00
Chris Robinson 2faaa3b8de quartz: Implement IAMFilterData interface for IFilterMapper. 2007-04-11 13:04:23 +02:00
Chris Robinson eda96fa7f9 quartz: Pass the media sample to the individual transform filter callbacks.
This is so the filters can pass on and use timing, discontinuity, and other
information stored in the sample as needed.
2007-04-09 12:15:09 +02:00
Chris Robinson e6e4056e1e quartz: Fix error with operator precedence. 2007-04-09 12:14:51 +02:00
Chris Robinson d9f755875b quartz: Fix ALIGN macros. 2007-04-09 12:14:46 +02:00
Chris Robinson 20d87e768b quartz: Make sure cached media samples are released for parser filters. 2007-04-07 11:46:10 +02:00