ImageEn, unit iemmf

TIEMediaFoundationSourceReader.GetMediaTypesCount

TIEMediaFoundationSourceReader.GetMediaTypesCount


Declaration

function GetMediaTypesCount(streamIndex: integer): integer; overload;
function GetMediaTypesCount(const streamType: WideString): integer; overload;


Description

Returns the number of media types for the specified stream.

Parameter Description
streamIndex Index of the stream, in the range of 0 to StreamCount - 1
streamType A string representing the stream type. Only the first stream of this type will be considered. Can be any one of the values accepted by GetStreamType


Example

// Fill supported formats listbox for the current video input
lbxVideoFormat.Clear();
mmf := ImageEnView1.IO.MediaFoundationSourceReader;
for i := 0 to mmf.GetMediaTypesCount(mmf_VIDEO_STREAM) - 1 do
begin
  mediaType := mmf.GetMediaType(mmf_VIDEO_STREAM, i);
  lbxVideoFormat.Items.Add( Format( '%d x %d   %.1f fps (min fps: %.1f max fps: %.1f)   %s',
                              [ mediaType.GetInteger(IEFRAMEWIDTH_DICT_KEY),    // width
                                mediaType.GetInteger(IEFRAMEHEIGHT_DICT_KEY),   // height
                                mediaType.GetDouble(IEFRAMERATE_DICT_KEY),      // default frame rate
                                mediaType.GetDouble(IEFRAMERATEMIN_DICT_KEY),   // minimum frame rate
                                mediaType.GetDouble(IEFRAMERATEMAX_DICT_KEY),   // maximum frame rate
                                mediaType.GetString(IESUBTYPE_DICT_KEY)         // subtype = color space
                                ]));
end;
lbxVideoFormat.ItemIndex := 0;


See Also

StreamCount
GetMediaType