Question : Whenever I want to play a VCD, an error message will appear: "MCI ERROR. MMSYSTEM296. The file cannot be played on the specified MCI device. The file may be corrupt or not in the correct format." Please advise.
Answer : This error typically appears in Windows 98/ SE/ME. There are several reasons for this error message to appear. One reason (the most obvious one) is that the VCD is corrupted.
Most videos are compressed, that is they are not recorded on disc in a raw form. They are encod- ed in a specific format (usually MPEG-1 or MPEG- 2 in the case of VCD). Many formats have stan- dard, predictable patterns that a decoder (such as a VCD player or VCD play- back software) can "translate" (decode) into a movie that can be watched and enjoyed by anyone. The data on the VCD itself is not the actual movie - it's an encoded, compressed heap of data that will make no sense to anyone until after it's decoded.
In personal computers, this decoding is usually done with the help of a compressor or decompressor component in the operating system. This compressor or decompressor component is commonly referred to as a "codec".
As anyone who's been in the PC industry long enough knows, there's never ever one "standard" for anything. This is perhaps unique to the industry. It's probably what makes this industry more fun (and headache-inducing) than many others.
Many other industries only ever have one specification or standard for anything - after all, it's what a "standard" is for: to "standardise". In the computer world, however, there are typically many "standards", all of which perform the same function, albeit in many different ways.
So, to make sense of any video file, the VCD play-back software must load the right codec. How does it know which codec to load? It looks at something called a "fourcc" (or 4CC) code.
The 4CC code is a sequence of four bytes (characters) embedded in the video file that tells the player what format the file is in. A list of the various codes can be found on the
www.fourcc.org Web site (under Video Codecs).
The code tells the VCD player which codec to use. After it loads the video file, the player looks for this code. It then compares the code against a list of codecs that are available on this system. When it finds the correct code, it loads the corresponding codec and passes the data through it, which results in a displayable movie. At least that's what happens if all goes well.
However, here in the real world, several things can go wrong, and there are several reasons for why they can happen. The first possibility is that the video file does not have a 4CC code or does not have the correct one. In the former case, the video player would not know which codec to load, and in the latter the video player might load the wrong codec for the job. In either case, this might result in the above-mentioned error message.
Another possibility, of course, is that the VCD player does not have the proper codec needed to render the video file. In this case, an external "codec pack" can be used to augment the functionality of the VCD player.
Examples of external codec packs include the K-Lite Codec Pack (available from home.hccnet.nl/h.edskes/ mirror.htm) and XP Codec Pack (
www.xpcodecpack.com). These codec packs include additional codecs that the video player might need to decode the video file.
Many codec packs also include 4CC identifiers which can read the embedded 4CC code in the video file and provide a clue as to which codecs a video file needs. The Web page support. microsoft.com/kb/ q219047 documents this error and provides a possible fix for it.
The last possibility is that the file is just corrupted. Some codecs have "error correction" mechanisms which will take care of many data faults, but if the file just doesn't make sense then there's not a lot anyone can do.