Log in

View Full Version : mode2real V2 ( XCD for RV9 )


karl_lillevold
6th March 2003, 07:31
mode2real V2 is a plugin for RealOne V2 to enable direct playback of RealMedia files on Mode2 CDs.

See this for an introduction to XCD (and its risks):
How to fit 800MB on a 700MB CD (http://www.doom9.org/index.html?/xcd.htm)

Due to a bug in V2 of RealOne related to .dat files, the mode2real plugin originally created by wonderbread had to be modified. Most importantly, note the change in how to open the file in the instructions below. Testing has been minimal, so I am sure there will be some problems with this. For instance, the current RV9 decoder is not made to work well with bit errors, since it expects lost packets (from streaming). If you try it out, feel free to post your feedback here.

http://www.lillevold.com/files/mode2realV2.zip

The readme.txt included in the zip file reads as follows:

mode2real V2.00
===============

03/05/2003
Updated to work in RealOne V2.
(work-around for problem with filenames with .dat extension)

Based on RealNetworks SDK version 6.0: filesys1 sample
and work by 'wonderbread'.

WARNING: THIS TOOL HAS BARELY BEEN TESTED. IT IS PROVIDED
"AS IS" WITH NO WARRANTIES OF ANY KIND. IT MAY NOT WORK,
IT MAY HANG YOUR COMPUTER, IT MAY HANG REALONE, IN FACT,
IT MAY BE TOTALLY USELESS, IT MAY NOT WORK IF THERE IS
ANY KIND OF BIT OR BYTE ERROR ON THE CD. USE AT YOUR OWN
RISK, but feel free to report any problems, which may or
may not be taken into consideration.

Instructions:
Create and burn your mode2 CDs as usual with Mode2 CD Maker (http://webs.ono.com/usr016/de_xt/mcf.html).
- drag&drop .rmvb file into window
- set it to Form2 (bold face)
- create ISO
- burn CD using tool that can read .cue file

You now have a Mode2 CD with a file called filename.dat

Drop mode2real.dll into
c:\program files\common files\real\plugins

Start RealOne

Choose File->Open, in the text box type
mode2://G:\filename
where you replace G: with your CD-ROM drive letter
i.e. LEAVE OUT the .dat extension. If you include
the .dat extension (in RealOne V2) it will not work,
and RealOne will try to auto-update (unsuccessfully).

---

For all the details on XCD, see http://xcd.sourceforge.net/

karl_lillevold
6th March 2003, 15:44
Originally posted by kilg0r3
will your modification also work with files that have some other extension?
No, not right now, since I was under the impression .dat was a required extension for this format. However, since it appears it is not, I think I will change the work-around a little. How about the following:

use
mode2://G:\filename.yourextension.mode2

for .dat it would simply be
mode2://G:\filename.dat.mode2

The plugin will then simply strip away .mode2 and use filename.yourextension (or filename.dat) to open the file. (The whole point with this little work-around is so that before passing the work over to the right plugin, RealOne will not think the file has a standard .dat extension and try to play it back as an MPEG-1 VCD)

I may also add other modifications to the plugin, as needed. For instance, when RealOne V3 is out, with this bug fixed, I could add a registry entry such that the work-around can be enabled or disabled. I am still a little confused as to the differences between XCD, Mode2, and CDXA Form2, so I should read up on those topics to look for potential improvements and better handling of CD reading errors. For now, I think this is more a Mode2 plugin for RealMedia, than an XCD plugin.

Other suggestions for improvements?
EDIT: If your file already has another extension than .dat, the original plugin may work fine as well.

avih
10th March 2003, 20:54
@karl_lillevold

theoretically, the next desperately needed evolution of XCD is the mode 2 form 1 backup file. if you've read the last spec from the xcd homepage, you've seen that this backup file should also hold the original filename (and original file size). which should solve the problem of the filename and the problem of the padding at the last sector.

till then, any naming you choose will work, as long as you keep in mind that it's very important to keep it backward compatible (so far it seems likly that no backward incompatibility will arise from the introduction of the backup file).

@all
although there hasn't been any progress with the XCD backups, it's NOT forgotten, and with the introduction of matroska, there's some action behind the scenes with this issue. although nothing concrete to report yet.

if someone is willing to work on the subject (ONLY c/c++ knoledge needed, no dshow etc) we'll be more than happy to assist with anything we can, explain the code, and point to the places where some work is still needed.

although i don't have the time to work on it, it pretty much doesn't get out of my mind, and i'd be more than happy to see this project evolve.

cheers
avih

chris25frfr
11th March 2003, 06:30
i did a test with this expression "mode2://F:\Deux" .
My file is Deux.dat on the cd in mode2

the file could not be read 3 times . After that, i removed mode2real ,restart realone ,close it and put again the plugin . Now ,it works fine .


bye

karl_lillevold
11th March 2003, 06:56
I am glad to hear it is working!

However, it sounds as if there were some problems with the initial plugin registration process, and I am not sure why it did not work at first. Did you have the old version of the plugin in the plugins folder?

RealOne checks all the DLLs in the plugins folder, and if a DLL has changed or been added, it is supposed to to call the function in the DLL that reports the protocol etc that it supports.

I should probably

1) add your procedure, which seems to have worked.
or, perhaps even safer:

2) add instructions in the readme file for where the plugin information is stored, such the users can delete it. This is safe to delete, because when it is deleted, RealOne's playback engine will re-enumarate all the plugins and re-create this information on the next startup.
For V2 on my system, the reg key location appears to be
[HKEY_CLASSES_ROOT\Software\RealNetworks\RealMediaSDK\6.0\Preferences\PluginHandlerData]
but there is another copy in HKEY_CURRENT_USER... I will check which is the right one to delete, since they move around a little from version to version.

karl_lillevold
11th March 2003, 07:42
Originally posted by avih
theoretically, the next desperately needed evolution of XCD is the mode 2 form 1 backup file. if you've read the last spec from the xcd homepage, you've seen that this backup file should also hold the original filename (and original file size). which should solve the problem of the filename and the problem of the padding at the last sector.

I agree. For RM files the most needed tool would probably be an "XCH creator", that reads RM(VB) file and creates the .xch backup file. The mode2 CD creator can then be used to create the CD image with the RMVB file (.dat) as m2f2, and the .xch file as m2f1. Then, the mode2 plugin should be updated to take advantage of this backup file. This is not too hard for someone who knows the RM file format and which information is the most critical, but after having worked mostly with the codecs, I don't, and can't promise to find the time to learn the format either. And finding volunteers is also hard, as you know, but we'll see:)

chris25frfr
11th March 2003, 21:07
i used your link so it's the new dll . with the old version , that's not good .


bye