The MediaType object is used to describe the MediaSample formats returned from and written to the SampleSource, SampleTarget, and MediaSample objects. A MediaSample has a specific MediaType associated with it. Each "media type" consists of three attributes, the Type, Subtype and FormatType. The "Type" of the sample may be Constants.MEDIATYPE_Video, or Constants.MEDIATYPE_Stream, or some other type. To determine or assign the major media type of a media sample, use the MediaType.Type property. A format type may also have a subtype. For "Type" Constants.MEDIATYPE_Video, the "Subtype" may be Constants.MEDIASUBTYPE_RGB24. To determine or assign the subtype, use the MediaType.SubType The "FormatType" specifies additional information for a specific Type-Subtype combination. The MediaType.FormatType property provides information on the kind of data found in the Format buffer. The Format buffer can be accessed directly, by the MediaType.Format property, or a copy of the buffer can be obtained by calling the MediaType.GetFormatData method. When setting the Format, the format data itself must actually be copied to the format buffer. This is done using the MediaType.SetFormatData method OR the MediaType.SetVideoFormatData method. To determine or change the size of the format buffer, use the MediaType.FormatSize property. For more information on available "Types", "Subtypes" and "FormatTypes", refer to the DirectShow documentation on AM_MEDIA_TYPE.