Maarten Lankhorst
48f80f6296
quartz: Don't clean up in avi decoder if driver isn't opened.
2008-04-14 23:50:13 +02:00
Maarten Lankhorst
bd324db059
quartz: Add stubs for the IMediaSeeking interface in SeekingPassThru.
2008-04-10 11:31:11 +02:00
Maarten Lankhorst
65e6bbd186
quartz: Add a stub for SeekingPassThru.
2008-04-10 11:31:06 +02:00
Maarten Lankhorst
2734e6332c
quartz: Implement stop position in the mpeg splitter.
2008-04-10 09:50:48 +02:00
Maarten Lankhorst
43f9fff0a0
quartz: Implement stop position in the filtergraph.
2008-04-10 09:48:13 +02:00
Maarten Lankhorst
f2dccab7e3
quartz: Make the directsound renderer handle the Play->Pause->Play position without dropping data.
2008-04-09 12:07:21 +02:00
Maarten Lankhorst
24cac935f0
quartz: Generate a seek table for the mpeg splitter.
...
Speeds up seeking mp3's on large files.
2008-04-09 12:07:16 +02:00
Maarten Lankhorst
55f3ba9dc0
quartz: Remove while { } while construct.
...
Thanks to Andrew Talbot for spotting this.
2008-04-09 12:07:11 +02:00
Michael Stefaniuc
71e9455b73
quartz: Add missing lock releases on some code paths (Smatch).
2008-04-09 11:47:07 +02:00
Maarten Lankhorst
994af69cac
quartz: Make the pullpin forward the BeginFlush before doing its own flushing.
2008-04-09 11:43:09 +02:00
Maarten Lankhorst
4763e83b60
quartz: Don't free a null media type in the file source.
2008-04-09 11:43:05 +02:00
Maarten Lankhorst
de117c1eb5
quartz: Make the DirectSound renderer return S_FALSE packet if in the paused state.
2008-04-09 11:42:59 +02:00
Maarten Lankhorst
8939a41563
quartz: Drop packets in the transform filter if in the wrong state.
2008-04-09 11:42:55 +02:00
Maarten Lankhorst
0117468754
quartz: Try creating the file reader from the filter source first before falling back to the generic async file reader.
2008-04-09 11:42:37 +02:00
Maarten Lankhorst
4bc4457109
quartz: Make mpeg splitter keep track of play position and keep last sample if sending was not successful.
...
This fixes data discontinuities that earlier occured after a
stop/pause command or the downright rejection of a sample (S_FALSE).
2008-04-09 11:42:17 +02:00
Maarten Lankhorst
f4d9c09dd4
quartz: Fix deadlocks in pullpin.
2008-04-08 12:21:00 +02:00
Maarten Lankhorst
d1aa222e85
quartz: Make wait timeout in directsound slightly larger.
2008-04-08 12:20:55 +02:00
Maarten Lankhorst
01c6e64da6
quartz: Handle flushing and end of stream notifications for input pins.
2008-04-07 11:35:36 +02:00
Maarten Lankhorst
ee792916e0
quartz: Reset EcCompleteCount before starting filters.
...
This sends EC_COMPLETE notifications to the application after a graph has
finished running for the second time.
2008-04-07 11:35:29 +02:00
Maarten Lankhorst
3d3dcc4e07
quartz: Fix past mistake to release lock during seeking and changing state.
2008-04-07 11:35:21 +02:00
Maarten Lankhorst
45bd38ece3
quartz: Fix some memory leaks in the file source.
2008-04-07 11:35:11 +02:00
Maarten Lankhorst
d56c50c85b
quartz: Make FileAsyncReader_WaitForNext return an empty sample in flushing state.
2008-04-07 11:35:06 +02:00
Maarten Lankhorst
fab66ee7a0
quartz: Get rid of code duplication and add a flush method.
2008-04-07 11:34:59 +02:00
Maarten Lankhorst
7f7c1d0752
quartz: Add more state transitions to the filtergraph.
2008-04-07 11:34:39 +02:00
Maarten Lankhorst
cfeca053b8
quartz: Fix memory leak found by valgrind.
2008-04-03 11:29:47 +02:00
Maarten Lankhorst
9c0ea9eaa8
quartz: Implement seeking on the null renderer.
2008-04-02 23:17:16 +02:00
Maarten Lankhorst
9d6239bdac
quartz: Fix stop_playback used in pullpin.
2008-04-02 23:17:07 +02:00
Maarten Lankhorst
975dc03302
quartz: Make acmwrapper respond to a sample discontinuity by dropping the frame after parsing it.
2008-04-02 11:16:35 +02:00
Maarten Lankhorst
553fe8565d
quartz: Add seeking to mpeg splitter.
2008-04-02 11:16:28 +02:00
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