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