Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 22nd April 2002, 21:22   #1  |  Link
DeXT
Registered User
 
Join Date: Mar 2002
Location: Spain
Posts: 307
Request: Help with MCF-CD DShow filter

Hi again. I think most of you already know what's the MCF-CD project about, and the benefit this may bring for all the community. This post is focused at the Developers, specifically those with some DirectShow programming knowledge.

The MCF-CD is a reality. The only problem is, for it to be usable, a special DirectShow filter must be developed. This is needed because of the way Windows access M2F2 discs. It adds a RIFF/CDXA header to every file written this way and reads the file in RAW mode.

Althought this may sound complex, for anyone with minimal DS programming skills this is a very simple task. What we need is a File Source filter, or a Transform filter, that is able to bypass all this extra data and pass the useful data only to the next filter in the chain. This task is as simple as:

a) From the beggining of the file, discard the first 44 bytes (the RIFF header).
b) From here up to the end of the file, pass 2324 bytes of data out of every 2352 bytes in the file to the next filter. Each sector has the following structure:

struct sector {
char header[24];
char userdata[2324];
char edc[4];
}

What wee need is the userdata[] block only, the rest is discarded. This filter would only be used with movies because any other file would be written in Form1, which don't need any additional work.

As you can see, this is very simple. We (avih & me) have been playing with some sample DShow filters but seems we just don't have the skills to do such a thing. So any help on this matter would be greatly appreciated.

The main problems I currently have is:

¿How to implement a simple TransformFilter-based filter? (and NOT TransInPlaceFilter-based one as seen in the sample filters)

¿How do you know what amount of data is being requested from the next filter in the graph? So you can read the needed sectors from the file and pass the user data only.

Thanks in advance.
DeXT is offline   Reply With Quote
 

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 15:41.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.