The FOURCCMap class provides conversion between GUID media subtypes and old-style FOURCC 32-bit media tags. In the original Windows multimedia APIs, media types were tagged with 32-bit values created from four 8-bit characters and were known as FOURCCs. DirectShow media types have GUIDs for the subtype, partly because these are simpler to create (creation of a new FOURCC requires its registration with Microsoft). Because FOURCCs are unique, a one-to-one mapping has been made possible by allocating a range of 4,000 million GUIDs representing FOURCCs. This range is all GUIDs of the form:
This class simplifies conversion between GUIDs and FOURCCs. This is for compatibility only. It is recommended that all new media subtypes be represented by GUIDs created by Guidgen.exe or a similar tool, and not by mapping FOURCCs.
The object is derived from a GUID, with no extra data members, and can be cast to a GUID. The object can be passed a FOURCC at construction time. The default constructor will initialize the FOURCC to zero.
The GetFOURCC and SetFOURCC methods do not check that the fixed portions of the GUID correspond to the FOURCC range. Thus, if you cast a pointer to a GUID into a pointer to a FOURCC and then set or get the FOURCC field, you also need to check separately that the GUID is within the FOURCC range.
|GetFOURCC||Retrieves the FOURCC from a FOURCCMap object.|
|SetFOURCC||Sets the FOURCC portion of the FOURCCMap object.|