Commit Graph

498 Commits

Author SHA1 Message Date
Maarten Lankhorst 1f136a57f7 quartz: Add a vtable argument to Parser_Create that individual filters can override. 2008-04-28 14:20:44 +02:00
Andrew Talbot 523552fcc3 quartz: Remove unused variables. 2008-04-24 11:49:56 +02:00
Maarten Lankhorst e0fe0ef01b quartz: Make the file source support multiple samples by preallocating enough handles. 2008-04-23 13:04:36 +02:00
Maarten Lankhorst 3a39805ed8 quartz: Make wave parser and mpeg splitter zero copy by getting rid of the seperate allocator for the output pin. 2008-04-23 13:03:50 +02:00
Maarten Lankhorst ec124be823 quartz: Add some sanity checks to file splitter. 2008-04-23 13:02:53 +02:00
Maarten Lankhorst 4abbf915d3 quartz: Copy discontinuity status in acmwrapper. 2008-04-23 13:02:48 +02:00
Maarten Lankhorst 2f736c4a5a quartz: Fix inverted logic in memallocator. 2008-04-23 13:02:42 +02:00
Maarten Lankhorst 1e9dbcc512 quartz: Fix error message names in tests. 2008-04-23 13:02:36 +02:00
Maarten Lankhorst a022467690 quartz: Optimize the processing thread to fetch one sample while processing another. 2008-04-23 13:02:28 +02:00
Austin English aab8fae59a Spelling fixes. 2008-04-21 14:25:05 +02:00
Maarten Lankhorst f9c2d8e2f4 quartz: Add some more tests and fix wine to pass them. 2008-04-21 14:05:38 +02:00
Maarten Lankhorst 810a933f68 quartz: Change longlong printfs. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst c1a4acde01 quartz: Add more seek entries and fix a time continuity bug. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst 9d9bf6f158 quartz: Only drop Preroll samples after obtaining its time. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst d7fbc7ef8c quartz: Drop preroll frames in directsound renderer too. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst fb2c975a8f quartz: No longer drop packets on discontinuities. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst 0458c08b95 quartz: Set media time in the file source. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst 172347341a quartz: Make acmwrapper respect preroll samples. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst d16639d1fa quartz: Flux AsyncReader in PullPin_BeginFlush. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst 33b2f69c9f quartz: Fix sample leak in file source on failure path. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst 119d7caf79 quartz: Fix theoretical memory leak. 2008-04-21 14:05:37 +02:00
Maarten Lankhorst 458b09a84d quartz: Make the video renderer drop preroll samples. 2008-04-21 14:05:37 +02:00
Alexandre Julliard df75bde180 quartz: Avoid sizeof in traces. 2008-04-17 20:17:03 +02:00
Austin English 313a85f163 Spelling fixes. 2008-04-17 12:25:57 +02:00
Maarten Lankhorst ebaadba498 quartz: Obtain the duration using the index in avisplitter. 2008-04-17 11:43:05 +02:00
Maarten Lankhorst 1625817113 quartz: Store the stream index in the avi stream for files that have them. 2008-04-17 11:42:50 +02:00
Maarten Lankhorst a0e8b97ffe quartz: Check for discontinuities in the directsound renderer. 2008-04-17 11:42:41 +02:00
Maarten Lankhorst 97b9e9c3ad quartz: Make sure at least 1 sample is processed before returning. 2008-04-17 11:42:24 +02:00
Maarten Lankhorst 405e21d558 quartz: Reject samples in transform filter only when stopped.
Use S_FALSE for saying sample is rejected.
2008-04-17 11:42:15 +02:00
Maarten Lankhorst 3dc8384aa9 quartz: Reject samples in video renderer when stopped.
When stopped video renderer no longer updates, so don't even try.
2008-04-17 11:42:07 +02:00
Maarten Lankhorst 382a61391f quartz: Fix IMediaSample2 SetPreroll and SetSyncPoint. 2008-04-17 11:41:58 +02:00
Maarten Lankhorst cbb0ff37fa quartz: Fix discontinuities in wave parser. 2008-04-17 11:41:52 +02:00
Maarten Lankhorst 6165d87fc5 quartz: Add a Disconnect function to the parser and use it to clean up allocated memory in avisplitter. 2008-04-16 14:16:23 +02:00
Maarten Lankhorst aa623d2eff quartz: Parse old style avi index. 2008-04-16 14:16:09 +02:00
Maarten Lankhorst f66ad4dbe0 quartz: Make the avi splitter skip index headers. 2008-04-16 14:15:19 +02:00
Maarten Lankhorst 64be38a5b2 quartz: Dump opendml indexes and header. 2008-04-16 14:15:11 +02:00
Maarten Lankhorst 0b32692451 include: Update aviriff header. 2008-04-15 14:34:01 +02:00
Maarten Lankhorst 1281b74956 quartz: Update start_time if the current position is changed. 2008-04-15 14:33:45 +02:00
Maarten Lankhorst 3e9cee050f quartz: Add VIDEOINFOHEADER2 support to VideoRenderer. 2008-04-15 14:33:36 +02:00
Maarten Lankhorst ebe438c82a quartz: Bring waveparser to the same level as the mpeg splitter. 2008-04-14 23:50:13 +02:00
Maarten Lankhorst ba10e6104a quartz: Silence seeking fixmes on transform filter. 2008-04-14 23:50:13 +02:00
Maarten Lankhorst 5fb4224f81 quartz: Silence requests for IVideoWindow. 2008-04-14 23:50:13 +02:00
Maarten Lankhorst c8e31b5bdd quartz: Set sane defaults for pin stream rate. 2008-04-14 23:50:13 +02:00
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