Commit Graph

47 Commits

Author SHA1 Message Date
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
Aric Stewart 7fab2428c8 quartz: COM cleanup for Parser_OutputPin. 2012-05-24 21:23:25 +02:00
Aric Stewart 018161e760 quartz: COM cleanup for PullPin. 2012-04-06 20:45:01 +02:00
Aric Stewart d3c5b2c4f1 strmbase: COM cleanup for cleanup SourceSeeking. 2012-03-26 18:15:50 +02:00
Aric Stewart 026037ab69 strmbase: Move the MediaSeekingPassThru functions from quartz into strmbase. 2012-03-15 19:49:21 +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
Erich Hoover cd4ee69ef3 quartz: Samples should be freed when IAsyncReader::Request fails. 2011-09-12 16:49:57 +02:00
Maarten Lankhorst 8c42595c34 quartz: Fix time on MPEG splitter. 2010-11-08 13:30:24 +01:00
Aric Stewart 602d44a12c strmbase: Move mediaSeeking to strmbase SourceSeeking. 2010-10-12 11:44:17 +02:00
Aric Stewart 1d42659c40 strmbase: Implement BaseFilter in strmbase. 2010-10-08 11:04:04 +02:00
Aric Stewart 5c1409b55f strmbase: Move OutputPin implementation to strmbase. 2010-10-06 20:46:48 +02:00
Gerald Pfeifer 5fd618a0cd quartz: Remove unused variable pOutputPin from MPEGSplitter_process_sample. 2010-05-12 14:13:15 +02:00
Juan Lang e73f31a6ef quartz: Don't crash if sample allocation fails. 2009-08-28 11:54:49 +02:00
Christian Costa 74c07a141e quartz: Data may be incomplete at the end of file so do not assert if we have less data than expected. 2009-04-14 11:28:34 -05:00
Michael Stefaniuc cc7fc4abef quartz: Remove superfluous pointer casts. 2009-01-29 14:06:01 +01:00
Andrew Talbot a19ff5f07b quartz: Sign-compare warnings fix. 2008-11-05 10:56:54 +01:00
Rob Shearman a35431a194 quartz: Use memcmp instead of strncmp in MPEGSplitter_pre_connect.
header isn't a string and therefore using strncmp doesn't make sense.
2008-08-18 17:34:13 +02:00
Maarten Lankhorst 98f0b5f479 quartz: Reset time when rejecting sample in the mpeg splitter. 2008-05-13 11:21:12 +02:00
Francois Gouget 633ee950a1 Assorted spelling fixes. 2008-05-07 12:07:11 +02:00
Maarten Lankhorst 0f73bbad8c quartz: Get rid of the sample holding code in the mpeg splitter.
Instead just revert the position slightly, this is a lot easier to maintain.
2008-05-01 12:35:30 +02:00
Maarten Lankhorst 512ee927cb quartz: Add a function that can be called when stopping processing data. 2008-04-28 14:21:53 +02:00
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 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 a022467690 quartz: Optimize the processing thread to fetch one sample while processing another. 2008-04-23 13:02:28 +02:00
Maarten Lankhorst c1a4acde01 quartz: Add more seek entries and fix a time continuity bug. 2008-04-21 14:05:37 +02:00
Austin English 313a85f163 Spelling fixes. 2008-04-17 12:25:57 +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 2734e6332c quartz: Implement stop position in the mpeg splitter. 2008-04-10 09:50:48 +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 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 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 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
Alexandre Julliard 6af76b3daa quartz: Avoid %ll printf formats. 2008-03-26 18:01:09 +01:00
Maarten Lankhorst b0c6a34358 quartz: Parse audio packets in mpeg splitter to obtain the duration. 2008-03-24 11:31:16 +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 6c1d089a44 quartz: Detect and skip id3v2 header in mpeg splitter. 2008-03-14 12:57:55 +01:00
Andrew Talbot 442f29ab49 quartz: Assign to structs instead of using memcpy. 2008-03-13 11:30:24 +01:00
Andrew Talbot 5ded3a9e88 quartz: Exclude unused headers. 2007-05-17 12:45:03 +02:00
Chris Robinson b3fab140f3 quartz: Partially implement the MPEG 1 Stream Splitter filter. 2007-04-27 13:05:28 +02:00