%%ItemTitle%%

MFormats SDK Help
MFormats SDK

MFormats SDK is a flexible video software development framework that provides true random access to video frames. The SDK provides a unique development experience when working with live sources, playing out to professional devices, encoding video data or playing media files.

Check the MFormats SDK main page for general information and prices.

© 2016, Medialooks.

Send Feedback on this topic.


General Information

The work with media can be described in just one sentence:

"Grab frames from a source, make a required operations with the frame and send the frame to receiver".

A source here may be anything: video file, network stream, a video capture device or professional environment. A receiver here means output devices (renderers), preview on your display, streaming server or local file. The core part of this process is working with frames. And you can do whatever you want with frames by using MForamts SDK.

To create your application based on MFormats SDK you should complete 3 main steps:

  • Initialize and configure a source object;
  • Initialize and configure a receiver object;
  • Realize an operation for grabbing frames from the source and sending it to the receiver.

The documentation contains descriptions of how to work with different sources and receivers and what magic you can do with frames.


Source Objects

Files, network streams, live signals, image sequences - all of them are sources of video. In MFormats SDK a source object is an object that implements IMFSource interface. MFReader object for file source and MFLive object for live signals - the source objects in MFormats SDK.


MFReader Object
Source Objects > MFReader Object

This part guides you through configuration and usage of MFReader objects.


File playback
Source Objects > MFReader Object > File playback

You can play numerous media file formats with MFormats SDK. Decoding of files is realized with MFReader object.

This article guides you how to create a simple file playback operation and introduces you with the most important methods of MFReader object.

Initialization and configuration of source object

To open any sources you should create an instance of this object:

  • C#
MFReader myReader = new MFReader();

and open your source with ReaderOpen method:

  • C#
myReader.ReaderOpen(pathToYourSource, additionalProperties);

Where pathToYourSource may be a path to local file (e.g. "c:\temp\myVideo.mp4"), a URL to network stream (e.g. "rtsp://192.168.0.147/axis-media/media.amp") or path to image sequences (e.g. "c:\myImages\*.png"). Network streams playback and image sequences are described in separated articles. additionalProperties is a string with additional settings that are described in MFReader Properties article.

Your source object is ready to work.

Initialization and configuration of receiver object

MFPreview performs a role of receiver for preview your content on a display. To configure it you should create an instance of this object:

  • C#
MFPreview myPreview = new MFPreview();

and set up it to be able to preview frames in a required control or in separated window:

  • C#
// set myPreviewPanel as control for preview
myPreview.PreviewWindowSet("", myPreviewPanel.Handle.ToInt32);
// enable audio and video preview
int enableAudio = 1;
int enableVideo = 1;
myPreview.PreviewEnable("", enableAudio, enableVideo);

The receiver object is ready.

Grabbing frames from the source and sending it to the receiver

To grab a frame from source you should use IMFSource interface members. All the interface is described in another article.

Just for the example it is enough to use SourceFrameGet method. This method returns you an original frame from your source. It contains the following parameters:

  • _rtMaxWait - maximal wait time for frame in milliseconds. You can limit the duration for frame grabbing by setting this parameter. In case you need to be sure that the frame is grabbed, use '-1'. More detailed information about this parameter is described in Rate Control article.
  • _ppFrame - result frame grabbed from the source.
  • _bsHints - additional parameters. This parameter requires for playback control and for specific cases (and reserved for future features). In common case it is recommended to keep it empty.

This method always returns you the next available frame from your source.

To send a frame to receiver you should use ReceiverFramePut method of IMFReceiver interface. This method sends a frame to a receiver object that realizes IMFReceiver interfaces (MFPreview or MFDevice objects). It contains the following parameters:

  • _pFrame - a frame that is sent to receiver
  • _rtMaxWait - maximal wait time for frame sending in milliseconds. You can limit the duration for frame sending by setting this parameter. In case you need to be sure that the frame is received, use '-1'. More detailed information about this parameter is described in Rate Control article.
  • _bsHints - additional properties. In common case it is recommended to keep it empty.

To play your source content you should make a loop-thread that would grab frames from your source and send it to receiver. In general this is a core method that you should create for any your application that is based on MFormats SDK.

The simplest loop-thread looks like:

  • Tab Caption
while (true)
{
    if (isThreadWork)
    {
        // a core method to grab a frame from source, make a magic and send it to receiver
        CoreMethod();
    }
    else
    {
        break;
    }
}

where isThreadWork indicates that the thread is started.

In this article a source is myReader (MFReader) and receiver is myPreview (MFPreview) the CoreMethod is:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myReader).SourceFrameGet(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myPreview).ReceiverFramePut(myFrame, -1, "");

Keep the thread working until the end of your source or until you need to stop it.

To check that file is over you should get frame flags information and check that the frame is last:

  • C#
M_TIME myTime;
myFrame.MFTimeGet(out myTime);
// Check for the last frame
if ((myTime.eFFlags & eMFrameFlags.eMFF_Last) != 0)
{
    isThreadWork = false;
}

eMFrameFlags enumeration contains all the possible flags for frame and is listed in documentation.

After the playback is stopped and you don't need the file anymore you should call ReaderClose method to close all internal decoding processes.


Selecting media tracks in file
Source Objects > MFReader Object > Selecting media tracks in file

Media files that are used in broadcasting may contain not only one video and one audio tracks. Also files may contain transport stream programs and also subtitles. You can select any of possible media track with MFReader object.

After you open your file for decoding with ReaderOpen method you are able to get information about the file.

To get information about how many media tracks are available in the file you should use PropsGet method:

  • C#
string numberOfStreams;
myReader.PropsGet("info::streams", out numberOfStreams);

It shows you how many streams there are in your file (all together video tracks, audio tracks, transport stream programs, subtitle tracks).

To get an information about how many specific streams there are in your files you should specify its type in PropsGet method:

  • 'info::video_tracks' - to get number of video tracks;
  • 'info::audio_tracks' - to get number of audio tracks;
  • 'info::subtitle_tracks' - to get number of subtitle tracks;
  • 'info::ts_programs' - to get number of transport stream programs.

To set a required track you should call PropsSet method. The property name should be:

  • 'audio_track' - to set audio track;
  • 'video_track' - to set video track;
  • 'ts_program' - to set transport stream program;
  • 'subtitle_track' - to set subtitle track;

For example to set 2nd video track in your file you should call

  • C#
myReader.PropsSet("video_track", "1");

To disable any track you should set appropriate property to '-1'. For example, to disable audio for a file you should call:

  • C#
myReader.PropsSet("audio_track", "-1");


Modifying video by MFReader
Source Objects > MFReader Object > Modifying video by MFReader

You can modify (crop, rotate, reflect) your video from file source with properties that you can set with PropsSet method or as additional parameters with ReaderOpen method.

Crop

You can crop unnecessary part of video with "crop" property. Its value is set in pixels and the format is: "cropFromLeft, cropFromTop, cropFromRight, cropFromBottom".

For example, to crop 10 pixels from left, 20 pixels from top, 30 pixels from right and 40 pixels from bottom you should call

  • C#
myReader.PropsSet("crop", "10,20,30,40");

or right on initialization with:

  • C#
myReader.ReaderOpen(pathToFile, "crop=10,20,30,40");

Rotate

You can rotate your video to left or to right on 90 degrees with "rotate" property. Possible values are "left" and "right".

You can set this property with PropsSet or ReaderOpen methods.

Here is example of results for this property:

Reflect

You can reflect your video with "mirror" property. Possible values are: "vert" for vertical reflection, "horz" for horizontal reflection and "both" for vertical and horizontal reflection at the same time.

This property is also set with PropsSet or ReaderOpen methods.

Here is result of different values of "mirror" property:


Image Sequences support
Source Objects > MFReader Object > Image Sequences support

You can use image sequences just like a common video file for playback.

To do it you should use MFReader object and set a path to your images while configure the object:

  • C#
MFReader myReader = new MFReader();
myReader.ReaderOpen(@"c:\myImages\*.png", "");

To add a file mask to sequence you should use wild-card expression in file name, for example:

  • C#
myReader.ReaderOpen(@"c:\myImages\big_buck_bunny_*.png", "");

A specific additional property for image sequences is "frame_rate". You can set required frame rate for image sequences with this property. For example:

  • C#
myReader.ReaderOpen(@"c:\myImages\big_buck_bunny_*.png", "frame_rate=23.97");

The images are used in alphabetical order so check the names of your images to be sure in playback order.


Network Streams Playback
Source Objects > MFReader Object > Network Streams Playback

You can play network streams just like simple files.You can set all the properties for the stream and control its playback.

To open network stream you should call

  • C#
myReader.ReaderOpen(streamURL, additionalParameters);

HTTP, UDP, RTMP, RTSP, MMS and MMSH streams are supported for playback. You can play YouTube videos also. To do it you should call for example:

  • C#
myReader.ReaderOpen("https://www.youtube.com/watch?v=LEwV3enYuKs", "");

and the highest quality of video will be loaded to MFile object.

As additional parameters (additionalParameters) for network streams you can set maximal and minimal size of cached buffer (in seconds):

  • stream.cache_max - maximal cached buffer size;
  • stream.cache_min - minimal cached buffer size.

For example:

  • C#
myReader.ReaderOpen(streamURL, "stream.cache_max = 10.0 stream.cache_min = 1.0");

Note that for network streams it is not possible to change playback speed.


Playback control
Source Objects > MFReader Object > Playback control

SourceFrameGet method returns only the next original frame. So it is used only for simple playback cases. To make seeking or vary playback speed you should use another methods of IMFSource interface.

  • Seeking
  • Speed playback
  • Start and Stop
  • Pause
  • Frame by Frame playback
  • Reverse playback

Seeking

All the files contains from frames. Each frame has its number and its own time. And you can get a frame by using these parameters with SourceFrameGetByNumber and SourceFrameGetByTime methods.

SourceFrameGetByNumber method contains these parameters:

  • _nFrameNo - frame number to seek.
  • _rtMaxWait - maximal wait time for frame in milliseconds. The same meaning as for SourceFrameGet method.
  • _ppFrame - a source frame from the target position.
  • _bsHints - additional parameters. This parameter is used in playback control and described below.

To seek to for example, 57th frame in the file you should call

  • C#
MFFrame mySeekingFrame;
((IMFSource)myReader).SourceFrameGetByNumber(57, -1, out mySeekingFrame, "");

SourceFrameGetByTime methods contains the same parameters except the 1st one. For this method it is _dblTimeSec - position of a frame in seconds.

To seek to 15th second of the file you should call

  • C#
MFFrame mySeekingFrame;
((IMFSource)myReader).SourceFrameGetByTime(15.0, -1, out mySeekingFrame, "");

In both cases file position is set to target one and further playback continues from target position.

Speed playback

For both SourceFrameGetByNumber and SourceFrameGetByTime methods it is possible to use negative values for target number and time. If you use '-1' as value the source object returns you the next frame. So for simple playback you can change the main thread body to this variant with SourceFrameGetByTime method:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myReader).SourceFrameGetByTime(-1, out myFrame, "");
// or with
// ((IMFSource)myReader).SourceFrameGetByNumber(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myPreview).ReceiverFramePut(myFrame, -1, "");

or to this one with SourceFrameGetByNumber method:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myReader).SourceFrameGetByTime(-1, out myFrame, "");
// or with
// ((IMFSource)myReader).SourceFrameGetByNumber(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myPreview).ReceiverFramePut(myFrame, -1, "");

Fast playback means that instead of each frame playback some frames are skipped. For example, x2 speed means that you see each 2nd frame on preview. To make x2 playback with these methods you should set '-2' as target position for these methods:

  • C#
((IMFSource)myReader).SourceFrameGetByTime(-2, out myFrame, "");

or

  • C#
((IMFSource)myReader).SourceFrameGetByNumber(-2, out myFrame, "");

The same is for any speed: x5 playback means to use '-5' as parameter.

It is possible to use only integer values as negative for these methods so to make slow playback you should send the same frame to receiver several times.
x0.5 playback means that you see the same frame twice a long as it usually gets. To make this effect in source-receiver thread you should do something like this:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myReader).SourceFrameGetByTime(-1, out myFrame, "");
for (int slowIterator = 0; slowIterator<slowRate; slowIterator++)
{
    ((IMFReceiver)myPreview).ReceiverFramePut(myFrame, -1, "");
}

where slowRate may be '2' for x0.5 speed playback, '4 for x0.25 playback etc.

Start and Stop

Play and Stop playback operations are managed by the core thread itself. To stop a playback you should stop thread or just don't call core methods. To resumes a playback you should resume thread.

Pause

All the IMFSource interface methods contains _bsHints parameter. To set this parameter to 'pause=true' makes a source pause on the current frame and returns you the same frame all the time while the parameter is set. To pause playback you should do the following:

  • C#
((IMFSource)myReader).SourceFrameGetByNumber(-1, out myFrame, "pause=true");

Until you call

  • C#
((IMFSource)myReader).SourceFrameGetByNumber(-1, out myFrame, "");

the MFReader object will return you the same frame. As soon you make _bsHints parameter empty the playback resumes.

Frame by Frame playback

To make frame-by-frame playback you should get a frame from source and after the frame is sent to receiver set "pause=true" for _bsHints parameter.

Reverse playback

To reverse the playback you should set _bsHints to 'reverse=true'. In this case the behavior of IMFSource interface methods will be changed:

  • SourceFrameGet will return you the previous frame
  • SourceFrameGetByNumber and SourceFrameGetByTime will work as in common case if the target position is positive (e.g. 57th frame or 15th second), but will return you previous frames in case of negative target position, e.g. '-1'.

So simple reverse playback looks like:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myReader).SourceFrameGetByTime(-1, out myFrame, "reverse=true");
// or with
// ((IMFSource)myReader).SourceFrameGetByNumber(-1, out myFrame, "reverse=true");
// send to receiver
((IMFReceiver)myPreview).ReceiverFramePut(myFrame, -1, "");

and to speed up the reverse playback you should just change '-1' to required value.


Working with audio
Source Objects > MFReader Object > Working with audio

You can manage order and number of audio channels in your source objects with "audio_channels" property. The value of the property is a string that contains numbers of required audio channels divided by commas. The count of elements in this string determines result audio channels number. And the order of elements determines result order of audio channels.

For example, to configure our source to use only 4 channels with reverse channels order you should call:

  • C#
myReader.PropsSet("audio_channels", "3,2,1,0");
  • if number of channels is the same then structure of audio tracks isn't changed by default
  • if number of channels isn't the same then all audio tracks are united into a single track

To specify required track structure you should use '|' symbol to divide tracks, for example: audio_channels='0,1|2,3' or audio_channels='0,1|0,1,2,3'

Also you can manage audio gain of your file source. To do it you should set "audio_gain" property. The value of this property is in decibels.

To decrease audio gain for all the channels to 10 dB you should call:

  • C#
myReader.PropsSet("audio_gain", "-10");

You can set audio for each audio channel separately with the same property. For example, to add 5 dB to 1st audio channel and decrease the 2nd channel for 15 dB you should call:

  • C#
myReader.PropsSet("audio_gain", "-5, -15");


External audio for file sources
Source Objects > MFReader Object > External audio for file sources

You can mix original audio from your source with external one that you can set.

To do it you should set "external_audio" property for your MFReader object with PropsSet method or while initialization with ReaderOpen method. Value of this property is a path to your external audio file.

For example:

  • C#
myReader.ReaderOpen(pathToFile, "external_audio=c:\myExternalMusic.mp3");

Also you can set required audio track for external audio file with "external_audio_track" property. The value is index of required track. For example:

  • C#
myReader.ReaderOpen(pathToFile, "external_audio=c:\myExternalMusic.mp3 external_audio_track=1");


Get information about file
Source Objects > MFReader Object > Get information about file

Information about the file is in info node. You can get it from enumeration of properties with PropsGetCount and PropsGetByIndex methods. Information from this node is presented in table:

Node | Description
ts_programs | number of programs for multi program transport stream
subtitle_tracks | number of subtitle tracks in file
video_tracks | number of video tracks
audio_tracks | number of audio tracks
streams | total number of streams
format | file format
format_name | full name of the format
network | indicates whether file is network stream or not
bitrate | bitrate of the file
video | this node contain information about video track (height, width, codec, aspect ratio etc.). If file contains more then one video track then nodes' names are "video.0", "video.1" etc.
audio | this node contain information about audio track (format, channels, codec etc.). If file contains more then one audio track then nodes' names are "audio.0", "audio.1" etc.
subtitle | this node contain information about subtitle track. If file contains more then one subtitle track then nodes' names are "subtitle.0", "subtitle.1" etc.
ts_program | this node contain information about program for multi program transport stream (audio, video, program information). If ts_programs>0 then then nodes' names are "ts_program.0", "ts_program.1" etc.
duration | file duration.
start_time | file start time.
size | file size.
metadata | file metadata. May contain additional names divided by "." .
ts_program.used | Index of transport stream program that is currently used.
video_track.used | Index of video track that is currently used.
audio_track.used | Index of audio track that is currently used.
subtitle_track.used | Index of subtitle track that is currently used.


MFReader Properties
Source Objects > MFReader Object > MFReader Properties

To summarize all the settings for MFReader object here is a list of possible settings that you can set in system registry (HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFReader) or with ReaderOpen or PropsSet method:

Name | Default | Description
"crop " | " " | crops the video. Possible value: "left,top,right,bottom" where sides are set in pixels
"mirror " | " " | reflects video. Possible values: "vert", "horz", "both"
"rotate " | " " | rotates video to left or to right. Possible values: "left", "right"
"loop " | " true" | loop video playback
"audio_gain" | "" | audio gain for file.
"external_process " | " true" | use external process for decoding
"decoder.gpu264 " | " false" | use GPU powered decoder for H264 video
"decoder.mldv " | " true" | internal approach for DV files decoding
"interlace " | " " | interlaces video. Possible values: "progressive", "default", "top", "bottom", "field".
"aspect_ratio " | " " | sets the aspect ratio of file (for example, "4:3", "16:9").
"scale_type " | " " | sets scaling type. Possible values: default, none, letter-box, crop.
"audio_channels " | " " | sets the number and order of audio channels
"audio_track " | " 0" | sets audio track
"video_track " | " 0" | sets video track
"subtitle_track " | " -1" | sets subtitle track
"ts_program " | " -1" | sets transport stream program
"auto_index " | " false" | use auto-indexation for file
"audio_only.block_msec " | " 20" | sets minimal duration of frame for audio-only files
"forward.cache " | " 3" | buffer of decoded frames in forward directions
"forward.min_seek " | " 5" | minimal seeking interval
"reverse.step " | " 25" | reverse step for switching to reverse playback
"scaling_quality " | " auto" | quality of video scaling
"watch_dog.max_time_file " | " 1000" | maximal duration for file frame decoding
"watch_dog.max_time_net " | " 10000" | maximal duration for network frame decoding
"mxf.fp500_offset" | " " | Sets FP500 offset for MXF files. Possible values: "true", "false"
"external_audio " | "" | external audio for file that is mixed with original one. Usage: myReader.ReaderOpen(@"c:\clip.avi", @"external_audio=c:\1.mp3"); or myReader.PropsSet("external_audio", @"c:\1.mp3");
"mxf.s377_metadata" | " " | Adds into "file::info" full description of MXF file according to SMPTE s377 standard. Possible values: "true", "false"
"mxf.sequential_scan" | "false" | Sets buffering type for file reading. Possible values: "true", "false"
"mserver_pid" | "" | Returns a process ID of MServer.exe process that is used for this object. Get-only property.
"_process_pid_" | "" | Returns a process ID of main process where this object is used. Get-only property.
"_process_name_" | "" | Returns a process name of main process where this object is used. Get-only property.
"file.buffer_max" | "1.0" | maximal duration of buffered data from file in seconds
"file.buffer_min" | "0.0" | minimal duration of buffered data from file in seconds
"network.buffer_max" | "10.0" | maximal duration of buffered data from network stream in seconds
"network.buffer_min" | "1.0" | minimal duration of buffered data from network stream in seconds
"network.open_async" | "false" | asynchronous process for network stream or file (an also changing of video, audio tracks, subtitles track) initialization
"network.reconnect" | "false" | If "true", the MFReader tries to reconnect a stream after network problems (disconnect from network for example).
"network.open_image" | "" | a path to image that is used for frames while network stream is initializing. Temporary doesn't work.
"open_url.max_wait" | "10000" | maximal time amount to open a network URL in milliseconds
"mxf.force_ffmpeg" | "false" | force FFmpeg usage for MXF files decoding. If "false" Medialooks appropriate MXF Reader is used.
"mxf.open_file_flags" | "" | additional FFmpeg flags to open file
"play_while_rec.update_len" | "true" | updates duration of file that is in recording (Play-while-Recording) state
"audio_only.block_msec" | "0" | duration of audio blocks for audio-only sources (sources without video tracks or with video_track=-1)
"audio.force_sync" | "false" | force synchronization of audio
"audio_only.exact_pos" | "false" | gets audio blocks (for audio-only sources) from exact position of the file (unaligned to frame time)


MFLive Object
Source Objects > MFLive Object

This part guides you through configuration and usage of MFLive objects.


Live Sources
Source Objects > MFLive Object > Live Sources

Another type of source objects is live sources: cameras and capture devices. Live sources are managed by MFLive object.

The main idea is the same: configure source object, grab a frame from it and send the frame to receiver.

Initialization and configuration of source object

It takes a few steps to set up a source:

  1. Create an instance of MFLive object
  2. Set up device
  3. Set up device input line
  4. Set up device input format (if required)
  5. Set up audio source

Create an instance of MFLive

  • C#
MFLive myLiveSource = new MFLive();

Set up device

First of all you need to know what devices are possible to use. To get a number of devices you should call DeviceGetCount method of IMFDevice interface. And then you can get information about supported devices by getting them by its indexes with DeviceGetByIndex method. These methods contain a device type as first parameter: eMFDeviceType enumerates types of devices - video and audio.

To collect all the available live sources into a list you should call this:

  • С#
// get number of devices available for usage
int deviceCount;
myLiveSource.DeviceGetCount(eMFDeviceType.eMFDT_Video, out deviceCount);
// initialize an array to collect device names
string[] deviceArray;
if (deviceCount > 0)
{
    deviceArray = new string[vCount];
    for (int deviceIndex = 0; deviceIndex < deviceCount; deviceIndex++)
    {
        // get device by its index
        string deviceName;
        int isBusy; // indicates is it possible to use this device or is it busy in another application
        myLiveSource.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, deviceIndex, out deviceName, out isBusy);
        deviceArray[deviceIndex] = deviceName;
    }
}

To set a device you should call DeviceSet method

  • C#
myLiveSource.DeviceSet(eMFDeviceType.eMFDT_Video, deviceIndex, "");

where deviceIndex is index to the target name of your device in deviceArray list.

By this step the device is already initialized and you should set required parameters for it to be ready to use it: input line, input video format and audio source.

Set up input line

Input line is a property of MFLive object. You can set properties for objects by using IMFProps interface method.

"line-in" property is an option property. It means that its possible values are collected into a list that is individual for main object general settings. For example, different devices support different input lines (HDMI, SDI etc). For such properties there is a group of methods in IMFProps interface - PropsOption-based method.

To get current input line you should call PropsGet method:

  • C#
string currentLineIn;
myLiveSource.PropsGet("line-in", out currentLineIn);

To collect all the available lines: into array you should get number of possible values with PropsOptionGetCount method and then get each possible value by its index with PropsOptionGetByIndex method:

  • C#
int lineCount;
string[] linesArray;
myLiveSource.PropsOptionGetCount("line-in", out lineCount);
if (lineCount > 0)
{
    linesArray = new string[lineCount]
    for (int lineIndex = 0; lineIndex < lineCount; lineIndex++)
    {
     string shortLineName;
     string longLineName;
        myLiveSource.PropsOptionGetByIndex("line-in", lineIndex, out shortLineName, out longLineName);
        linesArray[lineIndex] = longLineName;
    }
}

To set required line you should use PropsOptionSetByIndex method:

  • C#
myLiveSource.PropsOptionSetByIndex("line-in", targetLineIndex);

where targetLineIndex is index of required line from the list.

Set up input video format

First of all you should know what format your device supports. The logic is similar to getting all the device names or input lines. The only difference is an interface that is used - IMFFormat. To collect all the supported input formats you should get its count with FormatVideoGetCount method and get each of the format with FormatVideoGetByIndex.

To list all the available input video formats you should call this:

  • C#
int formatsCount;
myLiveSource.FormatVideoGetCount(eMFormatType.eMFT_Input, out formatsCount);
string[] formatsArray;
if (formatsCount > 0)
{
    formatsArray = new string[formatsCount];
    for (int formatIndex = 0; formatIndex < formatsCount; formatIndex++)
    {
        M_VID_PROPS vidProps;
        string formatName;
        myLiveSource.FormatVideoGetByIndex(eMFormatType.eMFT_Input, formatIndex, out vidProps, out formatName);
        formatsArray[formatIndex] = formatName;
    }
}

And to set video format you should get format by its index to obtain M_VID_PROPS structure that represents format settings and set it with FormatVideoSet method:

  • C#
// get required format by index
M_VID_PROPS vidProps;
string formatName;
myLiveSource.FormatVideoGetByIndex(eMFormatType.eMFT_Input, targetFormatIndex, out vidProps, out formatName);
//set video format
myLiveSource.FormatVideoSet(eMFormatType.eMFT_Input, vidProps);

You may mention that IMFormat interface methods contain format type as the first parameter. It is a eMFormatType enumeration value. At the moment the only important value is eMFT_Input, by using which you can set input format for your devices. Other values are reserved for future usage.

By this step your live source is ready to work with video frames.

Set up audio source

Because of different video devices supports different audio source it is recommended to update a list of audio source each time you change source video device. The actions to set up audio sources are the same as for video sources. The only difference is that you should use eMFDT_Audio device type.
To get all the list of audio source you should call:

  • C#
// get number of devices available for usage
int deviceCount;
myLiveSource.DeviceGetCount(eMFDeviceType.eMFDT_Audio, out deviceCount);
// initialize an array to collect device names
string[] deviceArray;
if (deviceCount > 0)
{
    deviceArray = new string[vCount];
    for (int deviceIndex = 0; deviceIndex < deviceCount; deviceIndex++)
    {
        // get device by its index
        string deviceName;
        int isBusy; // indicates is it possible to use this device
        myLiveSource.DeviceGetByIndex(eMFDeviceType.eMFDT_Audio, deviceIndex, out deviceName, out isBusy);
        deviceArray[deviceIndex] = deviceName;
    }
}

and to set required source by its index with DeviceSet method:

  • C#
m_objLive.DeviceSet(eMFDeviceType.eMFDT_Audio, targetAudioIndex, "");

DeviceSet contains additional properties as the last parameter, but at the moment it is reserved for future usage.

Finally all the parameters are set and the source is completely ready for usage.

Initialization and configuration of receiver object

MFPreview performs a role of receiver for preview your content on a display. To configure it you should create an instance of this object:

  • C#
MFPreview myPreview = new MFPreview();

and set up it to be able to preview frames in a required control or in separated window:

  • C#
// set myPreviewPanel as control for preview
myPreview.PreviewWindowSet("", myPreviewPanel.Handle.ToInt32);
// enable audio and video preview
int enableAudio = 1;
int enableVideo = 1;
myPreview.PreviewEnable("", enableAudio, enableVideo);

The receiver object is ready.

Grabbing frames from the source and sending it to the receiver

The core method is similar to file playback:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myLiveSource).SourceFrameGet(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myPreview).ReceiverFramePut(myFrame, -1, "");

SourceFrameGetByNumber and SourceFrameGetByTime methods of IMFSource interface are supported for live sources but it is not possible to make a seeking or increase speed of playback - the parameters are ignored and the source always returns you the next frame.


External audio for live sources
Source Objects > MFLive Object > External audio for live sources

You can use external audio source for you live signals. For example, you can use Decklink video input with your microphone as audio source. Or you can mix Decklink audio and microphone audio together.

To use external audio source you should set up a device with eMFDT_ExtAudio type.

To get a list of available external audio source that you can use with video device that is set you should call this code:

  • С#
// get number of devices available for usage
int deviceCount;
myLiveSource.DeviceGetCount(eMFDeviceType.eMFDT_ExtAudio , out deviceCount);
// initialize an array to collect device names
string[] deviceArray;
if (deviceCount > 0)
{
    deviceArray = new string[vCount];
    for (int deviceIndex = 0; deviceIndex < deviceCount; deviceIndex++)
    {
        // get device by its index
        string deviceName;
        int isBusy; // indicates is it possible to use this device or is it busy in another application
        myLiveSource.DeviceGetByIndex(eMFDeviceType.eMFDT_ExtAudio , deviceIndex, out deviceName, out isBusy);
        deviceArray[deviceIndex] = deviceName;
    }
}

To set a device you should call DeviceSet method

  • C#
myLiveSource.DeviceSet(eMFDeviceType.eMFDT_ExtAudio, deviceIndex, "");

After this step you get embedded audio mixed with external one as result. By default external audio channels are added to original one. So if your video source contains embedded audio with 2 channels and external audio source also has 2 channels as result you will get 4-channels audio.

To set where should external audio be inserted you should set "ext_audio.insert_to_channels" property with PropsSet method or with DeviceSet method for you MFLive object. For example:

  • C#
myLiveSource.PropsSet("ext_audio.insert_to_channels", "0,1");

In this case external audio will be at 1st and 2nd channels, while the original audio will be shifted to 3rd and other channels.


MFLive Properties
Source Objects > MFLive Object > MFLive Properties

You can manage MFLive object behavior by setting properties with PropsSet method or in system registry: HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFLive.

Here is a list of properties of MFLive object:

Name | Default | Description
" device_sharing " | " false" | indicates device sharing feature (ability to use devices in several application at once)
" ext_audio.enabled " | " true " | enables external audio for devices
" ltc.enabled " | " true " | enables LTC sources
" ltc.audio_device " | " " | default LTC source device
" input.buffers " | "0" | number of input buffers
" ext_audio.insert_to_channels " | " " | indicates to where external audio channels will be inserted
" ltc.sync " | " false " | indicates whether video is synchronized with LTC source
" scaling_quality " | " auto " | scaling quality for input video
"mserver_pid" | "" | Returns a process ID of MServer.exe process that is used for this object. Get-only property.
"_process_pid_" | "" | Returns a process ID of main process where this object is used. Get-only property.
"_process_name_" | "" | Returns a process name of main process where this object is used. Get-only property.
"extra_devices.clsids" | "{CB64C6C2-A9A7-4DE0-8334-55133C3C311B},{A896A5FB-126E-4D11-98F0-13EBC6BE2023}" | list of CLSIDs for extra devices
"crop" | "" | crops the video. Possible value: "left,top,right,bottom" where sides are set in pixels
"mirror" | "" | reflects video. Possible values: "vert", "horz", "both"
"rotate" | "" | rotates video to left or to right. Possible values: "left", "right"
"ext_audio.show_all_loopback" | "false" | shows all possible loopback devices. If "false" only "PC Loopback" audio source is used - it is automatically detected.
"directshow.supported" | "1" | indicates whether DirectShow devices are supported ("1") or not ("0")
"no_signal.send_for_audio_only" | "false" | indicates whether for audio-only live source "No Video Signal" message is displayed
"no_signal.enabled" | "true" | enables "No Video Signal" for live sources when there is no video
"no_signal.picture" | "" | changes default "No Video Signal" image with custom one: a path to a file (JPG, PNG, BMP), a hex-code of color
"no_signal.max_wait_msec" | "160" | maximal wait time for no-video-signal sources for frame grabbing
"direct_show.show_blackmagic" | "false" | indicates whether Blackmagic devices are listed as DirectShow sources


Medialooks DXGI/DX11 ScreenCapture
Source Objects > MFLive Object > Medialooks DXGI/DX11 ScreenCapture

A new screen capture engine is available in professional edition of MFormats SDK. The new version is a native implementation and is not based on DirectShow. This results in better stability, enhanced performance and also much better quality of the captured content. It can operate in software, semi-hardware and full hardware mode freeing up the CPU to perform other tasks.

In addition, several options are available that will let you display key presses, mouse events, time-code, zooming and tracking the currently active window.

Combined, the features and options will let you capture desktop video and audio for use within your media applications opening up a host of new possibilities and usage scenarios.

You can try it with MFLive device, initializing it with DeviceSet method:

  • C#
int deviceCount = 0;
liveObj.DeviceGetCount(eMFDeviceType.eMFDT_Video, out deviceCount);
for (int i = 0; i < deviceCount; i++)
{
    string currentDeviceName = "";
    int currentDeviceBusy = 0;
    liveObj.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out currentDeviceName, out currentDeviceBusy);
    if (currentDeviceName == "Medialooks DXGI/DX11 ScreenCapture")
    {
        liveObj.DeviceSet(eMFDeviceType.eMFDT_Video, i, "");
        break;
    }
}

You can check it with Sample File Writing:

Properties

Name | Possible values | Description
capture.show_mouse | true, false | Displays the mouse cursor in the captured video
capture.show_clicks | true, false | Highlights mouse clicks in the captured video. It will highlight with different colors for left and right mouse clicks.
capture.focus_change_speed | 0.1 to 1.0 | Controls the speed of the focus change. For example when moving focus from one window to another.
capture.force_software | true, false | When set to true the Screen Capture Engine will not use the graphics card for capturing the video and only use the CPU.
capture.fps_limit | 1 to 60 | Sets frame rate for screen capturing
capture.highlight_mouse | true, false | Highlights the mouse by drawing a filled transparent circle around it.
capture.show_keypresses | true, false | Displays the keypresses on top of the captured video.
capture.screen_index | 0 to any number of screen | Sets source screen for capturing
capture.keypress_text_size | 0.5 to 2.5 | Determines the size of the text displaying the keypresses.
capture.following_mode | none, active_wnd, cursor | Determines what will be captured to the video. none = Captures the entire monitor. active_wnd = Captures the currently active (focused) window cursor = Tracks the cursor.
capture.follow_window_by_handle | none, window handle (e.g. 0x505be) | Sets handle of window for capturing
capture.area | rectangle: "left, top, right, bottom" | Sets an area for capturing
capture.background_color | string name of color (e.g. Black) HEX-code of color | Sets background color for capturing
capture.screen_edges | all, scale, stick_to_visible | Determines how the capture engine will handle the edges of the screen. all = Will focus on the centre of the captured image and add black borders around it. scale = Will not add black borders but will zoom in on the cursor position when approaching the edges. stick_to_visible = Will not go beyond the edge and will not add black borders or zoom in.
capture.aspect_ratio | stretch, frame, keep | Determines how the image aspect is kept in the captured video. frame = Will stretch the contents of the video frame. keep = Will keep the aspect of captured area.
capture.audio_device | Name of audio device | Determines what audio device will provide audio for the captured video.
timecode.print | false | Displays the timecode on the screen in the captured video

To set any of this properties you should use PropsSet method:

  • C#
(myLive as IMFProps).PropsSet("capture.fps_limit", "29.97");


LTC Timecode usage
Source Objects > MFLive Object > LTC Timecode usage

You can use external linear timecode sources for further synchronization of your videos.

To use LTC timecode with MFLive you should:

  1. Send on sound card input a LTC signal.
  2. Set this input as default audio device.
  3. Enable LTC source for your MFLive object with
    myLive.PropsSet("ltc.enabled", "true");
  4. If you don't want to change default audio device, you can set it directly by specifying "ltc.audio_device" property:
    myLive.PropsSet("ltc.audio_device", myDeviceName);


Converting source frame formats
Source Objects > Converting source frame formats

IMFSource contains also methods with "...Converted..." names. These methods do the same actions as simple methods but also internally the input frame is converted to target format.

For example, input frame with non-standard frame size (320x240) may be converted to standard 720 50p format.

The difference between SourceFrameGet and SourceFrameConvertedGet method is in _pAVPropsOut parameter. This parameter represents M_AV_PROPS structure and converts input frames according to fields value of the structure.
This structure contains audio and video properties as fields audProps and vidProps. You can manage audio and video format of your frames by settings these fields values:

  • vidProps - represents M_VID_PROPS structure that describes video format,
  • audProps - represents M_AUD_PROPS structure that describes audio format.

For example, to convert any input frame to 720 50p video format you should call this:

  • C#
M_AV_PROPS props = new M_AV_PROPS();
props.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD720_50p;

And then use this code to get a converted frame:

  • C#
((IMFSource)myReader).SourceFrameConvertedGet(ref props, -1, out pFrame, "");

All the list of standard possible video formats is presented in eMVideoFormat enumeration. And it is possible to set only this field for vidProps to set standard format. If you need a custom one you should set required fields for M_AV_PROPS structure. For example:

  • C#
M_AV_PROPS props = new M_AV_PROPS();
M_VID_PROPS videoProps = new M_VID_PROPS();
videoProps.dblRate = 25.0;
videoProps.fccType = eMFCC.eMFCC_ARGB32;
videoProps.nAspectX = 4;
videoProps.nAspectY = 3;
videoProps.nWidth = 640;
videoProps.nHeight = 480;
videoProps.eInterlace = eMInterlace.eMI_Field1First;
props.vidProps = videoProps;

The similar way is used for audio format:

  • C#
M_AV_PROPS props = new M_AV_PROPS();
M_AUD_PROPS audioProps = new M_AUD_PROPS();
audioProps.nChannels = 8;
audioProps.nBitsPerSample = 16;
audioProps.nSamplesPerSec = 48000;
props.audProps = audioProps;


Receiver Objects

After you grab a frame from your source you should send it to a receiver: to preview it, to send to output device or to capture it into file. In MFormats SDK a receiver object is an object that implements IMFReceiver interface. MFRenderer object for output devices, MFPreview for preview on display and MFWriter to capture frames into video file - the receiver objects in MFormats SDK.


MFPreview Object
Receiver Objects > MFPreview Object

This part guides you through configuration and usage of MFPreview objects.


Preview frames with MFPreview
Receiver Objects > MFPreview Object > Preview frames with MFPreview

The first type of receiver objects is MFPreview object. It implements IMPreview interface methods.

Initialization and set up MFPreview object

To configure it you should create an instance of this object:

  • C#
MFPreview myPreview = new MFPreview();

The main methods for preview are PreviewEnable and PreviewWindowSet.
PreviewEnable enables audio and video preview that manages the object to operate audio and/or video data from frames for preview:

  • C#
int enableAudio = 1;
int enableVideo = 1;
myPreview.PreviewEnable("", enableAudio, enableVideo);

PreviewWindowSet connects some control on form of your application to draw frames by using DirectX on control surface. It requires a handle of control:

  • C#
myPreview.PreviewWindowSet("", myPanelPreview.Handle.ToInt32());

If you don't call this method and enables video preview a new window will be created by system itself and it will be used for preview.

All IMPreview methods contains _bsChannelID parameter as first one. This parameter is reserved for future usage and at the moment it is ignored.

In development platforms that doesn't support handles of controls (WPF, for example) you should enable preview only for audio and convert frame data to create a image that is possible to use with WPF controls. It is described in Tricky use cases.

Changing a cursor type on preview

To show user the process state or do make it more user-friendly to understand the process sometimes it is useful to change the cursor type. For example for resizing or dragging operation it is useful to show a cursor that matches the operation.

To do it with MFormats you can call PreviewSetCursor method. For example here is a code snippets that changes cursor when mouse pointer is into target rectangle:

  • Delphi
procedure TMyForm.previewPanelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
    targetRect : TRect;
begin
    targetRect:= Rect( 100, 200, 500, 300);
    if PtInRect(targetRect, Point(X, Y)) then
        preview.PreviewSetCursor('', eMCT_SIZEALL);
end;

When you work with MFPreview via Delphi you may face the problem "floating divizion by zero". This error is caused by interaction between Delphi and DirectX. To avoid this error and to work with MFPreview correct you should add Math directive to you 'uses' list and set in your class initialization the following:

  • Delphi
Set8087CW(Default8087CW or $3F);
SetSSEExceptionMask(exAllArithmeticExceptions );


Using sound device for audio preview
Receiver Objects > MFPreview Object > Using sound device for audio preview

You can set an audio device that you want to use for audio preview. To do it you should get all the available audio devices, select required one and set it for audio preview.

To get a list of all available audio renderers for preview you should call:

  • C#
string myListOfAudioRenderers;
myPreview.PropsGet("audio_renderer.list", out myListOfAudioRenderers);

It returns you a string that contains all the available audio devices divided by commas. For example, "Primary Sound Driver, Speakers (Cirrus Logic CS4206B (AB 40)), Digital Audio (S/PDIF) (Cirrus Logic CS4206B (AB 40))". You should choose required device and set it for audio preview with:

  • C#
myPreview.PropsSet("audio_renderer", meSelectedAudioRenderer);

where meSelectedAudioRenderer is for example "Digital Audio (S/PDIF) (Cirrus Logic CS4206B (AB 40))".


MFPreview Properties
Receiver Objects > MFPreview Object > MFPreview Properties

You can manage MFPreview object behavior by setting properties with PropsSet method or in system registry: HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFPreview.

Here is a list of properties of MFPreview object:

Name | Default | Description
" rate_control " | " true " | is preview managed rate control for playback
" preview.drop_frames " | " false " | indicates are drop frames allowed
" preview.crop " | " 0,0,0,0 " | crop for preview video only
" preview.downscale " | "1 " | downscaling of preview: 0 - no downscaling - use full-sized frame for preview. Best quality but higher CPU usage 1 - horizontal downscaling - cuts every second horizontal field of frame for preview. Acceptable quality for low preview panels and less CPU usage 2 - horizontal and vertical downscaling - cuts every second horizontal and vertical field of frame for preview. Poor quality but lowest CPU usage
" deinterlace " | " true " | indicates whether deinterlacing is enabled for preview video
" maintain_ar " | " true " | keep maintain aspect ratio
" direct3d.pixel_format " | " auto " | pixels format on preview
" direct3d.scale_filter " | "2" | scale filter
" preview.skip_fields " | "0" | indicates are skip fields for interlaced video allowed
" audio.buffer_size_msec " | "100" | buffer size for audio preview
" audio.correct_rate " | " true " | correct rate based on audio
" debug.test_tone " | " " | test feature - single tone frequency to check quality
" audio_renderer.list " | " " | list of devices that can be used for audio preview
" audio_renderer " | " " | name of device that is used for audio preview
" audio.enabled " | " true " | indicates whether audio preview is enabled
" video.enabled " | " true " | indicates whether video preview is enabled


MFRenderer Object
Receiver Objects > MFRenderer Object

This part guides you through configuration and usage of MFRenderer objects.


Output frames to devices with MFRenderer
Receiver Objects > MFRenderer Object > Output frames to devices with MFRenderer

Another type of receiver object is MFRenderer. You can use output devices as receivers and send frames to them with this object.
MFRenderer supports IMFDevice interface to manage the device. Set up an output device is very similar to live source:

  1. Create instance of MFRenderer object;
  2. Set up device name.

Create instance of MFRenderer

  • C#
MFRenderer myRenderer = new MFRenderer();

Set up device name

Renderers are video devices so you should use eMFDT_Video for set up. To collect all the available devices you should call:

  • C#
int rendererCount = 0;
myRenderer.DeviceGetCount(eMFDeviceType.eMFDT_Video, out rendererCount);
string[] renderersArray;
if (rendererCount > 0)
{
    renderersArray = new string[rendererCount];
    for (int rendererIndex = 0; rendererIndex < nCount; rendererIndex++)
    {
        string rendererName;
        int isBusy;
        myRenderer.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, rendererIndex, out rendererName, out isBusy);
        renderersArray[rendererIndex] = rendererName;
    }
}

and to set the device:

  • C#
myRenderer.DeviceSet(eMFDeviceType.eMFDT_Video, targetRendererIndex, "");

The core method to send frames to output device looks like:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myLiveSource).SourceFrameGet(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myRenderer).ReceiverFramePut(myFrame, -1, "");


Modifying video by MFRenderer
Receiver Objects > MFRenderer Object > Modifying video by MFRenderer

You can modify (crop, rotate, reflect) your output video from with properties that you can set with PropsSet method.

Crop

You can crop unnecessary part of video with "crop" property. Its value is set in pixels and the format is: "cropFromLeft, cropFromTop, cropFromRight, cropFromBottom".

For example, to crop 10 pixels from left, 20 pixels from top, 30 pixels from right and 40 pixels from bottom you should call

  • C#
myRenderer.PropsSet("crop", "10,20,30,40");

Rotate

You can rotate your video to left or to right on 90 degrees with "rotate" property. Possible values are "left" and "right".

For example:

  • C#
myRenderer.PropsSet("rotate", "left");

Here is example of results for this property:

Reflect

You can reflect your video with "mirror" property. Possible values are: "vert" for vertical reflection, "horz" for horizontal reflection and "both" for vertical and horizontal reflection at the same time.

For example:

  • C#
myRenderer.PropsSet("mirror", "vert");

Here is result of different values of "mirror" property:


MFRenderer Properties
Receiver Objects > MFRenderer Object > MFRenderer Properties

You can manage MFRenderer object behavior by setting properties with PropsSet method or in system registry: HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFRenderer.

Here is a list of properties of MFRenderer object:

Name | Default | Description
" experimental.direct_audio_thread " | " false " | experimental feature - direct output of audio in separated thread
" optimization.no_copy " | " true " | optimization key - not to copy data
" optimization.own_buffer " | " true " | optimization key - use own buffer
" cc_output " | "7" | turn on/off CC output. Possible values: 1 - only VBI Analogue 608 CC (NTSC - composite, SDI - output.10bits should be OFF) 2 - only SDI 608 ANC (SDI - all formats - output.10bits should be ON) 3 - only 608 CDP 4 - only SDI 708 + 608 CDP (SDI - all formats - output.10bits should be ON) 5 - only SDI 708 7 - default - output all types 15 - always display VBI data (even if there is no such data).
" bypass.wait_frames " | "30" | bypass relay feature - duration of waiting for frames
" output.timecode " | " true " | sent timecode to output
" cc_line_sdi " | "9" | set a line for SDI CC output
" cc_offset_dword " | "0" | offset for CC
" output.10bit " | " false " | 10 bit conversion for output video
" input.buffers " | "0" | number of frames in input buffer
" scaling_quality " | " auto " | quality of output video scaling
" output.copy_vanc " | "2" | copy VANC data to output ("0" - not copy, "1" - copy is data is exists, "2" - copy always)
" timecode_format " | " auto " | format of timecode
" crop " | " " | crops output video. Possible value: "left,top,right,bottom" where sides are set in pixels
" mirror " | " " | reflects output video. Possible values: "vert", "horz", "both"
" rotate " | " " | rotates output video. Possible values: "left", "right"
"mserver_pid" | "" | Returns a process ID of MServer.exe process that is used for this object. Get-only property.
"_process_pid_" | "" | Returns a process ID of main process where this object is used. Get-only property.
"_process_name_" | "" | Returns a process name of main process where this object is used. Get-only property.


MFWriter Object
Receiver Objects > MFWriter Object

This part guides you through configuration and usage of MFWriter objects.


Basic encoding
Receiver Objects > MFWriter Object > Basic encoding

You can capture your sources into files or stream it to network with MFWriter object. To start a capturing of your source object you should complete the following steps:

  1. Initialize a MFWriter object,
  2. Set its configuration and output file name (or URL if you use network streaming),
  3. Start MWriter object for your required source object.

To initialize MFWriter object you should call:

  • C#
MFWriter myWriter = new MFWriter();

Configuration and path to encoding destination (local file or network stream) are set with WriterSet method. For example:

  • C#
int resetPreviousConfiguration = 1;
myWriter.WriterSet(@"c:\testEncoding.mp4", resetPreviousConfiguration, "format='mp4' video::codec='mpeg4' audio::codec='aac'");

Where resetPreviousConfiguration indicates whether a previous setting are reset or new configuration will be just added to current one. In this example previous settings are reset by new one.

By this step your MFWriter object is initialized and ready to be used as receiver for encoding.

The core method to send frames to output device looks like:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myLiveSource).SourceFrameGet(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myWriter).ReceiverFramePut(myFrame, -1, "");


Basic encoding configuration
Receiver Objects > MFWriter Object > Basic encoding configuration

In "Basic encoding" article configuration of MFWriter object is set with WriterSet method:

  • C#
int resetPreviousConfiguration = 1;
myWriter.WriterSet(@"c:\testEncoding.mp4", resetPreviousConfiguration, "format='mp4' video::codec='mpeg4' audio::codec='aac'");

But how to get the string with configuration?

Get formats

Encoding a stream means to pack input data to some format. Each format contains its own set of video and audio codecs. It looks like a tree-structure:

To get a list of available formats for encoding you should call this:

  • C#
int formatsCount;
myWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_Format, out formatsCount);
string[] formatsArray = new string[formatsCount];
for (int formatIndex = 0; formatIndex < formatsCount; formatIndex++)
{
    string shortName;
    string longName;
    myWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_Format, formatIndex, out shortName, out longName);
    formatsArray[formatIndex] = longName;
}

To set a required format you should call for example:

  • C#
IMFProps formatProps;
string requiredFormatName = "MP4 (MPEG-4 Part 14)";
m_objWriter.WriterOptionSet(eMFWriterOption.eMFWO_Format, requiredFormatName, out formatProps);

Also you can set format by index:

  • C#
IMFProps formatProps;
int requiredFormatIndex = 3;
m_objWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_Format, requiredFormatIndex, out formatProps);

When you set a format, you can get a list of available for this format video and audio codecs:

The way to get video and audio codecs is similar to format's one.

Get audio and video codecs

To get available audio codecs you should call:

  • C#
int audioCodecsCount;
myWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_AudioCodec, out audioCodecsCount);
string[] audioCodecsArray = new string[audioCodecsCount];
for (int audioCodecIndex = 0; audioCodecIndex < audioCodecsCount; audioCodecIndex++)
{
    string shortName;
    string longName;
    myWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_AudioCodec, audioCodecIndex, out shortName, out longName);
    audioCodecsArray[audioCodecIndex] = longName;
}

And for video codecs:

  • C#
int videoCodecsCount;
myWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_VideoCodec, out videoCodecsCount);
string[] videoCodecsArray = new string[formatsCount];
for (int videoCodecIndex = 0; videoCodecIndex < videoCodecsCount; videoCodecIndex++)
{
    string shortName;
    string longName;
    myWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_VideoCodec, videoCodecIndex, out shortName, out longName);
    videoCodecsArray[videoCodecIndex] = longName;
}

You can set required codecs by names or by indexes. Just as example of setting by indexes:

  • C#
IMFProps videoCodecProps;
int requiredVideoCodec = 1;
myWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_VideoCodec, requiredVideoCodec, out videoCodecProps);
IMFProps audioCodecProps;
int requiredAudioCodec = 2;
myWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_AudioCodec, requiredAudioCodec, out audioCodecProps);

Get result MFWriter configuration

You can get a result of all your configuration action with MFWriter to check the result configuration with WriterGet method. It returns you a destination path of encoding and a full string with configuration:

  • C#
string myDestination;
string myConfiguration;
myWriter.WriterGet(out myDestination, out myConfiguration);


Advanced encoding configuration
Receiver Objects > MFWriter Object > Advanced encoding configuration

"Basic encoding configuration" shows you how to set formats and audio and video codecs for encoding. Encoding often requires advanced settings, for example, bitrate or video size for output file. This article shows you how to get properties available for configuration for a format, a video coder or an audio codec.

Get properties of selected format or codec

When you set format or codec with WriterOptionSetByIndex or WriterOptionSet method, you get IMFProps object as result of these methods. This object contains all the properties of selected format or codec. Also you can get this object with WriterOptionGet method:

  • C#
string videoCodecName;
IMFProps videoCodecProps;
m_objWriter.WriterOptionGet(eMFWriterOption.eMFWO_VideoCodec, out videoCodecName, out videoCodecProps);

Get list of properties from IMFProps

Once you get IMFProps object you can get a list of available properties. In further examples the IMFProps object is named writerProps.

To get a list of property names you should call this;

  • C#
int propsCount = 0;
writerProps.PropsGetCount("", out propsCount);
string[] propsNameValue = new string[propsCount]
for (int propsIndex = 0; propsIndex < propsCount; propsIndex++)
{
    string propsName
    string propsValue;
    int propsIsNode;
    writerProps.PropsGetByIndex("", propsIndex, out propsName, out propsValue, out propsIsNode);
    propsNameValue[propsIndex] = propsName;
}

Get information about a property

You can get the following information for each property in the array that you get in previous paragraph: property type, default value, list of possible values, help string that describes the property. To do it you should use PropsInfoGet method:

  • C#
// sample property "b" means bitrate
string propsName = "b";
// to get description of property
string propsHelpString;
writerProps.PropsInfoGet(propsName, eMInfoType.eMIT_Help, out propsHelpString);
// to get type of property
string propsType;
writerProps.PropsInfoGet(propsName, eMInfoType.eMIT_Type, out propsType);
// to get default value
string propsDefaultValue;
writerProps.PropsInfoGet(propsName, eMInfoType.eMIT_Default, out propsDefaultValue);
// to get a list of possible values
string propsPossibleValues;
writerProps.PropsInfoGet(propsName, eMInfoType.eMIT_Values, out propsPossibleValues);

propsType may take value that is clear for understanding ("string" for example). Also possible values are "option" and "option_fixed". Properties of such types have a list of possible values. But "option" properties can be edited (custom values are possible), and "option_fixed" is non-editable list.


Formats and Codecs
Receiver Objects > MFWriter Object > Formats and Codecs

Here is a list of all available formats, video and audio codecs and their properties that you use in MFWriter configuration

Formats

MPEG Program Stream

Configuration Parameter: mpeg
Extensions: mpg,mpeg
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false
muxrate | int | 0 | The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type.
preload | int | 500000 | Initial demux-decode delay in microseconds.

Video codecs

  • MPEG-1 Video
  • MPEG-2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • MPEG-4 part 2 Video
  • No Video

Audio codecs

  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • No Audio

MPEG Transport Stream

Configuration Parameter: mpegts
Extensions: ts,m2t,m2ts,mts
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string | Capture RAW video. Set target save path as value.
raw_audio | string | Capture RAW audio. Set target save path as value.
ignore_pts | string | Ignore video sample times. Possible values: true, false
mpegts_transport_stream_id | int | 1 | Set transport_stream_id field.
mpegts_original_network_id | int | 1 | Set original_network_id field.
mpegts_service_id | int | 1 | Set service_id field.
mpegts_pmt_start_pid | int | 4096 | Set the first pid of the PMT.
mpegts_start_pid | int | 256 | Set the first pid.
mpegts_m2ts_mode | int | -1 | Enable m2ts mode.
muxrate | int | 1 | The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type.
pes_payload_size | int | 2930 | Minimum PES packet payload in bytes
mpegts_flags flags MPEG-TS muxing flags
  • resend_headers - Reemit PAT/PMT before writing the next packet
  • latm - Use LATM packetization for AAC
resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet
mpegts_copyts | int | -1 | Don't offset dts/pts

Video codecs

  • MPEG-2 Video
  • MPEG-4 part 2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • No Video

Audio codecs

  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • No Audio

MP4 (MPEG-4 Part 14)

Configuration Parameter: mp4
Extensions: mp4
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string | Capture RAW video. Set target save path as value.
raw_audio | string | Capture RAW audio. Set target save path as value.
ignore_pts | string | Ignore video sample times. Possible values: true, false
movflags flags MOV muxer flags
  • frag_keyframe - Fragment at video keyframes
  • faststart - Run a second pass to put the moov at the beginning of the file
moov_size | int | 0 | Maximum moov size so it can be placed at the begin
skip_iods | int | 1 | Skip writing iods atom.
iods_audio_profile | int | -1 | Iods audio profile atom.
iods_video_profile | int | -1 | Iods video profile atom.
frag_duration | int | 0 | Maximum fragment duration
min_frag_duration | int | 0 | Minimum fragment duration
frag_size | int | 0 | Maximum fragment size

Video codecs

  • MPEG-4 part 2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • MPEG-2 Video
  • MJPEG (Motion JPEG)
  • MPEG-1 Video
  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)
  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • Vorbis
  • No Audio

MOV (QuickTime File Format)

Configuration Parameter: mov
Extensions: mov
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string | Capture RAW video. Set target save path as value.
raw_audio | string | Capture RAW audio. Set target save path as value.
ignore_pts | string | Ignore video sample times. Possible values: true, false
movflags flags MOV muxer flags
  • frag_keyframe - Fragment at video keyframes
  • faststart - Run a second pass to put the moov at the beginning of the file
moov_size | int | 0 | Maximum moov size so it can be placed at the begin
skip_iods | int | 1 | Skip writing iods atom.
iods_audio_profile | int | -1 | Iods audio profile atom.
iods_video_profile | int | -1 | Iods video profile atom.
frag_duration | int | 0 | Maximum fragment duration
min_frag_duration | int | 0 | Minimum fragment duration
frag_size | int | 0 | Maximum fragment size

Video codecs

  • MPEG-4 part 2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • MPEG-2 Video
  • DV Video / DVCPRO-HD
  • MJPEG (Motion JPEG)
  • FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
  • HuffYUV
  • MPEG-1 Video
  • Windows Media Video 8
  • Theora
  • Google VP8
  • Apple ProRes proxy
  • Apple ProRes 422 (LT)
  • Apple ProRes 422
  • Apple ProRes 422 (HQ)
  • QuickTime Animation (RLE) video
  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)
  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • ATSC A/52 E-AC-3
  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • (Uncompressed) PCM signed 32-bit little-endian
  • (Uncompressed) PCM 32-bit floating point little-endian
  • ALAC (Apple Lossless Audio Codec)
  • ADPCM IMA QuickTime
  • ATSC A/52A (AC-3) Fixed
  • FLAC (Free Lossless Audio Codec)
  • Vorbis
  • Windows Media Audio 1
  • ADPCM Microsoft
  • No Audio

MOV DNxHD

Configuration Parameter: mov
Extensions: mov
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string | Capture RAW video. Set target save path as value.
raw_audio | string | Capture RAW audio. Set target save path as value.
ignore_pts | string | Ignore video sample times. Possible values: true, false
movflags flags MOV muxer flags
  • frag_keyframe - Fragment at video keyframes
  • faststart - Run a second pass to put the moov at the beginning of the file
moov_size | int | 0 | Maximum moov size so it can be placed at the begin
skip_iods | int | 1 | Skip writing iods atom.
iods_audio_profile | int | -1 | Iods audio profile atom.
iods_video_profile | int | -1 | Iods video profile atom.
frag_duration | int | 0 | Maximum fragment duration
min_frag_duration | int | 0 | Minimum fragment duration
frag_size | int | 0 | Maximum fragment size

Video codecs

  • DNxHD 1080 60p 440M
  • DNxHD 1080 60p 290M
  • DNxHD 1080 60p 90M
  • DNxHD 1080 59p 440M
  • DNxHD 1080 59p 290M
  • DNxHD 1080 59p 90M
  • DNxHD 1080 50p 365M
  • DNxHD 1080 50p 240M
  • DNxHD 1080 50p 75M
  • DNxHD 1080 59i 220M
  • DNxHD 1080 59i 145M
  • DNxHD 1080 50i 185M
  • DNxHD 1080 50i 120M
  • DNxHD 1080 25p 185M
  • DNxHD 1080 25p 120M
  • DNxHD 1080 25p 36M
  • DNxHD 1080 24p 175M
  • DNxHD 1080 24p 115M
  • DNxHD 1080 24p 36M
  • DNxHD 1080 23p 175M
  • DNxHD 1080 23p 115M
  • DNxHD 1080 23p 36M
  • DNxHD 1080 29p 220M
  • DNxHD 1080 29p 145M
  • DNxHD 1080 29p 45M
  • DNxHD 720 59p 220M
  • DNxHD 720 59p 145M
  • DNxHD 720 50p 175M
  • DNxHD 720 50p 115M
  • DNxHD 720 25p 90M
  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)
  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • ATSC A/52 E-AC-3
  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • (Uncompressed) PCM signed 32-bit little-endian
  • (Uncompressed) PCM 32-bit floating point little-endian
  • ALAC (Apple Lossless Audio Codec)
  • ADPCM IMA QuickTime
  • ATSC A/52A (AC-3) Fixed
  • FLAC (Free Lossless Audio Codec)
  • Vorbis
  • Windows Media Audio 1
  • ADPCM Microsoft
  • No Audio

XDCAM - MPEG IMX (MPEG-4 container)

Configuration Parameter: mov
Extensions: mov
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string | Capture RAW video. Set target save path as value.
raw_audio | string | Capture RAW audio. Set target save path as value.
ignore_pts | string | Ignore video sample times. Possible values: true, false
movflags flags MOV muxer flags
  • frag_keyframe - Fragment at video keyframes
  • faststart - Run a second pass to put the moov at the beginning of the file
moov_size | int | 0 | Maximum moov size so it can be placed at the begin
skip_iods | int | 1 | Skip writing iods atom.
iods_audio_profile | int | -1 | Iods audio profile atom.
iods_video_profile | int | -1 | Iods video profile atom.
frag_duration | int | 0 | Maximum fragment duration
min_frag_duration | int | 0 | Minimum fragment duration
frag_size | int | 0 | Maximum fragment size

Video codecs

  • MPEG-2 Video 30Mbps
  • MPEG-2 Video 40Mbps
  • MPEG-2 Video 50Mbps
  • No Video

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • No Audio

MXF (Material eXchange Format)

Configuration Parameter: mxf
Extensions: mxf
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • MPEG-2 Video
  • DV Video / DVCPRO-HD
  • VC3/DNxHD 1080
  • VC3/DNxHD 720
  • No Video

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • No Audio

MXF D-10 (Material eXchange Format D-10 Mapping)

Configuration Parameter: mxf_d10
Extensions: mxf
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • MPEG-2 Video 30Mbps
  • MPEG-2 Video 40Mbps
  • MPEG-2 Video 50Mbps

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • No Audio

GXF (General eXchange Format)

Configuration Parameter: gxf
Extensions: gxf
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • MPEG-2 Video PAL
  • MPEG-2 Video NTSC

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian
  • No Audio

DV (Digital Video)

Configuration Parameter: dv
Extensions: dv
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • DV (Digital Video)

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian
  • No Audio

FLV (Flash Video)

Configuration Parameter: flv
Extensions: flv
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • MPEG-4 part 2 Video
  • No Video

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian 44100Hz
  • (Uncompressed) PCM signed 16-bit little-endian 21050Hz
  • No Audio

DVD Video (VOB-Files)

Configuration Parameter: vob
Extensions: vob
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false
muxrate | int | 0 | The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type.
preload | int | 500000 | Initial demux-decode delay in microseconds.

Video codecs

  • MPEG-2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • MPEG-1 Video
  • MPEG-4 part 2 Video
  • No Video

Audio codecs

  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • No Audio

ASF (Advanced / Active Streaming Format)

Configuration Parameter: asf
Extensions: asf,wmv,wma
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • MPEG-4 part 2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • Windows Media Video 8
  • MPEG-2 Video
  • MJPEG (Motion JPEG)
  • HuffYUV
  • Theora
  • Google VP8
  • DV Video / DVCPRO-HD
  • FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
  • MPEG-1 Video
  • Lossless JPEG
  • No Video

Audio codecs

  • Windows Media Audio 2
  • Windows Media Audio 1
  • MP2 (MPEG audio layer 2)
  • MP3 Lame (MPEG audio layer 3)
  • ATSC A/52A (AC-3)
  • (Uncompressed) PCM 32-bit floating point little-endian
  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • (Uncompressed) PCM signed 32-bit little-endian
  • ADPCM Microsoft
  • FLAC (Free Lossless Audio Codec)
  • Vorbis
  • No Audio

iPod MP4 (MPEG-4 Part 14)

Configuration Parameter: ipod
Extensions: m4v,m4a
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string | Capture RAW video. Set target save path as value.
raw_audio | string | Capture RAW audio. Set target save path as value.
ignore_pts | string | Ignore video sample times. Possible values: true, false
movflags flags MOV muxer flags
  • frag_keyframe - Fragment at video keyframes
  • faststart - Run a second pass to put the moov at the beginning of the file
moov_size | int | 0 | Maximum moov size so it can be placed at the begin
skip_iods | int | 1 | Skip writing iods atom.
iods_audio_profile | int | -1 | Iods audio profile atom.
iods_video_profile | int | -1 | Iods video profile atom.
frag_duration | int | 0 | Maximum fragment duration
min_frag_duration | int | 0 | Minimum fragment duration
frag_size | int | 0 | Maximum fragment size

Video codecs

  • MPEG-4 part 2 Video
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)
  • ATSC A/52A (AC-3)
  • ALAC (Apple Lossless Audio Codec)
  • No Audio

AVI (Audio Video Interleaved)

Configuration Parameter: avi
Extensions: avi
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • MPEG-4 part 2 Video
  • MPEG-2 Video
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • Windows Media Video 8
  • MJPEG (Motion JPEG)
  • DV Video / DVCPRO-HD
  • HuffYUV
  • Theora
  • Google VP8
  • FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • MPEG-1 Video
  • OpenJPEG JPEG 2000
  • Lossless JPEG
  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)
  • FLAC (Free Lossless Audio Codec)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • MP2 (MPEG audio layer 2)
  • Windows Media Audio 1
  • (Uncompressed) PCM 32-bit floating point little-endian
  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • (Uncompressed) PCM signed 32-bit little-endian
  • ADPCM Microsoft
  • MP3 Lame (MPEG audio layer 3)
  • Vorbis
  • No Audio

MKV (Matroska)

Configuration Parameter: matroska
Extensions: mkv
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
scc_capture | option_fixed | true | Capture SCC Closed Captioning
anc_capture | option_fixed | false | Capture ANC Closed Captioning
raw_video | string |  | Capture RAW video. Set target save path as value.
raw_audio | string |  | Capture RAW audio. Set target save path as value.
ignore_pts | string |  | Ignore video sample times. Possible values: true, false

Video codecs

  • MPEG-4 part 2 Video
  • DV Video / DVCPRO-HD
  • FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
  • libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • Apple ProRes
  • HuffYUV
  • MJPEG (Motion JPEG)
  • MPEG-1 Video
  • MPEG-2 Video
  • Google VP8
  • Windows Media Video 8
  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)
  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM signed 24-bit little-endian
  • (Uncompressed) PCM signed 32-bit little-endian
  • MP2 (MPEG audio layer 2)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • ALAC (Apple Lossless Audio Codec)
  • FLAC (Free Lossless Audio Codec)
  • No Audio

WebM

Configuration Parameter: webm
Extensions: webm

Video codecs

  • Google VP8

Audio codecs

  • Vorbis
  • No Audio

RTMP Streaming

Configuration Parameter: flv
Extensions: rtmp://
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
merge_tracks | option_fixed | true | Merge audio tracks

Video codecs

  • FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
  • H.264 / MPEG-4 AVC
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • No Video

Audio codecs

  • MP3 Lame (MPEG audio layer 3)
  • PCM signed 16-bit little-endian
  • AAC (Advanced Audio Coding)
  • No Audio

UDP Streaming

Configuration Parameter: mpegts
Extensions: udp://
Additional attributes
Name | Type | Default value | Description
split_channels | option_fixed | 0 | Split audio channels
mpegts_transport_stream_id | int | 1 | Set transport_stream_id field.
mpegts_original_network_id | int | 1 | Set original_network_id field.
mpegts_service_id | int | 1 | Set service_id field.
mpegts_pmt_start_pid | int | 4096 | Set the first pid of the PMT.
mpegts_start_pid | int | 256 | Set the first pid.
mpegts_m2ts_mode | int | -1 | Enable m2ts mode.
muxrate | int | 1 | The combined rate of all video and audio elementary stream packets common to one program. This rate also includes the VBI and sub-picture private stream data, which MPEG treats as a private stream type.
pes_payload_size | int | 2930 | Minimum PES packet payload in bytes
mpegts_flags flags MPEG-TS muxing flags
  • resend_headers - Reemit PAT/PMT before writing the next packet
  • latm - Use LATM packetization for AAC
resend_headers | int | 0 | Reemit PAT/PMT before writing the next packet
mpegts_copyts | int | -1 | Don't offset dts/pts

Video codecs

  • MPEG-2 Video
  • MPEG-4 part 2 Video
  • H.264 / MPEG-4 AVC
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.264 Lossless Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • No Video

Audio codecs

  • MP3 Lame (MPEG audio layer 3)
  • AAC (Advanced Audio Coding)
  • MP2 (MPEG audio layer 2)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • No Audio

RTSP Streaming (beta)

Configuration Parameter: rtsp
Extensions: rtsp://

Video codecs

  • H.264 / MPEG-4 AVC
  • CUDA H.264 Video Encoder
  • Intel QuickSync H.264 Encoder
  • NVIDIA NVEnc H.264 Encoder
  • NVIDIA NVEnc H.265 (HEVC) Encoder
  • MPEG-2 Video
  • MPEG-4 part 2 Video
  • No Video

Audio codecs

  • MP3 Lame (MPEG audio layer 3)
  • MP2 (MPEG audio layer 2)
  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed
  • No Audio

IIS Live Smooth Streaming

Configuration Parameter: ismv
Extensions: http://

Video codecs

  • H.264 / MPEG-4 AVC
  • VC-1

Audio codecs

  • AAC (Advanced Audio Coding)

MP3 (MPEG audio layer 3)

Configuration Parameter: mp3
Extensions: mp3
Additional attributes
Name | Type | Default value | Description
id3v2_version | int | 4 | Select ID3v2 version to write. Currently 3 and 4 are supported.
write_id3v1 | int | 0 | Enable ID3v1 writing. ID3v1 tags are written in UTF-8 which may not be supported by most software.

Video codecs

  • No Video

Audio codecs

  • MP3 Lame (MPEG audio layer 3)

AC3 (AC3 audio files)

Configuration Parameter: ac3
Extensions: ac3

Video codecs

  • No Video

Audio codecs

  • ATSC A/52A (AC-3)
  • ATSC A/52A (AC-3) Fixed

AAC (Advanced Audio Codec)

Configuration Parameter: adtc
Extensions: aac

Video codecs

  • No Video

Audio codecs

  • AAC (Advanced Audio Coding)

WAV (Wave Audio Files)

Configuration Parameter: wav
Extensions: wav

Video codecs

  • No Video

Audio codecs

  • (Uncompressed) PCM signed 16-bit little-endian
  • (Uncompressed) PCM 32-bit floating point little-endian
  • (Uncompressed) PCM D-Cinema audio signed 24-bit
  • (Uncompressed) PCM signed 24-bit little-endian
  • (Uncompressed) PCM signed 32-bit little-endian

Audio Codecs

General Attributes

Name | Type | Default value | Description
b | int | 128K | Set bitrate (in bits/s)
ar | int | 0 | Set audio sampling rate (in Hz)
flags flags
  • global_header - place global headers in extradata instead of every keyframe
  • bitexact - use only bitexact stuff (except (i)dct)
maxrate | int | 0 | Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
minrate | int | 0 | Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR encode. It is of little use elsewise.
bufsize | int | 0 | Set ratecontrol buffer size (in bits)

AAC (Advanced Audio Coding)

Configuration Parameter: aac
Additional attributes
Name | Type | Default value | Description
stereo_mode option_fixed ms_off Stereo coding method
  • auto - Selected by the Encoder
  • ms_off - Disable Mid/Side coding
  • ms_force - Force Mid/Side for the whole frame if possible
aac_coder | int | 2 | AAC coder
profile | option_fixed | unknown | Profile of AAC coding. Possible values: unknown, aac_main, aac_low, aac_ssr, aac_ltp, aac_he, aac_he_v2, aac_ld, aac_eld.

ATSC A/52A (AC-3)

Configuration Parameter: ac3
Additional attributes
Name | Type | Default value | Description
profile | option_fixed | unknown | AC3 profile. Possible values: unknown, dts, dts_es, dts_96_24, dts_hd_hra, dts_hd_ma.
center_mixlev | double | 0.594604 | Center Mix Level
surround_mixlev | double | 0.500000 | Surround Mix Level
mixing_level | int | -1 | Mixing Level
copyright | int | -1 | Copyright Bit
dsur_mode option_fixed Dolby Surround Mode
  • notindicated - Not Indicated (default)
  • on - Dolby Surround Encoded
  • off - Not Dolby Surround Encoded
ltrt_cmixlev | double | -1.000000 | Lt/Rt Center Mix Level
ltrt_surmixlev | double | -1.000000 | Lt/Rt Surround Mix Level
loro_cmixlev | double | -1.000000 | Lo/Ro Center Mix Level
loro_surmixlev | double | -1.000000 | Lo/Ro Surround Mix Level

ATSC A/52A (AC-3) Fixed

Configuration Parameter: ac3_fixed
Additional attributes
Name | Type | Default value | Description
profile | option_fixed | unknown | AC3 profile. Possible values: unknown, dts, dts_es, dts_96_24, dts_hd_hra, dts_hd_ma.
center_mixlev | double | 0.594604 | Center Mix Level
surround_mixlev | double | 0.500000 | Surround Mix Level
mixing_level | int | -1 | Mixing Level
copyright | int | -1 | Copyright Bit
dsur_mode option_fixed Dolby Surround Mode
  • notindicated - Not Indicated (default)
  • on - Dolby Surround Encoded
  • off - Not Dolby Surround Encoded
ltrt_cmixlev | double | -1.000000 | Lt/Rt Center Mix Level
ltrt_surmixlev | double | -1.000000 | Lt/Rt Surround Mix Level
loro_cmixlev | double | -1.000000 | Lo/Ro Center Mix Level
loro_surmixlev | double | -1.000000 | Lo/Ro Surround Mix Level

ALAC (Apple Lossless Audio Codec)

Configuration Parameter: alac

ATSC A/52 E-AC-3

Configuration Parameter: eac3
Additional attributes
Name | Type | Default value | Description
profile | option_fixed | unknown | Profile name. Possible values: unknown, dts, dts_es, dts_96_24, dts_hd_hra, dts_hd_ma.
mixing_level | int | -1 | Mixing Level
copyright | int | -1 | Copyright Bit
dsur_mode option_fixed Dolby Surround Mode
  • notindicated - Not Indicated (default)
  • on - Dolby Surround Encoded
  • off - Not Dolby Surround Encoded
ltrt_cmixlev | double | -1.000000 | Lt/Rt Center Mix Level
ltrt_surmixlev | double | -1.000000 | Lt/Rt Surround Mix Level
loro_cmixlev | double | -1.000000 | Lo/Ro Center Mix Level
loro_surmixlev | double | -1.000000 | Lo/Ro Surround Mix Level

FLAC (Free Lossless Audio Codec)

Configuration Parameter: flac
Additional attributes
Name | Type | Default value | Description
lpc_coeff_precision | int | 15 | LPC coefficient precision
lpc_type | option_fixed |  | LPC algorithm. Possible values: none, fixed, levinson, cholesky.
lpc_passes | int | -1 | Number of passes to use for Cholesky factorization during LPC analysis
min_partition_order | int | -1 | Minimal partition order
max_partition_order | int | -1 | Maximal partition order
prediction_order_method | option_fixed |  | Search method for selecting prediction order
predm |  |  | Search method for selecting prediction order. Possible values: estimation, 2level, 4level, 8level, search, log.
ch_mode | option_fixed | auto | Stereo decorrelation mode. Possible values: auto, indep, left_side, right_side, mid_side.

MP2 (MPEG audio layer 2)

Configuration Parameter: mp2

Vorbis

Configuration Parameter: vorbis

Windows Media Audio 1

Configuration Parameter: wmav1

(Uncompressed) PCM 32-bit floating point little-endian

Configuration Parameter: pcm_f32le

(Uncompressed) PCM signed 16-bit little-endian

Configuration Parameter: pcm_s16le

(Uncompressed) PCM D-Cinema audio signed 24-bit

Configuration Parameter: pcm_s24daud

(Uncompressed) PCM signed 24-bit little-endian

Configuration Parameter: pcm_s24le

(Uncompressed) PCM signed 32-bit little-endian

Configuration Parameter: pcm_s32le

ADPCM IMA QuickTime

Configuration Parameter: adpcm_ima_qt

ADPCM Microsoft

Configuration Parameter: adpcm_ms

MP3 Lame (MPEG audio layer 3)

Configuration Parameter: libmp3lame

Video Codecs

General Attributes

Name | Type | Default value | Description
b | int | 5M | Set bitrate (in bits/s)
bt | int | 4000000 | Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to min/max bitrate. Lowering tolerance too much has an adverse effect on quality.
flags flags
  • gray - only decode/encode grayscale
  • ildct - use interlaced dct
  • low_delay - force low delay
  • ilme - interlaced motion estimation
  • cgop - closed GOP
size | string | Resolution of video. Format: WIDTHxHEIGHT.
ar | option | Aspect ratio of video.
ar_type | option_fixed | Type of video's aspect ratio.
g | int | -1 | Keyframe interval, also known as GOP length. This determines the maximum distance between I-frames. Very high GOP lengths will result in slightly more efficient compression, but will make seeking in the video somewhat more difficult.
qcomp | double | 0.500000 | Video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0
qmin | int | -1 | Min video quantizer scale (VBR)
qmax | int | -1 | Max video quantizer scale (VBR)
qdiff | int | 3 | Max difference between the quantizer scale (VBR)
bf | int | 0 | This parameter simply serves to limit the max number of B-frames. Note that Baseline Profile, such as that used by iPods, does not support B-frames. Recommended default: 16
b_strategy | int | 0 | Strategy to choose between I/P/B-frames. 0: Very fast; 1: Fast, a good balance between speed and quality; 2: A much slower but more accurate B-frame decision mode that correctly detects fades and generally gives considerably better quality.
maxrate | int | 0 | Specifies the maximum bitrate at any point in the video. Requires the VBV buffersize to be set. This option is generally used when encoding for a piece of hardware with bitrate limitations.
minrate | int | 0 | Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR encode. It is of little use elsewise.
bufsize | int | 0 | Set ratecontrol buffer size (in bits). Depends on the profile level of the video being encoded. Set only if you're encoding for a hardware device.
i_qfactor | double | -0.800000 | Qscale difference between I-frames and P-frames.
dct option_fixed auto DCT algorithm
  • auto - autoselect a good one (default)
  • fastint - fast integer
  • int - accurate integer
  • mmx - MMX
  • altivec - altivec
  • faan - floating point AAN DCT
aspect | double | 0/1 | Sample aspect ratio
cmp | option_fixed | sad | Full pel motion estimation compare function
cmp_func
  • sad - sum of absolute differences, fast (default)
  • sse - sum of squared errors
  • satd - sum of absolute Hadamard transformed differences
  • dct - sum of absolute DCT transformed differences
  • bit - number of bits needed for the block
  • rd - rate distortion optimal, slow
  • zero - 0
  • vsad - sum of absolute vertical differences
  • vsse - sum of squared vertical differences
  • nsse - noise preserving sum of squared differences
  • w53 - 5/3 wavelet, only used in snow
  • w97 - 9/7 wavelet, only used in snow
  • dctmax - DCT max
  • chroma - Chroma
subq | int | 8 | Sub pel motion estimation quality
me_range | int | 0 | MErange controls the max range of the motion search.
coder option_fixed vlc
  • vlc - variable length coder / huffman coder
  • ac - arithmetic coder
  • raw - raw (no encoding)
  • rle - run-length coder
  • deflate - deflate-based coder
sc_threshold | int | 0 | Adjusts the sensitivity of codec's scenecut detection.
lmin | int | 236 | Min lagrange factor (VBR)
lmax | int | 3658 | Max lagrange factor (VBR)
rc_init_occupancy | int | 0 | Number of bits which should be loaded into the rc buffer before decoding starts
threads | option_fixed | detect a good number of threads
dc | int | 0 | Intra DC Precision indicates the number of bits for quantized DC coefficients of intra-coded blocks; it takes one of the values of 8, 9, 10, or 11 bits. The more bits are used, the more precise quantization is achieved.
profile | option_fixed | unknown | Profile of attributes
tag | string | Codec's tag (for example, 'xvid')
scaling_quality | string | auto | scaling quality for video encoding
refs | int | 1 | Reference frames to consider for motion compensation
trellis | int | 0 | 0: disabled; 1: enabled only on the final encode of a MB; 2: enabled on all mode decisions. The main decision made in quantization is which coefficients to round up and which to round down. Trellis chooses the optimal rounding choices for the maximum rate-distortion score, to maximize PSNR relative to bitrate.
timecode_frame_start | int64 | -1 | GOP timecode frame start number, in non drop frame format
rc_max_vbv_use | double | 0.000000 | Maximal rate control of video buffer verifier's usage
rc_min_vbv_use | double | 3.000000 | Minimal rate control of video buffer verifier's usage
slices | int | 0 | Number of slices, used in parallelized encoding
top | int | Field order for interlaced files (-1 - auto, 0 - bottom first, 1 - top first)
thread_type flags +slice+frame Select multithreading type
  • slice - Slice
  • frame - Frame

DV Video / DVCPRO-HD

Configuration Parameter: dvvideo
Additional attributes
Name | Type | Default value | Description
dv_format | option_fixed | auto | Format for DV codec. Possible values: dvsd, dv25, dv50, dvhd.

Intel QuickSync H.264 Encoder

Configuration Parameter: q264
Additional attributes
Name | Type | Default value | Description
b | int | 5M | The average bit rate in bps is the target bit rate used for VBR rate control
quality | string |  | Quality of captured video. Possible values: from 1 (fast capturing, minimal quality) to 7 (maximal quality, slow capturing)
g | int | 15 | This is the IDR period for H264
profile | option_fixed | Auto | Set the profile
level | option_fixed | Auto | Sets the level flag in the output bitstream
rc_type | option_fixed | quality | The rate control type
maxrate | int | 0 | The maximum bit rate in bps is the peak bit rate used for VBR rate control
bufsize | int | 0 | Set ratecontrol buffer size (in bits). Depends on the profile level of the video being encoded. Set only if you're encoding for a hardware device.
initialdelay | int | 0 | Specifies the initial delay in bits. Set 0 to use the default initial delay
bf | int | 1 | This sets the distance of one P picture from the previous P picture. e.g. for IBBPBBP, set the value as 3
ref_frames | int | 0 | Number of reference frames; if NumRefFrame = 0, this parameter is not specified.
cavlc | option_fixed | false | Enable/disable Context-adaptive variable-length coding mode.
size | string |  | Resolution of video. Format: WIDTHxHEIGHT.

NVIDIA NVEnc H.264 Encoder

Configuration Parameter: n264
Additional attributes
Name | Type | Default value | Description
b | int | 5M | The average bit rate in bps is the target bit rate used for rate control
g | int | 15 | This is the IDR period
bf | int | 1 | This sets the distance of one P picture from the previous P picture. e.g. for IBBPBBP, set the value as 3
rc_type | option_fixed | Auto | The rate control type
preset | option_fixed | Auto | Codec Preset - if specified, some properties below ignored
profile | option_fixed | Auto | Codec Profile
level | option_fixed | Auto | Sets the level flag in the output bitstream
maxrate | int | 0 | The maximum bit rate in bps is the peak bit rate used for VBR rate control
size | string |  | Resolution of video. Format: WIDTHxHEIGHT.
ar | option |  | Aspect ratio of video.
ar_type | option_fixed |  | Type of video's aspect ratio.
vbvBufferSize | int | 0 | Specifies the VBV(HRD) buffer size. in bits. Set 0 to use the default VBV buffer size
vbvInitialDelay | int | 0 | Specifies the VBV(HRD) initial delay in bits. Set 0 to use the default VBV initial delay
enableAQ | option_fixed | true | Set this to TRUE to enable adaptive quantization
intraRefreshPeriod | int | 0 | Specifies the interval between successive intra refresh if intraRefreshCount is set
intraRefreshCount | int | 0 | Specifies the length of intra refresh in number of frames for periodic intra refresh. This value should be smaller than intraRefreshPeriod
disable_cabac | option_fixed | false | Enable or disable CABAC
mvprecision | option_fixed | Auto | Specifies the desired motion vector prediction precision
disable_sps_pps | option_fixed | false | Disable writing of Sequence and Picture parameter for every IDR frame
separateColourPlaneFlag | option_fixed | false | Set 'true' to enable 4:4:4 separate colour planes
deblock | option_fixed | 1 | Specifies the deblocking filter mode
enableTemporalSVC | option_fixed |  | Set to 1 to enable SVC temporal
hierarchicalPFrames | option_fixed |  | Set to 1 to enable hierarchical PFrames
hierarchicalBFrames | option_fixed |  | Set to 1 to enable hierarchical BFrames
outputBufferingPeriodSEI | option_fixed |  | Set 'true' to write SEI buffering period syntax in the bitstream
outputPictureTimingSEI | option_fixed |  | Set 'true' to write SEI picture timing syntax in the bitstream
outputFramePackingSEI | option_fixed |  | Set 'true' to enable writing of frame packing arrangement SEI messages to bitstream
outputRecoveryPointSEI | option_fixed |  | Set'true' to enable writing of recovery point SEI message
numTemporalLayers | int |  | Specifies max temporal layers to be used for hierarchical coding. Valid value range is [1,10]
outputAUD | option_fixed |  | Set 'true' to write Access Unit Delimiter syntax.
interlace | option_fixed | Auto | Interlace type

NVIDIA NVEnc H.264 Lossless Encoder

Configuration Parameter: l264
Additional attributes
Name | Type | Default value | Description
preset | option_fixed | lossless | Codec Preset
size | string |  | Resolution of video. Format: WIDTHxHEIGHT.
ar | option |  | Aspect ratio of video.
ar_type | option_fixed |  | Type of video's aspect ratio.
disable_sps_pps | option_fixed | false | Disable writing of Sequence and Picture parameter for every IDR frame
outputBufferingPeriodSEI | option_fixed |  | Set 'true' to write SEI buffering period syntax in the bitstream
outputPictureTimingSEI | option_fixed |  | Set 'true' to write SEI picture timing syntax in the bitstream
outputFramePackingSEI | option_fixed |  | Set 'true' to enable writing of frame packing arrangement SEI messages to bitstream
outputRecoveryPointSEI | option_fixed |  | Set'true' to enable writing of recovery point SEI message
outputAUD | option_fixed |  | Set 'true' to write Access Unit Delimiter syntax.

NVIDIA NVEnc H.265 (HEVC) Encoder

Configuration Parameter: n265
Additional attributes
Name | Type | Default value | Description
b | int | 5M | The average bit rate in bps is the target bit rate used for rate control
g | int | 15 | This is the IDR period
bf | int | 1 | This sets the distance of one P picture from the previous P picture. e.g. for IBBPBBP, set the value as 3
rc_type | option_fixed | Auto | The rate control type
preset | option_fixed | Auto | Codec Preset - if specified, some properties below ignored
level | option_fixed | Auto | Specifies the level of the encoded bitstream.
tier | option_fixed | Main |
maxrate | int | 0 | The maximum bit rate in bps is the peak bit rate used for VBR rate control
size | string |  | Resolution of video. Format: WIDTHxHEIGHT.
ar | option |  | Aspect ratio of video.
ar_type | option_fixed |  | Type of video's aspect ratio.
vbvBufferSize | int | 0 | Specifies the VBV(HRD) buffer size. in bits. Set 0 to use the default VBV buffer size
vbvInitialDelay | int | 0 | Specifies the VBV(HRD) initial delay in bits. Set 0 to use the default VBV initial delay
enableAQ | option_fixed | true | Set this to TRUE to enable adaptive quantization
intraRefreshPeriod | int | 0 | Specifies the interval between successive intra refresh if intraRefreshCount is set
intraRefreshCount | int | 0 | Specifies the length of intra refresh in number of frames for periodic intra refresh. This value should be smaller than intraRefreshPeriod
mvprecision | option_fixed | Auto | Specifies the desired motion vector prediction precision
disable_sps_pps | option_fixed | false | Disable writing of Sequence and Picture parameter for every IDR frame
deblock | option_fixed | true | Set 'true' to enable in loop filtering across slice boundary.
useConstrainedIntraPred | option_fixed |  | Set 'true' to enable constrained intra prediction.
outputBufferingPeriodSEI | option_fixed |  | Set 'true' to write SEI buffering period syntax in the bitstream
outputPictureTimingSEI | option_fixed |  | Set 'true' to write SEI picture timing syntax in the bitstream
outputAUD | option_fixed |  | Set 'true' to write Access Unit Delimiter syntax.
enableLTR | option_fixed |  | Set 'true' to enable use of long term reference pictures for inter prediction.
maxNumRefFramesInDPB | int |  | Specifies the maximum number of references frames in the DPB.
ltrNumFrames | int |  | Specifies the maximum number of long term references can be used for prediction
maxTemporalLayersMinus1 | int |  | Specifies the max temporal layer used for hierarchical coding.

CUDA H.264 Video Encoder

Configuration Parameter: c264
Additional attributes
Name | Type | Default value | Description
b | int | 6000000 | The average bit rate in bps is the target bit rate used for VBR rate control
maxrate | int | 6200000 | The maximum bit rate in bps is the peak bit rate used for VBR rate control
preset | option | Custom | Set the encoding parameters according to the presets required for supported encoding targets
size | string |  | Resolution of video. Format: WIDTHxHEIGHT.
g | int | 15 | This is the IDR period for H264
bf | int | 1 | This sets the distance of one P picture from the previous P picture. e.g. for IBBPBBP, set the value as 3
dynamic_gop | option_fixed | false | The GOP structure is determined dynamically by the encoder
profile | option_fixed | Main | Set the profile and level information
nal_type | int | 0 | Configures the NAL unit framing type
rc_type | option_fixed | vbr | The rate control type
qp_level_i | int | 28 | The QP level for intra pictures
qp_level_p | int | 28 | The QP level for inter P pictures
qp_level_b | int | 28 | The QP level for inter B pictures
deblock | option_fixed | true | Enable or disable de-blocking mode
disable_cabac | option_fixed | false | Enable or disable CABAC
disable_sps_pps | option_fixed | false | Enable or disable including sequence parameter set/picture parameter set ( SPS/PPS ) information in bitstream
deinterlace | option_fixed |  | Enable the deinterlace algorithm

libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10

Configuration Parameter: libx264
Additional attributes
Name | Type | Default value | Description
preset | string | faster | Change options to trade off compression efficiency against encoding speed. Values available: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo.
tune | string | Tune options to further optimize them for your input content. Values available: film, animation, grain, stillimage, psnr, ssim, fastdecode, zerolatency.
profile | string | Limit the profile of the output stream. Values available: baseline, main, high, high10, high422, high444.
fastfirstpass | int | 1 | Use fast settings when encoding first pass
level | string | Sets the level flag in the output bitstream (as defined by Annex A) Permissible levels are: 1 1b 1.1 1.2 1.3 2 2.1 2.2 3 3.1 3.2 4 4.1 4.2 5 5.1
wpredp | string | Weighted prediction for P-frames
x264opts | string | x264 options
crf | double | -1.000000 | Select the quality for constant quality mode
crf_max | double | -1.000000 | In CRF mode, prevents VBV from lowering quality beyond this point.
qp | int | -1 | Constant quantization parameter rate control method
aq-mode | option_fixed | AQ method
aq_mode
  • variance - Variance AQ (complexity mask)
  • autovariance - Auto-variance AQ (experimental)
  • size - Resolution of video. Format: WIDTHxHEIGHT.
  • ar - Aspect ratio of video.
  • ar_type - Type of video's aspect ratio.
v422 | option_fixed | false | Indicates whether captioning is in 4:2:2 colorspace.
interlace | int | -1 | Interlacing: 1 - interlaced, 0 - progressive, -1 - auto.
aq-strength | double | -1.000000 | AQ strength. Reduces blocking and blurring in flat and textured areas.
psy | int | -1 | Use psychovisual optimizations.
psy-rd | string | Strength of psychovisual optimization, in : format.
rc-lookahead | int | -1 | Number of frames to look ahead for frametype and ratecontrol
weightb | int | -1 | Weighted prediction for B-frames.
weightp | option_fixed | Weighted prediction analysis method.
ssim | int | -1 | Calculate and print SSIM stats.
intra-refresh | int | -1 | Use Periodic Intra Refresh instead of IDR frames.
b-bias | int | -2147483648 | Influences how often B-frames are used
b-pyramid | option_fixed | Keep some B-frames as references.
b_pyramid
  • strict - Strictly hierarchical pyramid
  • normal - Non-strict (not Blu-ray compatible)
mixed-refs | int | -1 | One reference per partition, as opposed to one reference per macroblock
8x8dct | int | -1 | High profile 8x8 transform.
fast-pskip | int | -1
aud | int | -1 | Use access unit delimiters.
mbtree | int | -1 | Use macroblock tree ratecontrol.
deblock | string | Loop filter parameters, in form.
cplxblur | double | -1.000000 | Reduce fluctuations in QP (before curve compression)
partitions | string | A comma-separated list of partitions to consider. Possible values: p8x8, p4x4, b8x8, i8x8, i4x4, none, all
direct-pred | option_fixed | Direct MV prediction mode
slice-max-size | int | -1 | Limit the size of each slice in bytes
stats | string | Filename for 2 pass stats
nal-hrd | option_fixed | Signal HRD information (requires vbv-bufsize; cbr not allowed in .mp4)

FLV / Sorenson Spark / Sorenson H.263 (Flash Video)

Configuration Parameter: flv
Additional attributes
Name Type Default value Description
mpv_flags flags Flags common for all mpegvideo-based encoders.
  • skip_rd - RD optimal MB level residual skipping
  • strict_gop - Strictly enforce GOP size
  • qp_rd - Use rate distortion optimization for qp selection
  • cbp_rd - use rate distortion optimization for CBP

HuffYUV

Configuration Parameter: huffyuv

VC-1

Configuration Parameter: vc1

MJPEG (Motion JPEG)

Configuration Parameter: mjpeg

MPEG-1 Video

Configuration Parameter: mpeg1video
Additional attributes
Name Type Default value Description
mpv_flags flags Flags common for all mpegvideo-based encoders.
  • skip_rd - RD optimal MB level residual skipping
  • strict_gop - Strictly enforce GOP size
  • qp_rd - Use rate distortion optimization for qp selection
  • cbp_rd - use rate distortion optimization for CBP

MPEG-2 Video

Configuration Parameter: mpeg2video
Additional attributes
Name | Type | Default value | Description
mpv_flags flags Flags common for all mpegvideo-based encoders.
  • skip_rd - RD optimal MB level residual skipping
  • strict_gop - Strictly enforce GOP size
  • qp_rd - Use rate distortion optimization for qp selection
  • cbp_rd - use rate distortion optimization for CBP
v422 | option_fixed | false | Indicates whether captioning is in 4:2:2 colorspace.
interlace | int | -1 | Interlacing: 1 - interlaced, 0 - progressive, -1 - auto.

MPEG-4 part 2 Video

Configuration Parameter: mpeg4
Additional attributes
Name | Type | Default value | Description
data_partitioning | int | 0 | Use data partitioning.
mpv_flags flags Flags common for all mpegvideo-based encoders.
  • skip_rd - RD optimal MB level residual skipping
  • strict_gop - Strictly enforce GOP size
  • qp_rd - Use rate distortion optimization for qp selection
  • cbp_rd - use rate distortion optimization for CBP
interlace | int | -1 | Interlacing: 1 - interlaced, 0 - progressive, -1 - auto.

Apple ProRes

Configuration Parameter: prores

Windows Media Video 8

Configuration Parameter: wmv2

OpenJPEG JPEG 2000

Configuration Parameter: libopenjpeg
Additional attributes
Name | Type | Default value | Description
format | option_fixed | jp2 | Codec Format. Possible values: j2k, jp2.
profile | option_fixed | jpeg2000 | Profile name. Possible values: jpeg2000, cinema2k, cinema4k.
cinema_mode | option_fixed | off | Digital Cinema mode. Possible values: off, 2k_24, 2k_48, 4k_24
numresolution | int | 6 | Number of resolutions
numlayers | int | 1 | Number of layers

Theora

Configuration Parameter: libtheora

Google VP8

Configuration Parameter: libvpx
Additional attributes
Name | Type | Default value | Description
cpu-used | int | 3 | Quality/Speed ratio modifier
quality | int | 1000000 | Encoding quality
max-intra-rate | int | -1 | Maximum I-frame bitrate (pct) 0=unlimited
er
  • default - Improve resiliency against losses of whole frames
  • partitions - The frame partitions are independently decodable by the bool decoder, meaning that partitions can be decoded even though earlier partitions have been lost. Note that intra predicition is still done over the partition boundary.
speed | int | 3 | Encoding speed
crf | int | 0 | Select the quality for constant quality mode

DNxHD (Digital Nonlinear Extensible High Definition)

Configuration Parameter: dnxhd

Lossless JPEG

Configuration Parameter: ljpeg

QuickTime Animation (RLE) video

Configuration Parameter: qtrle


Metadata encoding
Receiver Objects > MFWriter Object > Metadata encoding

You can add metadata information to file that you encode. To do this you should add "metadata::" into your encoding configuration string.

For example, format='mov' video::codec='mpeg4' video::b='5M' audio::codec='aac' metadata::title='My Title'

Different file formats has different set of possible metadata. Here is a list of possible metadata that you can encode into file's header.

QuickTime/MOV/MP4/M4A/et al.

metadata::title
metadata::author
metadata::album_artist
metadata::album
metadata::grouping
metadata::composer
metadata::year
metadata::track
metadata::comment
metadata::genre
metadata::copyright
metadata::description
metadata::synopsis
metadata::show
metadata::episode_id
metadata::network
metadata::lyrics

ASF/WMV/WMA

metadata::title
metadata::author
metadata::copyright
metadata::comment
metadata::rating

Beyond these keys, the ASF accepts free-form key/value metadata keys to be encoded into the header

Matroska (MKV)

metadata::title
metadata::description
metadata::language

Beyond these keys, the Matroska also accepts free-form key/value metadata pairs.

AVI

metadata::IART artist
metadata::ICMT comment
metadata::ICOP copyright
metadata::ICRD date
metadata::IGNR genre
metadata::ILNG language
metadata::INAM title
metadata::IPRD album
metadata::IPRT track
metadata::ITCH encoded_by

FLV

Free-form metadata key/value pairs

MP3

metadata::title
metadata::author
metadata::album
metadata::year
metadata::comment
metadata::track
metadata::genre

MPEG Transport Streams

metadata::title
metadata::language


Statistic of encoding
Receiver Objects > MFWriter Object > Statistic of encoding

You can get a statistic of MFWriter object to monitor encoding process. To do it you should get statistic properties with PropsGet method. For example:

  • C#
string statBreaks;
myWriter.PropsGet("stat::breaks_in", out statBreaks);

where "stat" is a node that contains all the information about statistic.

Here is a table with all the statistic properties:

• stat::breaks_in | number of break frames in input stream (instability of input stream)
• stat::buffers_overflow | number of dropped frames by MFWriter because input buffer is overflow
• stat::fps_in | frames per second of input stream
• stat::frames_in | number of input frames
• stat::buffered | number of frames in encoder buffer
• stat::frames_out | number of output frames
• stat::video_time | video time of captured file
• stat::video_len | total lenght of video
• stat::audio_samples | total number of encoded audio samples
• stat::audio_time | audio time of captured file
• stat::av_sync_time | asynchronization between audio and video in seconds
• stat::av_sync_len | total lenght of asynchronization between audio and video in seconds
• stat::last::fps_out | frames per second of output stream (encoded file)


MFWriter Properties
Receiver Objects > MFWriter Object > MFWriter Properties

You can manage MFWriter object behavior by setting properties with PropsSet method or in system registry: HKEY_CURRENT_USER\Software\Medialooks\MFormats\MFWriter.

Here is a list of properties of MFWriter object:

Name | Default | Description
" external_process " | " true " | use encoding in separated process
" embed_cc " | " false " | Once enabled forces MFWriter object to embed CEA-608 and CEA-708 closed captions into MPEG-2, MPEG-4 part 2 and H.264 elementary video streams for further writing to files or streaming to network.
" config.path " | " user_config.xml " | path to save user last configuration
" config.unicode " | "0" | use Unicode text encoding in configuration
" config.load " | " false " | loads previous configuration on initialization of object
" config.save " | " true " | saves last configuration
" play_while_rec " | " true " | enables Play-While-Rec feature that allows you to play the file that is capturing at the moment
" video.buffers " | "30" | number of video buffer frames
" video.drop_frames " | " false " | allows object to drop frames
" input.buffers " | "30" | number of input buffer frames
" crop " | " " | crops result video. Possible value: "left,top,right,bottom" where sides are set in pixels
" mirror " | " " | reflects result video. Possible values: "vert", "horz", "both"
" rotate " | " " | rotates result video. Possible values: "left", "right"
" writer.buffers " | "30" | number of writer buffer frames
" scc_capture " | " true " | captures SCC data (CC 608)
" anc_capture " | " false " | captures ANC data (CC 708)
"mserver_pid" | "" | Returns a process ID of MServer.exe process that is used for this object. Get-only property.
"_process_pid_" | "" | Returns a process ID of main process where this object is used. Get-only property.
"_process_name_" | "" | Returns a process name of main process where this object is used. Get-only property.


Network Streaming
Receiver Objects > MFWriter Object > Network Streaming

Network streaming is a special case of encoding. You can stream you content to network by using the same methods and operations like for encoding to file.

You can stream your video via RTMP, UDP protocols or via IIS Smooth Streaming.


RTMP streaming
Receiver Objects > MFWriter Object > Network Streaming > RTMP streaming

Real Time Messaging Protocol (RTMP) is used for high-speed transmission of audio, video and data between a player and a server. You can make RTMP streaming to media servers with MFWriter object.

Usually, a media server is used for RTMP streaming. So, MFormats's encoder will stream to the media server, and the media server will deliver the stream to end users.

Some of the media servers used for RTMP streaming are:

  • Wowza Media Server
  • Adobe Media Server
  • YouTube
  • Akamai Entry Point
  • Justin TV

Some media servers, including Wowza and Adobe, support FLV H.263 video. But the more common encoding format is H.264.

To configure your MFWriter object you should select RTMP streaming format and select required audio and video codecs. Result configuration looks like:

format='flv' protocol='rtmp://' video::codec='n264' audio::codec='libmp3lame' audio::ar='44100'

If your target server is external one (YouTube, Akamai etc) you should add video::g='60' to your configuration to make streaming stable.

Trying RTMP streaming with Writer Sample

1. Run the Writer sample, configure your source and select RTMP Streaming as encoding format:

2. Choose the video and audio codecs.

3. Paste the destination URL into the URL field and start streaming by clicking "Start record" button.

Implementing RTMP streaming in the code

Here's a example on how to configure RTMP streaming:

  • C#
MFWriter myWriter = new MFWriter();
string myConfiguration = @" format='flv' protocol='rtmp://' video::codec='n264' audio::codec='libmp3lame' audio::ar='44100'";
string destinationURL = @"rtmp://192.168.0.1935/live/myStream";
myWriter.WriterSet(destinationURL, 1, myConfiguration);

and then you can use myWriter object in core method as receiver to put frames to make RTMP streaming.

Destination URL structure

The destination URL for RTMP streaming looks like this:

rtmp://[media server IP]:[port number]/[application name]/[stream ID]

Where:

  • media server IP - is the IP of your media server (if you use Wowza Media Server or Adobe Media Server it is the IP of the machine where the server is installed);
  • port number - is the port number for streaming (by default it is "1935");
  • application name - is the name of the server's application (for example, "live");
  • stream ID - is the ID of your stream to the media server.

If you use external media servers (such as YouTube), all these parameters will be provided to you upon setting your channel up on the server's side.

Implementing secure streaming

If you use protection for your stream, you should provide a login and password to the server to be able to use the stream. Different media servers require different ways for authentication.

With Adobe Media Server, Akamai and most other media servers, you should use the login and password in the URL:

rtmp://username:password@[media server IP]:[port number]/[application name]/[stream ID]

Wowza Media Server, by default, uses the ModuleRTMPAuthenticate module for authentication - but MPlatform SDK cannot work with it today. So, it is needed to use custom settings for Wowza's application to be able to use security: edit "Application.xml" of the Wowza's application and add this property to the file:

  • XML
<property></property>
<name>secureurlparams.publish</name>
<value>password.username</value>

Also, it is necessary to set the application's incoming security to "Open":

In this case, the destination URL will look like this:

rtmp://[media server IP]:[port number]/[application name]?username=password/[stream ID]


UDP streaming
Receiver Objects > MFWriter Object > Network Streaming > UDP streaming

You can make UDP streaming in your application with MFWriter object. Like in other captioning cases you need to complete these steps:

  1. Configure your source object,
  2. Configure your MFWriter object,
  3. Start captioning - grabbing frames from source and put them to MFWriter.

UDP streaming has MPEG Transport stream format (mpegts). You should set required format in your configuration string. Then you should select video and audio codecs and their attributes.

As result your configuration string looks like:
format='mpegts' protocol='udp://' video::codec='mpeg2video' video::b='5M' audio::codec='libmp3lame'

Set this line and your target URL to WriterSet method:

  • C#
string myDestination = @"udp://192.168.0.177:5000";
string myConfiguration = "format='mpegts' protocol='udp://' video::codec='mpeg2video' video::b='5M' audio::codec='libmp3lame'";
int resetPreviousConfiguration = 1;
myWriter.WriterSet(myDestination, resetPreviousConfiguration, myConfiguration);

And then use myWriter in core method to make UDP streaming:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myLiveSource).SourceFrameGet(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myWriter).ReceiverFramePut(myFrame, -1, "");


IIS Smooth Streaming
Receiver Objects > MFWriter Object > Network Streaming > IIS Smooth Streaming

Live Smooth Streaming is an adaptive bitrate streaming extention for Microsoft Internet Information Server (IIS), that makes it possible to stream video via the HTTP protocol to players like Silverlight.

First, you will need a properly configured setup of your server: Microsoft's web site provides instructions on how to prepare your IIS to Live Smooth Streaming.

The next step is setting up your encoding solution to stream your content up to the IIS.

For IIS Live Smooth Streaming there is a specific format for MFWriter object - format='ismv'.

According to Live Smooth Streaming specification this format supports VC-1 and H.264 video encoders.

So to start IIS Live Smooth Streaming with MPlatform you should set IIS Live Smooth Streaming format, select required codecs and type the target URL.

The target URL has a specific format:

http:// [name of server] / [website name] / [publishing point name] .isml / Streams(Video)

where:

  • [name of server] is an IP address of your server or its name;
  • [website name] is name of website on the server. If you use default site in "wwwroot" folder of your IIS configuration then you can skip this part of URL;
  • [publishing point name] is name of your Live Smooth Streaming publishing point in your IIS configuration;

For example: http://ALEX_BASH/LiveTest.isml/Streams(Video)

Start the streaming:

To check the stream playback open a Windows Media Player and open the target URL:

The result is:

To configure MFWriter object for IIS streaming with code you just need to set target URL and configuration:

  • C#
string myDestination = @"http://ALEX_BASH/LiveTest.isml/Streams(Video)";
string myConfiguration = "format='ismv' protocol='http://' movflags='isml+frag_keyframe' video::codec='vc1' video::b='1M' audio::codec='aac'";
int resetPreviousConfiguration = 1;
myWriter.WriterSet(myDestination, resetPreviousConfiguration, myConfiguration);

And then use myWriter in core method to make IIS Smooth Streaming:

  • C#
// a frame object
MFFrame myFrame;
// grab a frame
((IMFSource)myLiveSource).SourceFrameGet(-1, out myFrame, "");
// send to receiver
((IMFReceiver)myWriter).ReceiverFramePut(myFrame, -1, "");


Operations with Frames

This part guides you through operations that you can make with frames: draw on frames, print text on them, overlay frames with each other, make transitions with them etc.


Creation of new frames
Operations with Frames > Creation of new frames

You can get frames from source objects (MFReader or MFLive), but also you can create a new frame independently from any source. To do it you should use MFFactory object.

With this object you can create new frames from files, from bitmaps or from memory.

Create a frame from file

You should use MFFrameCreateFromFile method to create a frame from local file. It is useful for example to use such frame for digital signature (channel logo overlay).

This method contains the following parameters:

  • _bsFileName - path to source file (JPEG, PNG, BMP or TIFF image),
  • _ppFrame - result frame,
  • _bsPropsList - additional properties. The property is reserved for future usage.

For example:

  • C#
MFFactoryClass frameFactory = new MFFactoryClass();
MFFrame frameFromFile;
string pathToFile = @"c:\myLogo.png";
frameFactory.MFFrameCreateFromFile(pathToFile, out frameFromFile, "");

Create a frame from bitmap

Bitmap objects that are used in application controls contains HBitmap property. You can create a new frame from this property with MFFrameCreateFromHBITMAP method.

This method contains the following parameters:

  • _hBitmap - a handle of source bitmap,
  • _ppFrame - result frame,
  • _bsPropsList - additional properties. The property is reserved for future usage.

For example, you may use canvas control in Delphi, where you can draw any lines. You can get HBitmap of this control to create a frame and then use a newly created frame to overlay an source frame.

Create a frame from memory

Also if you have a frame in memory and you get a pointer and information about frame, you can create a frame from memory directly with MFFrameCreateFromMem.

This method contains the following parameters:

  • _pAVProps - media properties for a frame
  • _lpVideo - pointer to video data
  • _lAudioSamples - number of audio samples
  • _lpAudio - pointer to audio data
  • _ppFrame - result frame
  • _bsPropsList - additional properties.

You can create a frame of required size and other media properties. But this method is more useful to create a simple frames the fastest way, for example transparent frames of solid color frames. To create a simple frame you should call:

  • C#
M_AV_PROPS frameProps = new M_AV_PROPS();
frameProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFactory factory = new MFFactoryClass();
MFFrame createdFrame;
string colorParameters = "solid_color='Red(255)'";
factory.MFFrameCreateFromMem(ref frameProps, 0, 0, 0, out createdFrame, "solid_color='Red(255)'");

where you set required video format for new frame. colorParameters has this structure: solid_color='[color]([transparency])'

where color is a name ('red') or ARGB code ('FFAACCEE') and transparency has a value between 0 (full transparency) and 255 (solid color).


Text overlay
Operations with Frames > Text overlay

You can add text overlays to a video frame by using a single method - MFPrint.

This method includes the following parameters:

  • _bsText – the text you would like to overlay.
  • _dblTextSize – font size measured in relative units, where size 1.0 is 1/24 of screen height.
  • _pRect – the rectangle area (MF_RECT) where the text overlay will appear.
  • _eMFTextFlags – a set of additional flags (eMFTextFlags) to align the text.
  • _bsExtraParam – a string with additional parameters for text formatting (described below)

Parameter _bsText can be just plain text or it can contain the following XML tags:

  • text (font) – style defined by parameters: face (e.g., "Times New Roman", "Arial", "Tahoma", etc.), size (in ems), color, outline, outline-color, bg-color (same as respective options of _bsExtraParam), bg-image (path to background image file), bg-image-opacity (opacity of background image from 0.0 to 1.0).
  • img – embedded image with required parameter src = <path to image> and optional parameters width, height and size = <height relative to text line> (e.g., if size = 2.0 image height will be equal to double text line height).
  • b – bold.
  • i – italics.
  • u – underline.
  • s – strike out.

In order to add formatting, we can change the _bsExtraParam. Here are the available parameters:

  • face – font name, such as 'Times New Roman', 'Arial', etc.
  • weight – font weight with possible numeric values from 0.0 to 2.0.
  • italic – italic type. Possible values are true and false.
  • bold – boldface type. Possible values are true and false.
  • oblique – bold italic type. Possible values are true and false.
  • stretch – font-stretch with possible numeric values from 0.0 to 2.0.
  • word-wrap – automatically moving the word to the next line if a line of text is filled. Possible values are true and false.
  • line-spacing – line height, or distance between one baseline to another. Possible values are from 0.0 to 10.0. By default the line height is 1.0.
  • baseline – the distance from top of line to baseline. By default the baseline is 0.8.
  • align – horizontal alignment of text. Possible values are: left, center, right and justify.
  • vert-align – vertical alignment of text. Possible values are: top, center and bottom.
  • color – font color. .
  • outline – width of text outline measured in relative units, where outline=1.0 is an outline with the width of 1/240 of screen height.
  • outline-color – color of text outline. HEX code value, for example '0xff0000' or color list (red, green, blue, etc.). Can be defined with a transparency level in brackets: 'red(50)', '0xffffff(80)'.
  • bg-color – background color. HEX code value, for example '0xff0000' or color list (red, green, blue, etc.). Can be defined with a transparency level in brackets: 'red(50)', '0xffffff(80)'.
  • bg-corners – radius of background area corners in px.
  • border – combination of border properties with the following sintax: <border-width> <border-style> <border-color>; e. g. border='2 solid green'.
  • border-style – can be solid, dashed or dotted.
  • border-color – border color or gradient.

Colors can be specified as HEX-code values ('0x00f0ff') or color lists ('red', 'green', 'blue', etc.). Can be defined with a transparency level in brackets: 'red(50)', '0xffffff(80)'. Gradient colors can be specified with the following syntax: linear-gradient(to [left | right] [top | bottom], [<simple_color>], ... ) | radial-gradient( circle | ellipse, [<simple_color>], ... ).

A sample text overlay looks like:

  • C#
// grab frame from source
MFFrame sourceFrame;
mySource.SourceFrameGet(-1, out sourceFrame, "");
// configure parameters for overlay
string textToOverlay = "My Sample Text";
double textSize = 3.0;
MF_RECT textRectangle= new MF_RECT();
textRectangle.dblHeight = 300;
textRectangle.dblPosX = 100;
textRectanglele.dblPosY = 150;
textRectangle.dblWidth = 600;
textRectangle.eRectType = eMFRectType.eMFRT_Absolute;
eMFTextFlags textFlags = eMFTextFlags.eMFT_WordBreaks;
string formattingParameters = "face='Times New Roman' weight='1.5' italic='true' bold='true' align='justify' vert-align='center' color='red'";
// overlay text
sourceFrame.MFPrint(textToOverlay, textSize, ref textRectangle, textFlags, formattingParameters);
// put frame to receiver
myReceiver.ReceiverFramePut(sourceFrame, -1, "");

Here is example of this code from Draw Frames Sample:

<text color=red>M</text>Formats <text size=0.9 face='Courier New'><b>IMFFrame::MFPrint</b></text> support:
<tab>- Different <text color=yellow>colors</text>
<tab>- Different <text size=1.0 face='Courier New'>fonts</text>
<tab>- Different styles: <b>bold</b> <i>italic</i> <u>underline</u> <s>strikeout</s>
<tab>- Different <text size=2.0>text</text> <text size=0.5>size</text>
<tab>- Add even pictures: <img size=3.0 src="C:\Users\Vsevolod\Pictures\logo.png"</img>


Draw on frames
Operations with Frames > Draw on frames

You can get frame video data and modify it according to your requirements. Then you can pack the modified data back to the frame to obtain a new modified frame. You can draw on frames by using this scenario.

Get frame data

You grab a frame from you source and you have MFFrame object. To get an access to frame data you should clone input frame with MFClone method:

  • C#
MFFrame sourceFrame;
myReader.SourceFrameGetByTime(-1, -1, out sourceFrame, "");
MFFrame clonedFrame;
sourceFrame.MFClone(out clonedFrame, eMFrameClone.eMFC_Reference, eMFCC.eMFCC_ARGB32);

where in MFClone method you should set type of what data should be cloned with eMFrameClone enumeration and result colorspace with eMFCC enumeration for cloned frame. In this example clonedFrame contains reference on sourceFrame data and is presented in ARGB32 colorspace.

You can get a pointer in memory to video data and a size of the data with MFVideoGetBytes method:

  • C#
int frameDataSize;
long framePointer;
clonedFrame.MFVideoGetBytes(out frameDataSize, out framePointer);

By this step you have an access to video data of frame. You can modify it according your requirements. If the pointer is constant all the actions with memory data are the actions on frame.

Get image from the frame data

You can create a Bitmap object from pointer and data size. To make this action correct you should get information about frame resolution and how many information is required for single line of image.

To get video properties you should call:

  • C#
int audioSamplesNumber;
M_AV_PROPS mediaProperties;
clonedFrame.MFAVPropsGet(out mediaProperties, out audioSamplesNumber);

M_AV_PROPS structure contains vidProps field that is M_VID_PROPS structure. This field contains all the required information - width (nWidth), height (nHeight) and single row information capacity (nRowBytes):

  • C#
int frameWidth = avProps.vidProps.nWidth;
int frameHeight = Math.Abs(avProps.vidProps.nHeight);
int frameRowBytes = avProps.vidProps.nRowBytes;
System.Drawing.Imaging.PixelFormat framePixelFormat = System.Drawing.Imaging.PixelFormat.Format32bppRgb;
IntPtr framePointer = new IntPtr(pbVideo);
Bitmap frameBitmap = new Bitmap(frameWidth, frameHeight, frameRowBytes, framePixelFormat, new IntPtr(pbVideo));

Absolute value for height is taken because in some video formats (like ARGB32) the frames are reverted so the height is negative that is not acceptable for Bitmap creating.

Modifying the image

To modify the image you should convert it to Graphic object (in .Net applications):

  • C#
Graphics frameGraphicData = Graphics.FromImage(frameBitmap );

And modify it according to your requirements - draw lines, rectangles, ellipses. You can make all the possible actions with the data. For example, in Draw Frame Sample this code is used to draw lines:

  • C#
frameGraphicData.DrawLines(new Pen(curveLine.PenColor, curveLine.PenSize),
curveLine.PenPath.ToArray());

To avoid memory leakage you should dispose all the objects that were created in this process:

  • C#
frameBitmap .Dispose();
frameGraphicData.Dispose();

And as result of this action you have modified video data of your input frame. You can use the modified frame like any frame for any receiver - preview, output device or encoding.


Transitions between frames
Operations with Frames > Transitions between frames

You can implement transitions between sources with MFTransition method. This method mixes 2 source frames according to given parameters and returns you a mixed frame. You can control the position of transition and its type. The method has the parameters:

  • _pFrameFrom - a frame from which the transition is used.
  • _ppFrameRes - result mixed frame.
  • _dblPos - position of a transition.
  • _bsTransition - transition type.
  • _bsPropsList - additional properties. This property is reserved for future usage.
  • _bsConverterID - converter ID. This property is reserved for future usage.

To make a transition you need 2 MFFrame object. You can receive them from a sources or to create new ones. In common case transition between frames looks like:

  • C#
// get a frame from 1st source
MFFrame frameFrom;
myFirstSource.SourceFrameGet(-1, out frameFrom, "");
// get a frame from 2nd source
MFFrame frameTo;
mySecondSource.SourceFrameGet(-1, out frameTo, "");
string transitionType="wheel";
double transitionPos = 0.5;
MFFrame frameResult;
frameTo.MFTransition(frameFrom, out frameResult, transitionPos, transitionType, "", "");

You can use frameResult object for preview. If transition position (transitionPos) is 0.0 the frameResult is equal to frameFrom, if it is 1.0 - the frameResult is equal to frameTo. So you can vary speed of transition by changing transition position parameter. To make transition slower you should set step for transitionPos smaller (for example, 0.01 - in this case a compete transition from 1st source to 2nd one takes 100 frames), and to make it faster you should increase the step (e.g. 0.1 - in this case transition takes only 10 frames).

You can use any transition type that is supported in MFormats SDK.

Here is a list of transitions:

Barn

Reveals new content of the object with a motion that resembles doors opening or closing.

  • Motion - Indicates whether new content is revealed from the outside or the inside first.
    out - The transition moves from the center of the object toward the borders of the object;
    in - The transition moves from the borders of the object toward the center.
  • Orientation - Indicates whether the filter effect is horizontal or vertical.
    horizontal - Transition lines are horizontal;
    vertical - Transition lines are vertical.

Blinds

Reveals new content of the object with a motion that appears to open or close blinds.

  • Bands - The number of strips into which the content is divided during the transition. Valid range: 1...100.
  • Direction - The direction of motion in the transition (up, down, right, left).

CheckerBoard

Reveals new content of the object by uncovering squares placed like a checkerboard over the original content.

  • Direction - The direction of motion in the transition (up, down, right, left).
  • SquaresX - The number of columns. Valid range: 2 or more.
  • SquaresY - The number of rows. Valid range: 2 or more.

Fade

Reveals new content of the object by fading out the original content.

  • Overlap - The fraction of the transition duration that both original and new content are displayed. Valid range: 0.0 ... 1.0.

Also it is possible to do transitions to colored screen or custom image. To do it you should use file path or color name as parameter of this transition: fade(c:\temp.jpg) or fade(black).

    GradientWipe

    Reveals new content of the object by passing a gradient band over the original content.

    • GradientSize - Percentage of the object that is covered by the gradient band. Valid range: 0.0 ... 1.0.
    • WipeStyle - Indicates whether the gradient band moves vertically or horizontally. Valid range: 0...1 (horizontally, vertically).
    • Motion - Indicates whether content is revealed as defined by the WipeStyle property setting, or in the opposite direction.

    Inset

    Reveals new content of the object diagonally.
    This transition does not support any additional features.

    Iris

    Reveals new content of the object with an iris effect, similar to the opening of a camera aperture.

    • irisStyle - The shape of the Iris filter aperture.
      DIAMOND - Diamond-shaped aperture;
      CIRCLE - Circular aperture;
      CROSS - X-shaped aperture;
      PLUS - Plus sign-shaped aperture;
      SQUARE - Square aperture;
      STAR - Star-shaped aperture.
    • Motion - Indicates whether new content is revealed from the outside or the inside first (out, in).

    Pixelate

    Displays the content of the object as colored squares that take the average color value of the pixels they replace.

    • MaxSquare - Maximum width in pixels of a pixelated square. The larger the number, the larger the squares and the coarser the picture. Valid range: 2...50.
    The Pixelate transition is a complex visual effect. In the first half of the transition, the content is displayed as expanding pixelated squares. The width of the pixelated squares increases from one pixel to MaxSquare pixels at the halfway point of the transition. The final half of the transition reduces the pixelated squares back to individual pixels, revealing the new content. During this transition, the original content fades into the new content. The fade effect is produced by reducing the opacity of the original content to zero while the opacity of the new content is raised to 100 percent at the same time.

    RadialWipe

    Reveals new content of the object with a radial wipe, like a windshield-wiper blade.

    • WipeStyle - Method used to reveal the new content.
      CLOCK - Sweeps around the center, clockwise from the top;
      WEDGE - Sweeps around the center in both directions from the top;
      RADIAL - Sweeps from the top to the left side, with one end of the sweep anchored on the upper left corner.

    RandomBars

    Reveals new content of the object by exposing random lines of pixels.

    • Orientation - Indicates whether the filter effect is horizontal or vertical.
      horizontal - Transition lines are horizontal;
      vertical - Transition lines are vertical.

    RandomDissolve

    Reveals new content of the object by exposing random pixels.
    This transition does not support any additional features.

    Slide

    Reveals new content of the object by sliding sections of the image into place.

    • bands - The number of strips into which the content is divided during the transition. Valid range: 1...100.
    • slideStyle - Method used to reveal the new content.
      HIDE - Slides bands of original content out, exposing new content;
      PUSH - Slides bands of new content in, pushing original content out;
      SWAP - Alternating bands expose new content, or push original content out, at the same time.

    Spiral

    Reveals new content of the object with a spiral motion.

    • gridSizeX - Number of grid columns used for the filter. Valid range: 1...100.
    • gridSizeY - Number of grid rows used for the filter. Valid range: 1...100.
    The combination of the GridSizeX and GridSizeY property values divides the content of an object into a grid for the filter to use.

    Stretch

    Reveals new content of the object with a stretching motion to cover the original content.

    • stretchStyle - Method used to reveal the new content.
      HIDE - Stretches new content over original content from left to right;
      PUSH - Stretches new content in and squeezes original content out, moving from left to right. This motion resembles a cube rotating from one face to another;
      SPIN - Stretches new content over original content from the center outward.

    Strips

    Reveals new content of the object by moving successive strips into place, like a diagonal saw blade passing across the original content.

    • Motion - Corner from which new content is revealed during a Strips transition.
      leftdown - from the upper left corner to the lower right;
      leftup - from the lower left corner to the upper right;
      rightdown - from the upper right corner to the lower left;
      rightup - from the lower right corner to the upper left.

    Wheel

    Reveals new content of the object with a rotating motion, like spokes of a wheel covering the original content.

    • Spokes - Number of wedges that the content is divided into during the transition. Valid range: 2...20.

    ZigZag

    Reveals new content of the object with a forward and back motion that moves down the object.

    • gridSizeX - Number of grid columns used for the filter. Valid range: 1...100.
    • gridSizeY - Number of grid rows used for the filter. Valid range: 1...100.
    The combination of the GridSizeX and GridSizeY property values divides the content of an object into a grid for the filter to use.

    Transition with parameters is set like "type(parames)", e.g. wheel(spokes=10).


Overlay frames
Operations with Frames > Overlay frames

You can overlay a frames with another frames to make digital signature, channel logo or picture-in-picture. To make overlay you need at least 2 MFFrames object: one as base frame and another for overlay. You also can implement mask for overlay frame with MFormats SDK. Overlay is implemented to base MFFrame object with MFOverlay or MFOverlayRect methods.

When both frames (base and overlay) contains audio the result audio is mixed. By default audio gain is calculated based on overlay size and transparency of overlay frame. You can specify audio gain with "audio_gain" additional property (e.g. "audio_gain=-10"). The value is in decibels.

Source frame and frame for overlay in this article are:

  • C#
// grab frame from source
MFFrame sourceFrame;
mySource.SourceFrameGet(-1, out sourceFrame, "");
// create a frame from file
MFFactory frameFactory = new MFFactory();
string pathToLocalFile = @"c:\channelLogo.png";
MFFrame frameToOverlay;
frameFactory.MFFrameCreateFromFile(pathToLocalFile, out frameToOverlay, "");

You can get mask frame from another source or create it from file the similar way.

Overlay with MFOverlay method

MFOverlay method contains these parameters:

  • _pFrameOverlay - frame that is used for overlay
  • _pFrameMask - frame for masking
  • _nPosX - horizontal position of overlay in pixels. The position is calculated from top-left corner.
  • _nPosY - vertical position of overlay in pixels. The position is calculated from top-left corner.
  • _dblAlpha - transparency (0 means transparent, 1.0 means solid)
  • _bsPropsList - additional properties. You can specify audio gain ("audio_gain") in this parameter.
  • _bsAudioBufferID - ID of audio buffer.This property is reserved for future usage.

For example, to overlay source frame with logo and place the image at (30, 20) point and make it slightly transparent:

  • C#
// set parameters for overlay
int overlayX = 30;
int overlayY = 20;
double overlayTransparency = 0.9;
// make overlay
sourceFrame.MFOverlay(frameToOverlay, null, overlayX, overlayY, overlayTransparency, "", "");

Mask frame is not implemented in this example so null is used instead.

MFOverlay method uses full size of frameToOverlay, so if it is large enough it may overlay too large part of base frame. To avoid this effect you can resize a new frame with MFResize method.

Overlay with MFOverlayRect method

You can place overlay to required rectangle with MFOverlayRect method. This method contains the following parameters:

  • _pFrameOverlay - frame for overlay
  • _pFrameMask - frame mask
  • _pRect - rectangle for overlay
  • _eMFOverlayFlags - overlay flags to specify scaling for overlay frame
  • _dblAlpha - transparency (0 means transparent, 1.0 means solid)
  • _bsPropsList - additional properties. You can specify audio gain ("audio_gain") in this parameter.
  • _bsAudioBufferID - ID of audio buffer.This property is reserved for future usage.

For example, to overlay source frame with logo and place the image into rectangle with width = 160 pixels, height = 120 pixels in point (30, 20):

  • C#
MF_RECT overlayRect = new MF_RECT();
overlayRect.dblHeight = 120;
overlayRect.dblWidth = 160;
overlayRect.dblPosX = 30;
overlayRect.dblPosY = 20;
overlayRect.eRectType = eMFRectType.eMFRT_Absolute;
double overlayTransparency = 0.9;
eMFOverlayFlags overlayFlags = eMFOverlayFlags.eMFOF_Crop;
pFrame.MFOverlayRect(frameToOverlay, null, ref overlayRect, overlayFlags, overlayTransparency , "", "");

Mask frame is not implemented in this example so null is used instead.

With this method you can use frames of any size to overlay. The overlay frame is scaled to fill target rectangle according to overlay flags (eMFOverlayFlags enumeration).


Processing frame's ancillary data
Operations with Frames > Processing frame's ancillary data

Except of audio and video data processing you can use MFFrame objects to get access to ancillary data.


Sending and receiving custom ANC data packets
Operations with Frames > Processing frame's ancillary data > Sending and receiving custom ANC data packets

Using a direct access to the ANC data of each frame, you can build ANC data packets, add them to frames and read from them further.

You can use this logic to:

  • Transmit standatrtized ANC data over the SDI.
  • Transmit custom ANC data over the SDI.

Please refer to this article for details: Sending and receiving custom ANC data packets


Frame accurate capture and playback of custom user data
Operations with Frames > Processing frame's ancillary data > Frame accurate capture and playback of custom user data

Sometimes it's important to have some custom data to be stored with your video stream frame accurately. For example, camera ID, scene tags, coordinates, service information etc. With MFormats SDKs you can add this data to frames of the video stream. Once you will add custom data to frames you can capture them to an *.ANC file that should be stored next to original video file. This file will contain all your custom data that can be extracted out of the frames during the playback.

Please refer to this article for details: Frame accurate capture and playback of custom user data


SCTE-104 data receiving
Operations with Frames > Processing frame's ancillary data > SCTE-104 data receiving

Since MFormats version 1.2.1.8492 you can read the raw SCTE-104 messages data.

To get the data you need to process each frame and extract it using MFDataGet method with "SCTE-104" parameter:

  • C#
// Get the SCTE-104 data
int dataSize = 0;
long dataPointer = 0;
pFrame.MFDataGet("SCTE-104", out dataSize, out dataPointer);
if (dataSize > 0)
{
    // The SCTE-104 raw data is available under dataPointer.
}

NOTE: The SCTE-104 is received as raw data. If you don't want to process them manually and get in decoded state, please let us know. We will consider adding this functionality into MFormats SDK.


Frame rate control

In MFormats SDK, the frame rate - also known as frame frequency or frames per second (FPS) - is what defines the time that a frame is displayed for on the screen. For example, 25 FPS means that every video frame is displayed for exactly 40 ms along with its synced chunks of audio.

Frame rate control in MFormats SDK is implemented in sink objects. MFPreview, MFRenderer and MWriter are sink objects because they (in a similar way to the preview and renderer filters in DirectShow) receive samples and render them outside of the application.

These objects are responsible for the display time of a frame (frame rate control). If a frame is sent to the preview, it will be displayed for a pre-defined time. Even if the next frame is received, the ReceiverPutFrame method will not return until the display of the previous frame is finished. This logic is implemented in MFormats SDK internally.

Frame rate control with MFPreview

MFPreview is used to render the video to the preview and to play audio to the sound device. Its behavior is a little different depending on whether the stream contains audio or not.

When the frame contains both video and audio, the clock (timer) of the sound card is used to control the rate (the display of the video frames is adjusted to the audio stream).
For video-only frames the system timer is used to control the rate: when the video frame is displayed, the SDK waits for the system timer to trigger the display of the next frame.

Frame rate control with MFRenderer

MFRenderer is used to send frames to a device (such as Blackmagic or AJA). When rendering to a device, the clock of the device is used to control the frame rate (the device itself controls playback according to the way it had been configured). See also the post about playing out to a device.

Usually devices have a buffer of at least 1 frame and can tell us when the display of the first frame is finished. MFormats SDK waits for the first frame to complete playback, and then only pushes the buffered frame out for display, at the same time sending the next frame to the buffer. At this moment the ReceiverPutFrame method is returned. Because of this, there usually is a delay of at least one frame between playback and output (this may vary due to the specifics of the output drivers and hardware).

Frame rate control with MFWriter

MFWriter encodes (compresses) and writes frames to a file or streams them to the network. The MFWriter object controls the frame rate according to it's internal speed of processing the frames (usually defined by the speed of the encoder) - it returns the ReceiverPutFrame() method once the processing of the previous frame is finished and MFWriter is ready to receive the next one.

How to use rate control

The ReceiverPutFrame method has a _rtMaxWait parameter. It's value is measured in 10 ns as an integer (1 second is "10000000"):

If rate control is not required, this parameter should be set to "0". In this case, the ReceiverPutFrame method doesn't wait: it returns immediately after the processing of this frame is finished (such as when encoding and writing to a file).

If rate control is required, set this parameter to "-1". In this case, ReceiverPutFrame waits until the sink object completes the display of the frame. For example, it will wait for 40 ms if the MFRenderer is configured to play at 25 FPS via a Blackmagic card. When using several sink objects, this value will make this object the master object.

In other cases it can be set to a maximum value (such as "400000" for 25 FPS). Note, that waiting time is not yet implemented for some objects - so, its best to use "0" and "-1" values for now.

When there's only one source object and one sink object, the rate is either controlled by the sink object or not controlled at all (the frames are being processed at maximum speed - such as in the fast transcoding use case).

When using several sink objects at the same time (for example, MFRenderer and MFPreview) it is recommended to use just one object for rate control - this object becomes the master object. It is best to use the last object in the cycle to control the rate. If the master sink works faster than the non-master sink, than the non-master object will be dropping frames (for example, MFPreview will be dropping frames if you decide that encoding is more important and define MFWriter as the master object).


Fast transcoding
Frame rate control > Fast transcoding

You can transcode your source file at maximal speed by using rate control feature. A local file is a set of frames so you can grab each frame quite fast. The most important thing in transcoding is to capture all source frames without any drops. So you should grab all the frames from source file with MFReader object and transcode them with MFWriter object. Information about how to work with MFReader and MFWriter objects is in appropriate parts of documentation.

The core process looks like:

  • C#
// grab frame from source file
MFFrame sourceFrame;
myReader.SourceFrameGet(-1, out sourceFrame, "");
// transcode the frame
myWriter.ReceiverFramePut(sourceFrame, -1, "");

For MFReader object the code waits until the sourceFrame is received from file (_rtMaxWait parameter is -1). For MFWriter object rate control is enabled (_rtMaxWait parameter is -1) so the code doesn't go forward until the frame is encoded. By this way source file will be transcoded at maximal speed.

To add monitoring to this process you may add MFPreview object to check what is transcoded. But if you use MFPreview the same way as MFWriter (_rtMaxWait parameter is -1) then MFPreview also will have rate control and the code will wait until frame is not displayed on preview. So to make fast transcoding you should disable rate control for MFPreview object - in this case some frames will be dropped on preview, but all of them will be encoded into file.

  • C#
// grab frame from source file<br />
MFFrame sourceFrame;
myReader.SourceFrameGet(-1, out sourceFrame, "");
// send frame to preview and don't wait for it
myPreview.ReceiverFramePut(sourceFrame, 0, "");
// transcode the frame and do wait for it
myWriter.ReceiverFramePut(sourceFrame, -1, "");

Note please that fast transcoding is not available for live signals because a soure object waits for the next available frame.


Synchronous encoding
Frame rate control > Synchronous encoding

You can encode your source into several destination at the same time. To do it you need as many MFWriter objects as many destination you have.

Encoding to local files

For example, to encode your source to 2 local files you need 2 MFWriter object. You should configure them according to your requirements. And then use both these objects:

  • C#
MFFrame sourceFrame;
myReader.SourceFrameGet(-1, out sourceFrame, "");
// encode the frame with 1st encoder
myFirstWriter.ReceiverFramePut(sourceFrame, 0, "");
// encode the frame with 2nd encoder
mySecondWriter.ReceiverFramePut(sourceFrame, -1, "");

If your source is a local file the encoding will be implemented at maximal speed.

Network streaming

You can do synchronous network streaming the similar way. The important thing here is that you streaming on maximal speed is not required here - a target server may have problems with it. So you should use some object to implement a frame rate control to make a network streaming stable. The simplest solution is to use MFPreview object. If you don't need to display preview in your application you may not enable preview:

  • C#
myPreview.PreviewEnable("", 0, 0);

But you should use it in your core method:

  • C#
MFFrame sourceFrame;
myReader.SourceFrameGet(-1, out sourceFrame, "");
// encode the frame with 1st encoder
myFirstWriter.ReceiverFramePut(sourceFrame, 0, "");
// encode the frame with 2nd encoder
mySecondWriter.ReceiverFramePut(sourceFrame, 0, "");
// send frame to preview to make frame rate control
myPreview.ReceiverFramePut(sourceFrame, -1, "");


Synchronous playback
Frame rate control > Synchronous playback

You can play your sources in synchronous way by sending a source frames to several previews or several output devices. In both these cases you should decide what object should be the "master" to enable a frame rate control for this object. All the receivers without frame rate control should be used before "master" object.

Synchronous playback from single source

You grab a frame from source and send this frame to all the receivers. The "master" receiver is the last among them. For example:

  • C#
// grab a frame from source
MFFrame sourceFrame;
myReader.SourceFrameGet(-1, out sourceFrame, "");
// preview frame with common object
mySecondPreview.ReceiverFramePut(sourceFrame, 0, "");
// preview frame with master object
myMainPreview.ReceiverFramePut(sourceFrame, -1, "");

Synchronous playback from multiple sources

The way to use several sources is similar to single one. You grab frames from all the sources and put each of them to appropriate receiver. To control the frame rate for all the source-receiver pairs it is enough to use frame rate control only for one receiver, the "master" one. For example:

  • C#
// grab a frame from 1st source
MFFrame firstSourceFrame;
myFirstReader.SourceFrameGet(-1, out firstSourceFrame, "");
// grab a frame from 2nd source
MFFrame secondSourceFrame;
mySecondReader.SourceFrameGet(-1, out secondSourceFrame, "");
// preview 1st frame
 myFirstPreview.ReceiverFramePut(firstSourceFrame, 0, "");
// preview 2nd frame
 mySecondPreview.ReceiverFramePut(secondSourceFrame, -1, "");


Use different receiver objects
Frame rate control > Use different receiver objects

To summarize frame rate control infromation here is a table with common examples of different receiver objects usage:

Object MFPreview MFRenderer MFWriter
MFPreview

Decide what preview should be main and enable rate control for it. Use this "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// preview frame with common object
mySecondPreview.ReceiverFramePut(sourceFrame, 0, "");
// preview frame with master object
myMainPreview.ReceiverFramePut(sourceFrame, -1, "");

In common case quality of output signal is more important. Use MFRenderer as "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// preview frame
myPreview.ReceiverFramePut(sourceFrame, 0, "");
// send frame to output device
myRenderer.ReceiverFramePut(sourceFrame, -1, "");

In common case quality of encoded signal is more important. Use MFWriter as "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// preview frame
myPreview.ReceiverFramePut(sourceFrame, 0, "");
// encode the frame
myWriter.ReceiverFramePut(sourceFrame, -1, "");

By this way the source is transcoded on maximal speed.

If you need to encode your source in real time you can use a rate control to MFPreview object:

  • C#
// encode the frame
myWriter.ReceiverFramePut(sourceFrame, 0, "");
// preview frame
myPreview.ReceiverFramePut(sourceFrame, -1, "");
MFRenderer

In common case quality of output signal is more important. Use MFRenderer as "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// preview frame
myPreview.ReceiverFramePut(sourceFrame, 0, "");
// send frame to output device
myRenderer.ReceiverFramePut(sourceFrame, -1, "");

Decide what device should be main and enable rate control for it. Use this "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// output frame with common object
mySecondRenderer.ReceiverFramePut(sourceFrame, 0, "");
// output frame with master object
myMainRenderer.ReceiverFramePut(sourceFrame, -1, "");

Note please that the output delay depends on hardware so the result may be not synchronous for different devices.

If you use MFWriter and MFRenderer at once as receivers it is better to use MFRenderer as "master" object, because time to display frame on output is longer than time to encode the frame:

  • C#
// encode frame
myWriter.ReceiverFramePut(sourceFrame, 0, "");
// send the frame to output device
myRenderer.ReceiverFramePut(sourceFrame, -1, "");
MFWriter

In common case quality of encoded signal is more important. Use MFWriter as "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// preview frame
myPreview.ReceiverFramePut(sourceFrame, 0, "");
// encode the frame
myWriter.ReceiverFramePut(sourceFrame, -1, "");

By this way the source is transcoded on maximal speed.

If you need to encode your source in real time you can use a rate control to MFPreview object:

  • C#
// encode the frame
myWriter.ReceiverFramePut(sourceFrame, 0, "");
// preview frame
myPreview.ReceiverFramePut(sourceFrame, -1, "");

If you use MFWriter and MFRenderer at once as receivers it is better to use MFRenderer as "master" object, because time to display frame on output is longer than time to encode the frame:

  • C#
// encode frame
myWriter.ReceiverFramePut(sourceFrame, 0, "");
// send the frame to output device
myRenderer.ReceiverFramePut(sourceFrame, -1, "");

Decide what encoder should be main and enable rate control for it. Use this "master" object (for which rate control is enabled) the last among your receivers:

  • C#
// encode frame with common object
mySecondWriter.ReceiverFramePut(sourceFrame, 0, "");
// encode frame with master object
myMainWriter.ReceiverFramePut(sourceFrame, -1, "");

Note please that different formats requires different speed for encoding so you should use fast drivers for encoding in different formats.
If result files have drop frames then enable rate control for all receiver objects.


WebRTC

WebRTC is a relatively new streaming technology that provides a scalable low-latency way of transmitting audio, video and data between browsers, desktop applications and mobile devices. We have an overview of WebRTC technology in our blog.

General features of WebRTC

  • Remote preview and control for a video recording application - http://docs.medialooks.com/Q9Ta5v/
  • Remote preview and control for a playout application - http://docs.medialooks.com/Q1P232/
  • Transmitting WebRTC streams and messages between native applications - http://docs.medialooks.com/zqAq2X/
  • WebRTC technology in MPlatform SDK: Live Source and Renderer implementation - http://docs.medialooks.com/mY8ELr/


How to get started with WebRTC
WebRTC > How to get started with WebRTC

We have sevaral ways of WebRTC usage in MPlatform SDK. If you are getting started with WebRTC and considering the best way to use it, please refer for this article in our blog:

How to get started with WebRTC


WebRTC environment - signaling, STUN and TURN servers
WebRTC > WebRTC environment - signaling, STUN and TURN servers

The main idea of WebRTC technology is a direct peer-to-peer audio and video sterams transmission. But you need to have some additional services to make it work all together: signaling, STUN and TURN servers.

Check this article to understand the main purpose of each server: WebRTC environment: signaling, STUN and TURN servers.


TURN server deployment and usage
WebRTC > TURN server deployment and usage

The TURN server is a part of WebRTC environment that transmits media traffic between peers if a direct peer-to-peer connection is not available (for example due to firewall restrictions).

Check this article to get the idea of TURN server deployment and usage: WebRTC: TURN server deployment and usage.


Deploying a signaling server and web pages for WebRTC
WebRTC > Deploying a signaling server and web pages for WebRTC

Before starting to play with WebRTC you might need to make some preparations: deploy a signaling server and web pages. Or just skip this step and use Medialooks defauls signaling server and local web pages for evaluation.

Please refer to this article in our blog for details: Deploying a signaling server and web pages for WebRTC


Remote preview and control for a playout application
WebRTC > Remote preview and control for a playout application

Nice and easy implementeable feature that you can get with WebRTC is remote preview and control of your playout application, like playout server.

Please refer to this article in our blog for details: Remote preview and control for a playout application using WebRTC


Remote preview and control for a video recording application
WebRTC > Remote preview and control for a video recording application

Nice and easy implementeable feature that you can get with WebRTC is remote preview and control of your recording application, like content archieve server.

Please refer to this article in our blog for details: Remote preview and control for a video recording application.


Transmitting WebRTC streams and messages between MFormats applications
WebRTC > Transmitting WebRTC streams and messages between MFormats applications

Except of interaction with web pages, MWebRTC object can also be used to transmit streams and messages form one MFormats based application to another.

Please refer to this article in our blog for details: Transmitting WebRTC streams and messages between native applications


Transmitting the timecode data to the web page frame accurately
WebRTC > Transmitting the timecode data to the web page frame accurately

If you plan to make a timeline, perform frame accurate positioning, make video trimming or playlist composing right on a web page you might be interested in transmittion of timecode data to the web page frame accurately.

Check this article for details: WebRTC: transmitting the timecode data to the web page frame accurately.


MWebRTC object properties
WebRTC > MWebRTC object properties

Here are the available parameters for WebRTC object:

Name | Default | Description
"audio_bitrate" "128000"

The desired audio bitrate value.

Note: WebRTC engine can adjust the bitrate automatically in case of low bandwidth, so the real value can differ from the desired one.

"audio_encoder" "opus"

The built-in audio encoder.

Check this article for details: http://docs.medialooks.com/z6P7F1/

Possible values:

  • "opus" for Opus encoder (48 kHz)
  • "isac16" for internet Speech Audio Codec (iSAC) encoder (16 kHz)
  • "isac32" for internet Speech Audio Codec (iSAC) encoder (32 kHz)
"embed_timecode" "false"

Once enabled forces WebRTC object to embed the timecode data into the bottom line of the frame. After embeddin the timecode can be decoded on a web page and used for positioning, trimming, timeline building etc.

Check this article for details: http://docs.medialooks.com/k8z5k2/

"enable_audio" "true"

Can be disabled to prevent the audio transmittion by WebRTC object.

Might be usefull if you need to transmit the video data only.

Note: you can change this parameter at any moment to start and stop the audio transmission.

"enable_video" "true"

Can be disabled to prevent the video transmittion by WebRTC object.

Might be usefull if you need to transmit the audio data only.

Note: you can change this parameter at any moment to start and stop the video transmission.

"force_native_format" "true"

Once enabled forces WebRTC object to transmit data in the same format it has on the input.

Otherwise WebRTC object will convert the input stream to the nearest "standard" format, for example PAL, NTSC, 720 50p etc.

"login_timeout" | "4000" | A time period in milliseconds for connection to signaling server. If the connection is not established within this period, the login method will return the login error.
"name" "LocalClientXXXX"

The peer name that will be used if no other value is specified during WebRTC object configuration process.

The default value is generated with random part automatically on first WebRTC object initialization.

"room" "RoomXXXX"

The room name that will be used if no other value is specified during WebRTC object configuration process.

The default value is generated with random part automatically on first WebRTC object initialization.

"signaling_server" "https://Medialooks.com:8889"

The signaling server address that will be used if no other value is specified during WebRTC object configuration process.

NOTE: We do not quarantee the permanent functioning of medialooks test signaling server. Please use it for test purposes only and do not relay on it in production.

"stun_server" "stun:stun.l.google.com:19302"

Stun server address.

The stun server is used to establish a peer-to-peer connection for the peers behind the NAT.

"turn_server"

The turn server username and addres value.

Syntax example:
turn_server = turn:user1@medialooks.com:3478

Where:
"turn" - service keyword
"user1" - the username
"medialooks.com:3478" - turn server address and port

Check this article for TURN server deployment and usage information: http://docs.medialooks.com/u7ZmP2/

"turn_password"

The turn server password value.

"video_encoder" "vp8"

The built-in video encoder.

Check this article for details: http://docs.medialooks.com/z6P7F1/

Possible values:

  • "vp8" for VP8 encoder
  • "vp9" for VP9 encoder
  • "h264" for H264 encoder (OpenH264)


Transmitting long messages with WebRTC
WebRTC > Transmitting long messages with WebRTC

Since MFormats version 1.2.2.8647 you can transmit messages without any size limit over the WebRTC.

Check this article for details: Transmitting long messages with WebRTC


MFormats Extensions

There are several plugins included in to MFormats SDK:

  • Character Generator to overlay your video with text and graphic elements,
  • ChromaKey to implement chroma keying feature,
  • MDelay to make a delay for input video
  • MCCDisplay to display Closed Captions data on frames.

To use any plugin you should use ProcessFrame method. You should cast your plugin object to IMFProcess interface and call this method. By the result you have an original frame and a modified one. You can use both the frames according to your requirements, for example to show Closed Captions only on frames that you use for preview and don't draw this overlay on frames that are used for output devices.

ProcessFrame method contains this parameters:

  • _pFrameIn - input frame from source
  • _ppFrameOut - output frame that was modified by plugin
  • _pnFramesRest - number of rest frames in plugin buffer (for example, how many frames are already delayed)
  • _bsPropsList - additional properties. This property is reserved for future usage.

In common case usage of any plugin looks like:

  • C#
int framesRest;
MFFrame modifiedFrame;
((IMFProcess)pluginObject).ProcessFrame(sourceFrame, out modifiedFrame, out framesRest, "");

where pluginObject is any plugin instance and sourceFrame is an original frame.

To use any plugin you should add required component as reference to your project. Only MDelay can be used without reference cause it is included into MFormats library.

This part guides you through plugins that you can use with MFormats SDK.


Character Generator User Guide
MFormats Extensions > Character Generator User Guide

Character Generator is powerful tool to overlay your video with text and graphic. You can use different types of items to overlay: text, tickers, images, flash content etc.

This guide shows you how to work with Character Generator (CG), how to create and configure items.

To start to work with Character Generator you should initialize an instance of CoMLCharGen object:

  • C#
CoMLCharGenClass myCharGen = new CoMLCharGenClass();

And then you can add new items, load existed compositions and configurations and do all the things that are possible with Character Generator.


Base items
MFormats Extensions > Character Generator User Guide > Base items

All the compositions created with Character Generator contains from base items. Advanced items are set of base items.

There are several types of items in Character Generator:

  • Images
  • Flash
  • Text
  • Graphics
  • Empty

This part contains description of all these items and shows how to configure them.


Text
MFormats Extensions > Character Generator User Guide > Base items > Text

Text is one of basic elements for overlay. You can overlay your video with any text content and configure text according to your requirements with Character Generator. You can vary text size, color, font etc.

To add a text item you should put your text content directly to AddNewItem method:

  • C#
string textItemId = "myTextItem";
string myTextContent = "Sample Text";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(myTextContent, relativeX, relativeY, isRelative, isShow, ref textItemId);

Default XML description of text item looks like:

  • XML
<cg-item id='myTextItem'>
 <text type='text' font='Arial' font-size='20' color='White' word-break='no'>Sample Text</text>
 <cg-props scale='text-scale' align='top-left' edges-smooth='0' pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='138' height='34' pause='no'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
</cg-item>

Also there is a specific method for text items - AddNewTextItem. This item contains all the same properties as AddNewItem except the 1st one - _pTextProps that is CG_TEXT_PROPS structure (described below). With this method you can specify text item type right in the moment of item initialization.

All the properties for text item are set in <text> node. You can configure text item by set each property with SetItemProperties method. Also there is a specific method for text items - TextSetProps.

TextSetProps method contains the following fields:

  • _bsItemID - text item ID
  • _pItemInfo - text properties
  • _bUpdateItemSize - indicates whether item size will be update after new properties are set(1 to update, 0 to ignore)
  • _nMsecForChange - time for changes in milliseconds

where all the text properties are contained in _pItemInfo parameter that represents CG_TEXT_PROPS structure.

CG_TEXT_PROPS structure field | XML property | Description | Values | Example
bsFontFace | font | font that is used for text item | any of available on the system fonts, e.g. 'Arial'. Font mode (bold, italic) is also set here, e.g.: 'Arial Bold', 'Segoe UI StrikeOut' etc. | font='Segoe UI'
bsTextString | no separate property. To configure text string with XML you should set all the <text> node. | text item content | required text | <text type='text' font='Segoe UI' font-size='20' color='White' word-break='no'>Character Generator</text>
dblOutlineWidth | outline | thickness of item outline | thickness in pixels | outline='2'
eTextType | type | type of text item | listed below and in eCG_TextType enumeration | type='counter'
nDTFlags | each flag has its own XML property - described below | flags to implement formatting | listed below and in eCG_DTFlags enumeration | word-break='yes'
nFontHeight | font-size | font size | font size units | font-size='40'
nOutlineColor | outline-color | color of item outline | color according to Color settings In CG_TEXT_PROPS structure is set as hex value, e.g. 0x00FFAA88. It is hard to set color gradient with the structure so the recomennded way to set color is SetItemProperties method. | outline-color='blue'
nTextColor | color | font color | color according to Color settings In CG_TEXT_PROPS structure is set as hex value, e.g. 0x00FFAA88. It is hard to set color gradient with the structure so the recomennded way to set color is SetItemProperties method. | color='white-red'
nTimeOffset | no appropriate property | excluded at the moment | none | none

Text item types

Type of text item is set by 'type' property in item XML description.

eCG_TextType value | XML type property value | Description | Additional parameters | Example
eCGTT_Counter | type='counter' | Counter | counter-start - indicates from what number counter starts, counter-start='500' | <text type='counter' font='Segoe UI' font-size='36' outline-color='Black' color='White' word-break='no' counter-start='500'>00000</text>
eCGTT_DateTime | type='date-time' | Date and time | time-offset - indicates shift in date time from current system time, time-offset='00:00:05:00' backward-offset - indicates direction of time shifting, if 'yes' - time shifts backward, backward-offset='no' See Date & Time formatting to specify format | <text type='date-time' font='Segoe UI' font-size='36' color='White' word-break='no' time-offset='00:00:00:00' backward-offset='no'>yyyy/MM/dd HH:mm:ss</text>
eCGTT_FrameNumber | type='frame-number' | Number of received frame | None | <text type='frame-number' font='Arial' font-size='20' color='White' word-break='no'>00000</text>
eCGTT_FrameTime | type='frame-time' | Time of received frame (video sample time) | None | <text type='frame-time' font='Arial' font-size='26' color='White' word-break='no'>0.000</text>
eCGTT_StopWatch | type='stopwatch' | Common timer (from start time to infinity) | start-time - to indicate from what time timer should start, start-time='00:45:00:00' To specify time format you should set text content in 'HH:mm:ss' format (see Date & Time formatting) | <text type='stopwatch' font='Arial' font-size='26' color='White' word-break='no' pause='on' start-time='00:45:00:00'>HH:mm:ss.fff</text>
eCGTT_Subtitles | type='subtitles' | Subtitles from SRT files | See Subtitles for more information | <text type='subtitles' font-face='Arial' font-size='26' align='center' fill-color='Red(255)' outline='2.7' font='Arial' outline-color='Black' color='White' word-break='no' time-offset='0'>Subtitles</text>
eCGTT_Text | type='text' | Simple text | None | <text type='text' font='Times New Roman' font-size='36' outline='1.5' outline-color='Black' color='Lime' word-break='no'>Sample Text</text>
eCGTT_Timecode | type='timecode' | Drop frame timecode of received frame | time-offset - to indicate time shifting in display timecode, time-offset='00:30:00:00' | <text type='timecode' font='Arial' font-size='26' color='White' word-break='no' time-offset='00:30:00:00'>HH:MM:SS:FF</text>
eCGTT_Timecode_NDF | type='timecode-ndf' | Non-drop frame timecode of received frame | time-offset - to indicate time shifting in display timecode, time-offset='00:30:00:00' | <text type='timecode-ndf' font='Arial' font-size='26' color='White' word-break='no' time-offset='00:00:00:00'>HH:MM:SS:FF</text>
eCGTT_Timer | type='timer' | Countdown (from start time to zero) timer | start-time - to indicate from what time countdown should start, start-time='00:45:00:00' To specify time format you should set text content in 'HH:mm:ss' format (see Date & Time formatting) | <text type='timer' font='Arial' font-size='28' color='White' word-break='no' start-time='00:46:00:00'>HH:mm:ss</text>

Formatting flags

eCG_DTFlags Flag | XML property | Description | Example
eCGDT_BOTTOM | align='bottom' | vertical alignment for text |
eCGDT_CENTER | align='center' | horizontal alignment for text |
eCGDT_END_ELLIPSIS | trimming='ELL-CHAR' | ellipsis is not implemented | none
eCGDT_FLIP_HORZ | flip='X' | horizontal mirroring of text |
eCGDT_FLIP_VERT | flip='Y' | vertical mirroring of text |
eCGDT_LOWERCASE | style='LOWERCASE' | lowercase script |
eCGDT_NO_TAB | format='NO-TAB ' | ignore tabs if there is any |
eCGDT_MEASURE_TRAILING_SPACE | format='NMTS' | do not measure trailing spaces, so if your text contains spaces in the end, e.g. 'sample text ', the spaces will be ignored with 'NMTS' setting and will be counted in case of 'MTS' |
eCGDT_PATH_ELLIPSIS | trimming='ELL-PATH' | ellipsis is not implemented | none
eCGDT_RIGHT | align='right' | Horizontal alignment for text |
eCGDT_RTLREADING | format='RTL' | right-to-Left direction of text |
eCGDT_SINGLELINE | format='SINGLE-LINE' | ignore line breaking in source text and use it as single line |
eCGDT_TOP_LEFT | align='top-left' | alignment for text (both vertical and horizontal) |
eCGDT_TRIMMING_CHAR | trimming='ELL-CHAR' | ellipsis is not implemented | none
eCGDT_TRIMMING_WORD | trimming='ELL-WORD' | ellipsis is not implemented | none
eCGDT_UPPERCASE | style='uppercase' | uppercase script |
eCGDT_VCENTER | align='center' | vertical alignment for text |
eCGDT_VERTICAL | format='VERTICAL ' | vertical text |
eCGDT_WORD_ELLIPSIS | trimming='ELL-WORD' | ellipsis is not implemented | none
eCGDT_WORDBREAK | word-break='yes' | Use line breaks if text is wider than item width |

Note please that you can use many flags at the same time, for example to flip text both vertically and horizontally you can set flip='XY', or in source code:

  • C#
string myTextID = "myTextItem";
CG_TEXT_PROPS myTextProps;
myCharGen.TextGetProps(myTextID, out myTextProps);
myTextProps.nDTFlags = eCG_DTFlags.eCGDT_FLIP_HORZ & eCG_DTFlags.eCGDT_FLIP_VERT;
myCharGen.TextSetProps(myTextID, ref myTextProps, 1, 0);


Date & Time formatting
MFormats Extensions > Character Generator User Guide > Base items > Text > Date & Time formatting

You can specify format for text items that indicates time (Timer or Stopwatch) or Date (DateTime).

Time formatting

Time format is set as "hh:mm:ss". Here is a list of all possible settings:

Picture | Meaning
h | Hours with no leading zero for single-digit hours; 12-hour clock
hh | Hours with leading zero for single-digit hours; 12-hour clock
H | Hours with no leading zero for single-digit hours; 24-hour clock
HH | Hours with leading zero for single-digit hours; 24-hour clock
m | Minutes with no leading zero for single-digit minutes
mm | Minutes with leading zero for single-digit minutes
s | Seconds with no leading zero for single-digit seconds
ss | Seconds with leading zero for single-digit seconds
t | One character time marker string, such as A or P
tt | Multi-character time marker string, such as AM or PM

Date formatting

Date format is set as "yyyy/MM/dd". Here are the tables with possible settings:

The following table defines the format types used to represent days.

Format type | Meaning
d | Day of the month as digits without leading zeros for single-digit days.
dd | Day of the month as digits with leading zeros for single-digit days.
ddd | Abbreviated day of the week, for example, "Mon" in English (United States).
dddd | Day of the week .

The following table defines the format types used to represent months.

Format type | Meaning
M | Month as digits without leading zeros for single-digit months.
MM | Month as digits with leading zeros for single-digit months.
MMM | Abbreviated month, for example, "Nov" in English (United States).
MMMM | Month, for example, "November" for English (United States), and "Noviembre" for Spanish (Spain).

The following table defines the format types used to represent years.

Format type | Meaning
y | Year represented only by the last digit.
yy | Year represented only by the last two digits. A leading zero is added for single-digit years.
yyyy | Year represented by a full four or five digits, depending on the calendar used. Thai Buddhist and Korean calendars have five-digit years. The "yyyy" pattern shows five digits for these two calendars, and four digits for all other supported calendars. Calendars that have single-digit or two-digit years, such as for the Japanese Emperor era, are represented differently. A single-digit year is represented with a leading zero, for example, "03". A two-digit year is represented with two digits, for example, "13". No additional leading zeros are displayed.
yyyyy | Behaves identically to "yyyy".

The following table defines the format types used to represent a period or era.

Format type | Meaning
g, gg | Period/era string. The "g" and "gg" format pictures in a date string are ignored if there is no associated era or period string.


Subtitles
MFormats Extensions > Character Generator User Guide > Base items > Text > Subtitles

You can add external subtitles to your video. To do it you should use SRT file. Such files has the following structure:

SRT File
Copy Code
1
00:00:01,478 --> 00:00:04,020
Subtitles Example
2
00:00:05,045 --> 00:00:09,545
Support for <i>italic</i> font

To use such files with Character Generator you should add this file as new item:

  • C#
string graphicsItemId = "mySubtitles";
string pathToSrtFile = @"c:\mySubtitles.srt";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(pathToSrtFile , relativeX, relativeY, isRelative, isShow, ref graphicsItemId);

The way of adding makes subtitles similar to images, but Character Generator detects that it is text and you can set any properties for subtitles like you do it for common text.


Graphics
MFormats Extensions > Character Generator User Guide > Base items > Graphics

There are different types of graphics items in Character Generator. For example, you can use rectangles, stars, polygons in your overlay.

Default XML description of graphic item looks like:

  • XML
<graphics type='rect' round-corners='0.3' color-angle='45' sides='0' star-inset='0.' outline='3.' outline-color='White' color='Red(220)-Yellow(100)-Green(180)'/>

And it looks like rectangle with rounded corners:

To add such item with code you can call:

  • C#
string graphicsItemId = "myGraphics";
string graphicsConfiguration =
    @"<graphics type='rect' round-corners='0.3' color-angle='45' sides='0' star-inset='0.' outline='3.'
    outline-color='White' color='Red(220)-Yellow(100)-Green(180)'/>";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(graphicsConfiguration, relativeX, relativeY, isRelative, isShow, ref graphicsItemId);

Common properties of graphic items

Property | Description | Values | Example
color | color of filling | color according to Color settings | color='Blue(255)'
color-angle | gradient angle of filling | angle in degrees | color-angle='90'
outline | outline width | width in pixels | outline='8'
outline-color | color of outline | color according to Color settings | outline-color='Green'
type | type of graphics | described below | type='circle'

Graphics types

Type | Default view | Additional properties
rect |  | round-corners to specify corner radius. For example, round-corners='0.5' :
block-1 |  | None
block-2 |  | None
block-3 |  | None
block-4 |  | None
block-5 |  | None
block-6 |  | None
circle |  | None
ellipse |  | None
triangle |  | None
polygon |  | sides to specify number of sides. For example, sides='8' :
star |  | sides to specify number of rays. For example, sides='8' : star-inset to specify a depth of rays. For example, start-inset='0.4' :

There is no specific structure to manage graphics items. So the only way to configure such items from source code is to set XML properties.


Images
MFormats Extensions > Character Generator User Guide > Base items > Images

You can use images as overlay with Character Generator. Supported file formats for overlay are PNG, JPG, BMP, TIFF, TGA.

To add image as overlay you should use path to your file with AddNewItem method:

  • C#
string graphicsItemId = "myImage";
string pathToImageFile = @"c:\logo.png";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(pathToImageFile, relativeX, relativeY, isRelative, isShow, ref graphicsItemId);

Default XML description of flash item looks like:

  • XML
<cg-item id='myImage'>
    <img path='C:\logo.png'/>
    <cg-props pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='167' height='51' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
</cg-item>

Specific properties for images are set in <img> node.

Property | Description | Values | Example
border | thickness of border around the image | thickness in pixels | border='5'
color | color of border around the image | color according to Color settings | color='red'
image.ignorear | indicates whether aspect ratio of image will be ignored | true/false | image.ignorear='true'

Also you can get information whether the image loaded correct or not (for example, if file doesn't exist). If item can't be loaded there will be "load_error" property in <img> node with "true" value.

To check this you can call:

  • C#
try
{
    string itemID = "image-000";
    string propertyName = "img::load_error";
    string loadErrorValue;
    myCharGen.GetItemProperties(itemID, propertyName, out loadErrorValue);
}
catch (Exception)
{
    // the exception raises if there is no load_error property that means image is loaded correctly
}


Image sequences
MFormats Extensions > Character Generator User Guide > Base items > Image sequences

Except of static images you can also the sequences of image files as single overlay item. The images in a sequence are played back one-by-one and can be used to perform some basic animation.

To use image sequences you should set path to folder where your files are placed and a mask to filter files in AddNewItem method.

  • C#
string graphicsItemId = "myImageSequence";
// to add only PNG files
string pathToFlashFile = @"c:\myFolder\*.png";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(pathToFlashFile, relativeX, relativeY, isRelative, isShow, ref graphicsItemId);

To add a file mask to sequence you should use wild-card expression in file name, for example:

  • C#
string pathToFlashFile = @"c:\myImages\big_buck_bunny_*.png";

The images are used in alphabetical order so check the names of your images to be sure in playback order.

You can specify for image sequences the same properties as for single image. Also you can set in- and out-points for the sequence to limit a number of frames. To do it you should set 'frame-in' and 'frame-out' properties. For example:

  • XML
<img path='c:\myFolder\*.png' frame-in='5' frame-out='26'/>

frame-out is calculated from the end of all items. So in the example above the sequence is over with NumberOfImages-26 image.

When you use interlaced video with image sequences, you can specify a field-order for the sequence with "img::top-field" property. You can set top-field first with "1" as value for this property and bottom-field first with "0". For example:

  • XML
<cg-item id='myImage'>
    <img path='c:\myImages\big_buck_bunny_*.png' top-field='1'/>
    <cg-props pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='167' height='51' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
</cg-item>

Check this article for image sequences Frame Rate control: Playback rate


Flash
MFormats Extensions > Character Generator User Guide > Base items > Flash

You can use flash files (SWF) as graphics overlay. To be able to work with flash content with Character Generator you should obtain Character Generator Flash Plugin license and install Adobe Flash Plugin and ActiveX Control for Internet Explorer (x86). Here you can download sample SWF files for tests.

To add flash object you need to use path to SWF file with AddNewItem method:

  • C#
string graphicsItemId = "myFlash";
string pathToFlashFile = @"c:\myFlashFile.swf";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(pathToFlashFile, relativeX, relativeY, isRelative, isShow, ref graphicsItemId);

Default XML description of flash item looks like:

  • XML
<cg-item id='flash-000'>
    <img path=c:\myFlashFile.swf'/>
    <cg-props pos-x='36' pos-y='29' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.000' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='550' height='400' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
    <flash-vars/>
</cg-item>

Interaction with flash

Flash item is contained in <img> node and in general there is no difference between images and flash items. But you can interact with flash items - call internal flash functions or change variables.

To get a list of available flash variables you should use:

  • C#
string flashItemId = "myFlash";
int flashVariablesCount;
myCharGen.FlashGetVariablesCount(flashItemId, out flashVariablesCount);
string[] flashVariablesArray;
if (flashVariablesCount > 0)
{
    flashVariablesArray = new string[flashVariablesCount];
    for (int flashVarIndex = 0; flashVarIndex < flashVariablesCount; flashVarIndex ++)
    {
        string flashVarName;
        myCharGen.FlashGetVariableName(flashItemId, flashVarIndex, out flashVarName);
        flashVariablesArray[flashVarIndex] = flashVarName;
    }
}

To get value of required variable you should call:

  • C#
string flashVarValue;
myCharGen.FlashGetVariable(flashItemId, flashVariablesArray[targetVariableIndex], out flashVarValue);

To change value of required variable:

  • C#
string flashVarName = "param1";
string flashNewValue = "test";
myCharGen.FlashSetVariable(flashItemId, flashVarName, flashNewValue);

To work with flash functions you should use FlashCallFunction method. Please refer to your source FLA file to get information about available functions and their parameters. You should configure your function into XML style to use in this method. For example, if required function looks like UpdateTitleVal(string newTitle) then you should prepare request like:

  • XML
<invoke name='UpdateTitleVal'>
    <arguments>
        <string>UpdateTitle Call!</string>
    </arguments>
</invoke>

And use this string in FlashCallFunction method:

  • C#
string flashItemId = "myFlash";
string functionRequest = @"<invoke name='UpdateTitleVal'>
                            <arguments>
                                <string>UpdateTitle Call!</string>
                            </arguments>
                          </invoke>";
string flashResponse;
m_objCharGen.FlashCallFunction(flashItemId, functionRequest, out flashResponse);


Empty
MFormats Extensions > Character Generator User Guide > Base items > Empty

Empty item doesn't contain anything and it is used mostly to limit some borders for items in compositions or groups. It contains only basic properties


Advanced items
MFormats Extensions > Character Generator User Guide > Advanced items


Ticker
MFormats Extensions > Character Generator User Guide > Advanced items > Ticker

Tickers presents text and graphic information as scrolling lines. You can use simple text, text files, RSS feeds as sources for tickers.

Default XML description of ticker looks like:

  • XML
<cg-item group-type='ticker' id='ticker-000'>
    <graphics type='rect' color='white(120)/mll(180)'/>
    <ticker type='crawl' speed='-2.0' gapless-crawl='no' distance='1.0' line-height='1.0'>
        <background type='rect' color='white(120)/mll(180)'/>
        <default-text bold='true' size='1.0' style='uppercase'/>
    </ticker>
    <cg-props pos-x='0' pos-y='413' width='720' height='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
    <internal/>
</cg-item>

And ticker looks like:

Ticker properties are nested in <ticker> node. The <ticker> node contains parameters of the ticker and child nodes: <background> that describes ticker background area and <default-text> that is for ticker text content.

Ticker is kind of group of items: graphics and text are combined into ticker. <background> node is duplicated in <graphics> node (see example above) - you can modify background of ticker like common graphic item within <background> node. <default-text> may contain all the attributes that are possible for text item. Note please that you should set default text properties before add text content.

You can use image as background for the ticker by setting in XML description:

  • XML
<background path='c:\myTickerBackground.png'/>

To add a new ticker to your Character Generator configuration you should create XML description of your required ticker and use TickerAddNew method.

  • C#
string tickerItemXML= @"<cg-item>
                            <ticker type='crawl'/>
                            <graphics color='ML(180)-White(180)'/>
                            <default-text bold='true' size='20' />
                        </cg-item>";
string tickerName = "ticker-item";
double posX = 0.05;
double posY = 0.05;
double sizeX = 0.0;
double sizeY = 0.0;
int isRelative = 1;
int isDisplay = 1;
m_objCharGen.TickerAddNew(tickerItemXML, posX, posY, sizeX, sizeY, 1isRelative, isDisplay, ref tickerName);

To add a content to the ticker you should call TickerAddContent method:

  • C#
string tickerID = "ticker-item";
string tickerContent = "Sample Text";
string tickerAddType = "remove-all";
m_objCharGen.TickerAddContent(tickerID, tickerContent, tickerAddType);

More detailed ticker content described in Content Management.


Ticker Types
MFormats Extensions > Character Generator User Guide > Advanced items > Ticker > Ticker Types

There are several types of ticker items in Character Generator. Each type has its specific behavior, format and parameters.

Ticker type | Description | Parameters | Example
crawl | line of text crawling horizontally | speed - speed of text flow. Sign of value indicates duration of content flow. gapless-crawl - indicates whether the crawl is displayed without gapes distance - distance between rows or ticker content items line-height - relative height of text line | <ticker type='crawl' speed='-2.0' gapless-crawl='no' distance='1.0' line-height='1.0'>
roll | multiline roll of text scrolling vertically | speed - speed of text flow. Sign of value indicates duration of content flow. distance - distance between rows or ticker content items line-width - relative width of text line | <ticker type='roll' speed='-2.0' distance='0.2' line-width='0.9'>
ticker-horz-XX | horizontal appearance of ticker lines. XX means number of lines | lines - number of lines start-time - time delay before content starts to flow show-time - time interval for which item is displayed line-width - relative line width line-height - relative line height distance - distance between rows or ticker content items intro-time - time for item appearance exit-time - time for item hiding group-show - set of effects for item appearance group-hide - set of effects for item hiding line-intro-delay - delay between lines appearance line-exit-delay - delay between lines hiding | <ticker type='ticker-horz-3' lines='3' start-time='0.5' show-time='1.0' line-width='0.9' line-height='1.0' distance='0.2' intro-time='0.4' exit-time='0.4' group-show='right, blur-x' group-hide='left, blur-x'>
ticker-vert-XX | vertical appearance of ticker lines. XX means number of lines. | lines - number of lines start-time - time delay before content starts to flow show-time - time interval for which item is displayed line-width - relative line width line-height - relative line height distance - distance between rows or ticker content items intro-time - time for item appearance exit-time - time for item hiding group-show - set of effects for item appearance group-hide - set of effects for item hiding line-intro-delay - delay between lines appearance line-exit-delay - delay between lines hiding | <ticker type='ticker-vert-3' lines='3' start-time='0.5' show-time='1.0' line-width='0.9' line-height='1.0' distance='0.2' intro-time='0.2' exit-time='0.2' group-show='bottom, blur-y' group-hide='top, blur-y'>


Content Management
MFormats Extensions > Character Generator User Guide > Advanced items > Ticker > Content Management

You can use different types of ticker content: you can set text manually, load it from text file, load it from RSS feed and create your own tickers with images.

Any type of ticker content is loaded with TickerAddContent method:

  • C#
string tickerID = "ticker-item";
string tickerContent = "Sample Text";
string tickerAddType = "remove-all";
m_objCharGen.TickerAddContent(tickerID, tickerContent, tickerAddType);

tickerAddType may take the following values:

  • "remove-all" - clears ticker content and adds new content to the ticker
  • "remove-first" - removes only 1st item in ticker and adds new content to the end
  • empty string ("") - adds new content to the end of existed one

Also you can add "multiline" attribute to tickerAddType value (even to empty string) to make each line of your ticker content as separated ticker item.

Simple text content

Default text settings for ticker content (font, color etc.) are set in <default-text> ticker node in XML description. You can specify ticker text when you add a content. To do it you should use XML description for <text> item:

  • C#
string tickerID = "ticker-item";
string tickerContent = "<text font='Times New Roman Italic' color='Black'>Modified Sample Text</text>";
string tickerAddType = "remove-all";
m_objCharGen.TickerAddContent(tickerID, tickerContent, tickerAddType);

You can specify several <text> entries in a single content item.

Content from files

To load a file as ticker content you should use path to the file as ticker content:

  • C#
string tickerID = "ticker-item";
string tickerContent = @"c:\myTicker.txt";
string tickerAddType = "remove-all";
m_objCharGen.TickerAddContent(tickerID, tickerContent, tickerAddType);

You can format your text in the file by using <text> entries. For example, content of the file looks like:

  • Text
Sample Ticker From file
Multiline Text test
<text color='Red'>Text formatting</text>

and result looks like:

You can add images as ticker content with the same way:

  • C#
string tickerID = "ticker-item";
string tickerContent = @"c:\myPhoto.png";
string tickerAddType = "";
m_objCharGen.TickerAddContent(tickerID, tickerContent, tickerAddType);

By default the images are scaled to fill text line parameters (width or height). To specify properties of any item that is used in ticker you should get the item from ticker group. A work with groups is described in Group part.

XML structure for ticker in this case looks like:

  • XML
<cg-item group-type='ticker' id='ticker-000'>
    <graphics type='rect' color='white(120)/mll(180)'/>
    <ticker type='crawl' speed='-2.0' gapless-crawl='no' distance='1.0' line-height='1.0'>
        <background type='rect' color='white(120)/mll(180)'/>
        <default-text bold='true' size='1.0' style='uppercase'/>
        <content>
            <content-item path='C:\Users\Alexander\Downloads\TickerText.txt' track-file='yes' modification-time='0x01D0E2777A7592DF'/>
        </content>
    </ticker>
    <cg-props pos-x='0' pos-y='413' width='720' height='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
    <internal ignore-ticker='no'/>
</cg-item>

You can specify whether Character Generator updates ticker content from file when you make changes with it or not. To do it you should specify 'track-file' attribute for <content-item> node. Possible values are 'yes' and 'no'.

In file that you use as ticker source you can add images with this structure:

[[IMG_1:pathToImage]]Comments

where IMG_1 is identifier of image, so check that you use unique IDs (e.g. IMG_1, IMG_2 etc), pathToImage is path to your file, Comments are used in case of image doesn't exist.

RSS feeds

You can use RSS feeds as ticker content. RSS is set the same way as text files:

  • C#
string tickerID = "ticker-item";
string tickerContent = @"http://newsrss.bbc.co.uk/rss/sportonline_world_edition/front_page/rss.xml";
string tickerAddType = "";
m_objCharGen.TickerAddContent(tickerID, tickerContent, tickerAddType);

It takes a time to load RSS content (depends on network connection) so it is recommended to load RSS feeds before show the ticker.

Result for roll ticker looks like:

After loading a RSS XML configuration looks like:

  • XML
<cg-item group-type='ticker' id='ticker-000'>
    <graphics type='rect' color='white(120)/mll(180)'/>
    <ticker type='roll' speed='-2.0' distance='0.2' line-width='0.9'>
        <background type='rect' color='white(120)/mll(180)'/>
        <rss ttl-update='true' rewind-update='true'>
            <rss-header><image width='20%' indent='2,2,6,6' border='2' effects='shadow,3'/><block><title bg-color='white(100)' style='uppercase' color='ml'/><description style='normal' word-break='true'/></block></rss-header>
            <rss-item><image width='20%' indent='2,2,6,6' border='2' effects='shadow,3'/><block><title indent='10,2' style='uppercase' color='ml'/><description style='normal' word-break='true'/></block></rss-item>
        </rss>
        <default-text bold='true' size='1.0'/>
        <content>
            <content-item path='http://newsrss.bbc.co.uk/rss/sportonline_world_edition/front_page/rss.xml' track-file='yes'/>
        </content>
    </ticker>
    <cg-props pos-x='36' pos-y='49' width='648' height='389' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
    <internal ignore-ticker='no'/>
    <rss ttl-end='130853414296398899'/>
</cg-item>

It contains specific <rss> node that defines visual appearance of RSS items.

The head node - <rss> - contains following attributes:

  • ttl-update - indicates whether title of the RSS is updated when RSS feed is refreshed. Possible values: 'true', 'false'.
  • rewind-update - rewinds ticker on update of RSS feed. Possible values: 'true', 'false'.

Child nodes define behavior for RSS-entries - headers (<rss-header> node) and items bodies (<rss-item> node). Each of these nodes contains separated nodes for images where you can specify its position (indent, width, height) and effects (effects) and text: <title> describes items' titles appearance and <description> describes items' bodies text formatting.


Group
MFormats Extensions > Character Generator User Guide > Advanced items > Group

Group - type of item that contains a set of other items. The main parameters for group is size and position that limit child items. A group item - is common item, it might contain graphics or images or it might be empty.

Default XML description of group looks like empty item:

  • XML
<cg-item id='group-000'>
    <cg-props pos-x='179' pos-y='100' show='yes' alpha='255' bg-color='Black(0)' move-type='accel-both' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='314' height='98' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
</cg-item>

Character Generator makes items to combine into group by using group-id attribute in child items XML. Here is example of child item for group-000 group:

  • XML
<cg-item id='text-001' group-id='graphics-000' group-eos='yes'>
 <text type='text' font='Arial' font-size='28' color='White' word-break='no'>Sample Text</text>
 <cg-props scale='text-scale' align='top-left' edges-smooth='0' pos-x='0' pos-y='0' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='251' height='46' pause='no'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
</cg-item>

The main node <cg-item> contains additional attributes that define item behavior in group:

  • group-id - ID of parent item.
  • group-eos - repeat "end-of-stream" (eos) behavior of parent item. Possible values: 'yes', 'no'.

Also note that base item properties (<cg-props> node) contains <group-indent> child node. Group indent indicates how many pixels from each group borders would be indented for the item.

For example, here is group based on graphics item:

  • XML
<cg-item id='graphics-000'>
    <graphics type='rect' color='red(80)/blue(180)/green(80)'/>
    <cg-props pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='251' height='140' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
    <internal/>
</cg-item>

Create a group and add items

To create a new group you should add some item into group. To do it you should call GroupAddItem method. This method contains the following parameters:

  • _bsItemID - item identifier that you want to add to group.
  • _bAddAsReference - indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
  • _bsGroupType - type of a group. Not necessary to use at the moment - use empty string for this parameter.
  • _pbsGroupID - identifier of newly created group. It is possible to use existed item ID - it will be parent item for group's content. If you use empty string - a new empty item is created and it is used as parent for group.

Here is example of how to create a new group:

  • C#
string itemID = "text-000";
string newGroupID = "";
int isAddAsReference = 0;
string groupType = "";
m_objCharGen.GroupAddItem(itemID, isAddAsReference, groupType, ref newGroupID);

To add items to existed group you should use the same method but use existed item as group-id. In example above you should use result value of newGroupID to add other items to the same group.

Get items in group

XML description of group doesn't contain any information about what items are inside the group. To get items within a group you should firstly get information about how many items there is in the group with GroupItemsCount method:

  • C#
string groupID = "group-000";
int groupCount;
m_objCharGen.GroupItemsCount(groupID, out groupCount);

If the result is 0 - it means that you work with common item (not group). Else you can get all the items within the group by using GroupGetItem method:

  • C#
string[] groupItems;
if (groupCount > 0)
{
    groupItems = new string[groupCount];
    for (int itemIndex = 0; itemIndex < groupCount; itemIndex++)
    {
        string groupItemID;
        m_objCharGen.GroupGetItem(groupID, itemIndex, out groupItemID);
        groupItems[itemIndex] = groupItemID;
    }
}

Then you can modify any item that is inside a group.

You can also get know in what group is any item. To do it you should call GroupGetItemGroup method:

  • C#
string itemId = "text-000";
string groupId;
m_objCharGen.GroupGetItemGroup(itemId, out groupId);

Remove items from group

You can remove item from group with GroupRemoveItem method. Your item is not removed from Character Generator configuration - it just becomes ungrouped.

  • C#
string itemId = "text-000";
string groupId = "group-000";
m_objCharGen.GroupRemoveItem(groupId, itemId);

Ungroup items

You can ungroup all the items with GroupRemoveAll method. This method contains the following parameters:

  • _bsGroupID -identifier of group
  • _eRemoveType - type of removing. Possible values are listed in eCG_GroupItemsRemoveType enumeration:
    • eCGRT_RemoveOnlyGroup - remove only group item: all child items exist after this method's call
    • eCGRT_RemoveOnlyItems - remove only items: all child items are removed - the only parent item exist after this method's call
    • eCGRT_Ungroup - ungroup items - simple ungroup: all items (parent and child) exist after this method's call
  • C#
string groupId = "group-000";
eCG_GroupItemsRemoveType removeType = eCG_GroupItemsRemoveType.eCGRT_Ungroup;
m_objCharGen.GroupRemoveAll(groupId, removeType);


Composition
MFormats Extensions > Character Generator User Guide > Advanced items > Composition

Compositions is a powerful tool for easy operating a big amount of items. You can use composition for group management of items with effects for appearance and hiding.

Create new composition

You can create a new composition by adding an item to not-existing composition with CompositionsAddItems method. This method contains the following parameters:

  • _bsItemsID - ID of item that is added to composition
  • _bClearBeforeAdd - indicates whether the composition is cleared before add this item ("1") or not ("0")
  • _bsCompositionComment - comment to the composition. You can ignore the parameter and leave it empty ("").
  • _pbsCompositionName - name of the composition. If you use a name of existed composition - the item is added to existed composition. In other case a new composition is created.

In source code you should use something like this to add item "text-000" to new composition

  • C#
string itemID = "text-000";
string compositionName = "myComposition";
int clearBeforeAdd = 0;
string compositionComment = "";
myCharGen.CompositionsAddItems(itemID, clearBeforeAdd, compositionComment, ref compositionName);

You can change a name of composition in any moment with CompositionsChangeName method. This method contains the following parameters:

  • _bsCompositionName - current composition name
  • _bsNewCompositionName - new composition name
  • _bsNewCommment - new composition comment
  • C#
string currentCompositionName = "myComposition";
string newCompositionName = "newName";
string newComment = "newComment";
myCharGen.CompositionsChangeName(currentCompositionName, newCompositionName, newComment);

Items in composition

To add other items to existed composition you should use CompositionsAddItems method with existed composition name.

You can get number of items in a composition by composition ID with CompositionsGetItemsCount method:

  • C#
string compostionID = "newName";
int numberOfItems = 0;
myCharGen.CompositionsGetItemsCount(compostionID, ref numberOfItems);

Then you can get any item in the composition by item index with CompositionsGetItem method.:

  • C#
string itemID;
string itemXML;
string compostionID = "newName";
int itemIndex = 0;
m_objCharGen.CompositionsGetItem(compostionID, itemIndex, out itemID, out itemXML );

You can update existed item in composition by calling CompositionsAddItems again for this item.

To remove item from composition you should use CompositionsRemoveItem method:

  • C#
string compositionID = "newName";
string itemToRemove = "text-000";
myCharGen.CompositionsRemoveItem(compositionID, itemToRemove);

Display composition

Before display composition make sure that you have loaded it into Character Generator or you have created a new one. To display your composition you should use CompositionsDisplay method. This method contains the following parameters:

_bsCompositionName - composition identifier
_bsParamString - parameters for display. This property is reserved for future usage so you can just leave it as empty string ("").
_dblTimeIntro - time to introduce a composition - to show composition immediately set 0. Value is in seconds.
_dblShowTime - time to show composition - if you want to keep a composition on screen without time limits set 0. Value is in seconds.
_dblTimeExit - time to hide a composition - to hide it immediately set 0. Value is in seconds.

  • C#
string myCompositionID = "composition-000";
string myParameters = "";
double inTime = 0.5;
double showTime = 5.0;
double hideTime = 1.5;
myCharGen.CompositionsDisplay(myCompositionID, myParameters, inTime, showTime, hideTime);

If you want to hide a composition but don't want to wait for composition timer you can call CompositionsDisplay method with negative inTime parameter:

  • C#
// To hide composition immediately
myCharGen.CompositionsDisplay(myCompositionID, myParameters, -0.01, 0, 0);

Save and load composition

Compositions have XML structure where all the items of composition are contained. The simplest XML configuration of composition looks like:

  • XML
<cg-composition name='mynewcomposition' comment=''>
 <video-output background='Black(255)' top-video='no'>
  <input-rect left='0.000%' right='0.000%' top='0.000%' bottom='0.000%'/>
  <output-rect left='0.000%' right='0.000%' top='0.000%' bottom='0.000%'/>
 </video-output>
 <cg-items>
  <cg-item id='text-000' pos-x='0.10' pos-y='0' size-x='0.06' size-y='0.02'>
   <text>Sample Text</text>
   <cg-props scale='text-scale' align='top-left' edges-smooth='3' pos-x='202' pos-y='58' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='132' height='27' pause='no'>
    <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
    <group-indent left='0' right='0' top='0' bottom='0'/>
   </cg-props>
   <movement speed-x='1.' speed-y='0.'/>
  </cg-item>
 </cg-items>
</cg-composition>

The root node contains name of composition and a comment. There are 2 child node - video-output, that is not used anymore and cg-items, where all items of composition are listed with all configuration. So you can edit XML of your composition to make changes for its items.

You can save you composition into XML-formatted string or into XML file. To save composition to a string you should call CompositionsSaveToString method:

  • C#
string compositionID = "newName";
string compositionXML;
myCharGen.CompositionsSaveToString(compositionID, out compositionXML);

And there is CompositionsSaveToFile method to save composition to file:

  • C#
string compositionID = "newName";
string pathToSave = @"c:\CharGen\myComposition.ml-cgc";
myCharGen.CompositionsSaveToFile(compositionID, out compositionXML);

an extension ML-CGC is used only to make files easier to find later. You can use any extension to save composition. To save all compositions that are used in Character Generator you should set compositionID to empty string (""). In this case result file has this structure:

  • XML
<cg-compositions>
 <cg-composition name='composition-000'>
  ...composition content ...
 </cg-composition>
 <cg-composition name='composition-001'>
   ...composition content ...
 </cg-composition>
</cg-compositions>

To load composition from files or from XML strings you should use CompositionsLoadOne method. This method loads a single composition by its XML description or from file:

  • C#
string pathToComposition = @"c:\CharGen\myComposition.ml-cgc";
string myLoadedCompositionID;
myCharGen.CompositionsLoadOne(pathToComposition, out myLoadedCompositionID);

If your file contains several compositions you can load them all with a single call of CompositionsLoadAll method. This method contains the following parameters:

  • _bsFileNameOrXMLDescription path to file or XML description of compositions
  • _bClearBeforeLoad - indicates whether all existing composition are cleared before loading
  • C#
string pathToComposition = @"c:\CharGen\myComposition.ml-cgc";
int clearBeforeLoad = 1;
myCharGen.CompositionsLoadOne(pathToComposition, clearBeforeLoad);

Compositions management

You can get a number of compositions that are loaded into Character Generator with CompositionsGetCount method:

  • C#
int numberOfCompositions;
myCharGen.CompositionsGetCount(out numberOfCompositions);

Then you can make a loop to get all the compositions names:

  • C#
int numberOfCompositions;
myCharGen.CompositionsGetCount(out numberOfCompositions);
string[] listOfCompositions;
if (numberOfCompositions > 0)
{
    listOfCompositions = new string[numberOfCompositions];
    for (int compositionIndex = 0; compositionIndex < numberOfCompositions; compositionIndex++)
    {
        string compositionName;
        string compositionComment;
        myCharGen.CompositionsGetByIndex(compositionIndex, out compositionName, out compositionComment);
        listOfCompositions[compositionIndex] = compositionName;
    }
}

To remove a composition you should use CompositionsRemove method. For example, to remove the 1st item from listOfCompositions array:

  • C#
myCharGen.CompositionsRemove(listOfCompositions[0]);


Layers
MFormats Extensions > Character Generator User Guide > Advanced items > Composition > Layers

Layer is a subtype of group items that is made for compositions. By default XML description of layer item looks like:

  • XML
<cg-item group-type='layer' id='layer-000'>
 <layer/>
 <cg-props pos-x='0' pos-y='0' width='1920' height='1080' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' pause='no' edges-smooth='0'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
</cg-item>

To add a new layer with code you should call:

  • C#
string myLayerID = "myLayer";
string layerXML = "<layer/>";
double relativeX = 0.05;
double relativeY = 0.05;
int isRelative = 1;
int isShow = 1;
myCharGen.AddNewItem(layerXML, relativeX, relativeY, isRelative, isShow, ref myLayerID);

There is no specific parameters for layer except base. So you can manipulate with layer size, position, movement etc. More detailed information about possible base properties you can find in Common item properties part.

You can display your compositions in separated layers with CompositionsDisplayInLayer method. This method contains the following parameters:

  • _bsCompositionName - composition name to be displayed
  • _bsParamString - additional parameters (reserved for future usage) - at the moment this parameter is ignored
  • _bsLayerID - target layer ID where composition will be displayed
  • _dblTimeIntro - time to introduce a composition - to show composition immediately set 0. Value is in seconds.
  • _dblShowTime - time to show composition - if you want to keep a composition on screen without time limits set 0. Value is in seconds.
  • _dblTimeExit - time to hide a composition - to hide it immediately set 0. Value is in seconds.

A simple example for CompositionsDisplayInLayer looks like:

  • C#
string myCompositionID = "composition-000";
string myParameters = "";
string targetLayer = "layer-000";
double inTime = 0.5;
double showTime = 5.0;
double hideTime = 1.5;
myCharGen.CompositionsDisplayInLayer(myCompositionID, myParameters, targetLayer, inTime, showTime, hideTime);

With layers you can easily set Z-order for your compositions - if you display them in layers.


Effects for items in compositions
MFormats Extensions > Character Generator User Guide > Advanced items > Composition > Effects for items in compositions

You can specify effects for items behavior in composition appearance and hiding. So while composition is appearing and hiding the effects are implemented.

In items XML configuration effects are set in root cg-item node:

  • XML
<cg-item id='graphics-000' on-show='fade' on-hide='blur'>

There are 2 types of effects - 'on-show', that is implemented for in-time of composition, and 'on-hide' that is implemented while composition is hiding.

Here is a list of possible effects:

Effect type | Possible values | Description
Fade | 'fade' | shows or hides item with fade
Blur | 'blur-x' 'blur-y' 'blur' | shows or hides item with blur on X axis shows or hides item with blur on Y axis shows or hides item with blur on X and Y axes
Squeeze | 'squeeze-x' 'squeeze-y' 'squeeze' | shows or hides item with squeeze on X axis shows or hides item with squeeze on Y axis shows or hides item with squeeze on X and Y axes
Movement | 'left' 'top' 'right' 'bottom' | shows or hides item with movement from the left side shows or hides item with movement from the top side shows or hides item with movement from the right side shows or hides item with movement from the bottom side

Effects of each type are listed in on-show and on-hide attributes through commas:

  • XML
<cg-item id='graphics-000' on-show='fade, left' on-hide='blur, squeeze'>


Common item properties
MFormats Extensions > Character Generator User Guide > Common item properties

Any item in Character Generator configuration has XML description. This XML looks like:

  • XML
<Header>
    <Specific Item Properties />
    <Common Properties />
</Header>

Where Header contains item identifier, e.g. id='text-000', Specific Item Properties are unique for each item type and described in appropriate articles, and Common Properties contains properties that you can set for any item in your configuration, for example, position and size.

This part guides you through common properties of CG items, their types and ways of customization.


Base properties
MFormats Extensions > Character Generator User Guide > Common item properties > Base properties

This type of properties has each item of Character Generator configuration. These properties define basic item parameters - size, position, background etc.

Base properties are specified in <cg-props> node of item XML description:

  • XML
<cg-item id='graphics-000'>
    <graphics type='rect' round-corners='0.30' outline='3.0' color='Red(220)-Yellow(100)-Green(180)' color-angle='-45' outline-color='white'/>
    <cg-props pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='284' height='256' pause='no' edges-smooth='0'>
        <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
        <group-indent left='0' right='0' top='0' bottom='0'/>
    </cg-props>
</cg-item>

You can specify base properties for item with SetItemBaseProps method. This method contains the following parameters:

  • _bsItemID - item identifier
  • _pItemInfo - item properties that are specified with CG_ITEM_PROPS structure
  • _nMsecForChange - time interval to set properties smooth in milliseconds

Here is a table with description of structure fields and XML properties:

CG_ITEM_PROPS field | XML properties | Description | Possible values | Alternative ways to set
bPauseItem pause='no' Pauses the item (pauses movement or image sequent) or release pause state. Possible item types: flash, image sequences, crawls, rolls, tickers For structure: 0, 1
For XML: 'no', 'yes' 		PauseItem method
bShowItem show='yes' Shows or hides the item. For structure: 0, 1
For XML: 'no', 'yes' 		ShowItem or ShowItemWithDelay method
dblPixelAR pixel-ar='0.' Item pixel AR (not work for Flash items):
0 - Automated (based on screen AR or overridden props - e.g. for PAL 4:3 video the pixel AR is 1.066)
1.0 - Square pixels
2.0 - width doubled
0.5 - half of width 		For both - double value, e.g. '1.333'
eAlign align='top-left' Set item alignment For structure: listed in eCG_Align enumeration
For XML:
'top-left', 'top', 'top-right', 'left', 'center', 'right', 'bottom-left', 'bottom', 'bottom-right'
eInterlace interlace='auto' Interlacing mode (for smooth animation over interlaced video).
Note: For interlaced items flash rate ignored 		For structure: listed in eCG_Interlace enumeration
For XML:
'auto', 'top', 'bottom', 'progressive'
ePlayingMode play-mode='loop' Mode of item playback For structure: listed in eCG_PlayingMode enumeration
For XML:
'loop', 'onetime', 'onetime-hide'
eScale scale='text-scale' Type of item scaling For structure: listed in eCG_Scale enumeration
For XML:
'fit-ar', 'exact-fit', 'no-scale', 'shrink-to-fit', 'shrink-to-fit-ar', 'cover-ar', 'text-scale'
eType | Specified in separated node | Item type | For structure: listed in eCG_ItemType enumeration
nAlpha | alpha='255' | Opacity of the item | For both - integer value from 0 (transparent) to 255 (solid) | SetItemAlpha method
nBackColor bg-color='Black(0)' Background color of the item For structure: color in RGBA format 0xAABBGGRR, e.g. 0x0088AAEE
For structure: see Color settings 		SetItemBackground method
nEdgesSmooth | edges-smooth='0' | Smoothness | For both - integer value from 0 to 16
ptPos pos-x='36'
pos-y='24' 		Item position For structure: specifies in tagPOINT structure
For XML: point coordinates in pixels 		SetItemPos method
rcIndent Specified in child <indent> node:
<indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/> 		The item content (image/text/flash) indent from item borders.
Note: If item in group then the view area is decreased by indent size. 		For structure: specified in tagRECT structure
For XML: indent from each border in pixels.
use-for-bg - specifies whether the settings are implemented for background also ('yes') or not ('no')
szItem width='284'
height='256' 		Item (group) size
Special values:
szItem = (0,0) - use original size
szItem = (0,y) - set X size according to AR
szItem = (x,0) - set Y size according to AR,
szItem = (-1,-1) - (group only) update group size to cover all group items 		For structure: specified tagSIZE structure
For XML: width and height in pixels 		SetItemSize method
move-type='accel-both' Movement acceleration type. For XML:
linear - no acceleration
accel-start - acceleration for the beginning of movement
accel-stop - acceleration for stopping of movement
accel-both - both types of acceleration

With source code you can set base properties like:

  • C#
string itemID = "text-000";
int timeToSet = 50;
CG_ITEM_PROPS myProps = new CG_ITEM_PROPS();
myProps.bShowItem = 1;
myProps.nAlpha = 100;
myProps.ptPos = new tagPOINT{ x = 200, y = 150};
m_objCharGen.SetItemBaseProps(itemID, ref myProps, timeToSet);


Item movement
MFormats Extensions > Character Generator User Guide > Common item properties > Item movement

You can make your items to move vertically and horizontally. To do it you should specify item movement property.

Movement is specified in <movement> node of item XML description:

  • XML
<cg-item id='text-000'>
 <text>Sample Text</text>
 <cg-props scale='text-scale' align='top-left' edges-smooth='3' pos-x='970' pos-y='58' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='127' height='27' pause='no'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
 <movement speed-x='1.' speed-y='0.'/>
</cg-item>

Movement node contains 2 attributes: horizontal speed specified by speed-x attribute and vertical speed is specified by speed-y attribute. Values for these attributes are number of pixels for shifting (horizontal or vertical) per each frame.

You can set item movement with SetItemMovement method. This method contains the following parameters:

  • _bsItemID - item identifier
  • _pItemMove - movement parameters that are specified with CG_ITEM_MOVEMENT structure
  • C#
string myItemID = "myTextItem";
CG_ITEM_MOVEMENT myItemMovement = new CG_ITEM_MOVEMENT();
myItemMovement.dblXSpeed = 1.0;
myItemMovement.dblYSpeed = 0.7;
myCharGen.SetItemMovement(myItemID, ref myItemMovement);


Auto-Blend properties
MFormats Extensions > Character Generator User Guide > Common item properties > Auto-Blend properties

You can set repeating appearance and disappearance of required item by setting auto-blend property.

Auto-blend feature is specified in <auto-blend> node of item XML description:

  • XML
<cg-item id='text-000'>
 <text>Sample Text</text>
 <cg-props scale='text-scale' align='top-left' edges-smooth='3' pos-x='538' pos-y='58' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='127' height='27' pause='no'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
 <auto-blend start='30' ramp='30' on='30' off='60' repeat='yes' rewind='yes'/>
</cg-item>

Auto-blend node contains the following attributes:

  • start - duration in frames before blending starts
  • ramp - time period for transition from On to Off in frames
  • on - duration in frames for which the item is shown
  • off - duration in frames for which the item is hidden
  • repeat - indicates whether the behavior is repeating ('yes') or not ('no')
  • rewind - rewinds current state of item when auto-blend is set.

You can specify this behavior via code by using SetAutoBlend method. This method contains the following parameters:

  • _bsItemID - identifier of item
  • _pAutoBlend - auto-blend parameters, that are specified with CG_AUTO_BLEND structure.
  • C#
string myItemID = "myTextItem";
CG_AUTO_BLEND myAutoBlend = new CG_AUTO_BLEND();
// equals to repeat='yes'
myAutoBlend.bRepeat = 1;
// equals to rewind='yes'
myAutoBlend.bRewind = 1;
// equals to off='60'
myAutoBlend.nMsecOff = 2000;
// equals to on='30'
myAutoBlend.nMsecOn = 1000;
// equals to ramp='30'
myAutoBlend.nMsecRamp = 1000;
// equals to start='90'
myAutoBlend.nMsecStart = 3000;
//set the properties
m_objCharGen.SetAutoBlend(myItemID, ref myAutoBlend);

Values in structure automatically recalculated to frames according to frame rate of source object. In this example, source is NTSC, that returns 30 frames for 1000 milliseconds.


Item anchoring
MFormats Extensions > Character Generator User Guide > Common item properties > Item anchoring

With anchor property you can change zero point for positioning items. This property is nested in <anchor> node of item XML description:

  • XML
<cg-item id='text-000'>
 <text type='text' font='Arial' font-size='48' color='White' word-break='no'>Sample Text</text>
 <cg-props scale='text-scale' align='top-left' edges-smooth='0' pos-x='0' pos-y='0' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='514' height='80' pause='no'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
 <anchor item='auto' screen='top'/>
</cg-item>

Anchor node contains 2 attributes: item and screen.

To specify position of item on screen (where screen zero point for the item) you should set screen attribute. To set relative anchoring for your CG item (where internal zero point) you should set item attribute.

Here is illustration for different screen anchors:

To illustrate relative item anchors the item with screen='center' is used:

You can specify item anchors with SetItemAnchorPos method. This method contains the following parameters:

  • _bsItemID - identifier of item for which anchors are set
  • _eItemRelAnchor - item relative anchor. This parameter specifies 'item' attribute.
  • _eScreenRelAnchor - screen relative anchor. This parameter specifies 'screen' attribute.

Both anchor parameters in this method are values of eCG_Align enumeration.

  • C#
string myItemID = "myTextItem";
eCG_Align itemAnchor = eCG_Align.eCGA_Center;
eCG_Align screenAnchor = eCG_Align.eCGA_BottomLeft;
myCharGen.SetItemAnchorPos(myItemID, itemAnchor, screenAnchor);


Playback rate
MFormats Extensions > Character Generator User Guide > Common item properties > Playback rate

This property is important for the content that is updated per time. For example, for image sequences this property indicates how fast images will be switched.

Rate is nested in separated XML node <rate>:

  • XML
<cg-item id='image-000'>
 <img path=c:\folderWithImages\*.*'/>
 <cg-props pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='300' height='200' pause='no' edges-smooth='0'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
 <rate original='yes' speed='1.'/>
</cg-item>

Rate node contains 2 attributes: original and speed.

To keep original playback rate (for example for flash movie) you should set original attribute to 'yes'. If it is 'no' - the item is updated according to source object playback rate.

To modify speed of item refreshing you should set speed attribute. For example, to decrease frequency for image sequence you can set speed='0.1' - in this case image is updated on each 10 frame of source object. By default playback rate is 1. It means that new frame from CG item should be received on each frame from source object.

You can specify item rate from source code with SetItemRate method. This method contains the following parameters:

  • _bsItemID - identifier of item for which rate is set
  • _bOriginalRate - indicates whether original rate is used ('1') or not ('0'). This parameter manipulates original attribute.
  • _dblSpeed - item rate. This parameter manipulates speed attribute.
  • C#
string myItemID = "myImageSequence";
int useOriginalRate = 1;
double itemRate = 0.1;
myCharGen.SetItemRate(myItemID, useOriginalRate, itemRate);


Effects
MFormats Extensions > Character Generator User Guide > Common item properties > Effects

You can specify graphic effects for your items in Character Generator. Effects are nested in separated <effects> node in XML description of the item:

  • XML
<cg-item id='text-000'>
 <text type='text' font='Arial' font-size='28' color='White' word-break='no'>Sample Text</text>
 <cg-props scale='text-scale' align='top-left' edges-smooth='0' pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' width='251' height='46' pause='no'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
 <effects>
  <shadow enabled='no' blur='6' alpha='200' color='Black' offset-x='3' offset-y='3'/>
  <blur enabled='no' size-x='7' size-y='7' align='center'/>
  <glow enabled='no' size-x='8' size-y='8' value='3.45' blend='0.80'/>
  <motion-blur enabled='yes' blend='0.65' auto-speed='2.0' speed-x='2.0' speed-y='2.0'/>
 </effects>
</cg-item>

Here is a list of available effects and parameters. For greater clarity, here is a base item for which effects are implemented:

Effect | Description | Possible parameters | Example
shadow | adds shadow to the item | enabled - indicates whether effect is implemented to the item. Possible values: 'yes', 'no'. blur - blur of the shadow in pixels. alpha - opacity of shadow. Possible values: from 0 (transparent) to 255 (solid). color - color of the shadow. Possible values see Color settings. offset-x - horizontal offset of the shadow from the item in pixels. offset-y - vertical offset of the shadow from the item in pixels | <shadow enabled='yes' blur='6' alpha='200' color='Black' offset-x='3' offset-y='3'/>
blur | adds blur effect to the item | enabled - indicates whether effect is implemented to the item. Possible values: 'yes', 'no'. size-x - amount of horizontal blur in pixels size-y - amount of vertical blur in pixels align - alignment of blur center. Possible values: 'top-left', 'top', 'top-right', 'left', 'center', 'right', 'bottom-left', 'bottom', 'bottom-right' | <blur enabled='yes' size-x='7' size-y='7' align='center'/>
glow | add glow effect to the item | enabled - indicates whether effect is implemented to the item. Possible values: 'yes', 'no'. size-x - amount of horizontal glow in pixels size-y - amount of vertical glow in pixels value - radius of glow effect blend - blend level for the effect | <glow enabled='yes' size-x='8' size-y='8' value='3.45' blend='0.80'/>
motion-blur | adds additional blur effect for moving items | enabled - indicates whether effect is implemented to the item. Possible values: 'yes', 'no'. blend - blend level for the effect auto-speed - default value for motion-blurriness speed-x - horizontal speed for blurriness. If '0' - auto-speed value is used. speed-y - vertical speed for blurriness. If '0' - auto-speed value is used. | <motion-blur enabled='yes' blend='0.65' auto-speed='2.0' speed-x='2.0' speed-y='2.0'/>

There is no specific method to add or remove the effects. So the only way to manage effects is to set the properties via code:

  • C#
string myItemId = "text-000";
string propertyName = "effects::blur::enabled";
string propertyValue = "yes";
int timeForChange = 1000;
string changeType = "";
myCharGen.SetItemProperties(myItemId, propertyName, propertyValue, changeType, timeForChange);


Color settings
MFormats Extensions > Character Generator User Guide > Color settings

You can meet color settings almost for all items in Character Generator. Background settings, text color and many others - all of the settings are colors. You can use not only solid colors, but set its transparency and use gradients.

You can set color by using its name, e.g. 'Red'. But it is recommended to use HTML-like color code, like '#0EAA88':

<graphics type='rect' round-corners='0.30' outline='3.0' color='#0EAA88' outline-color='white'/>

To set transparency to the color you should set its value in brackets just after color code, e.g. '#0EAA88(100)':

You can use different types of color gradient for color management. Type of gradient depends on syntax that you use for color property:

Gradient type | Syntax structure | Example
Horizontal | Colors are separated by '-' symbol, e.g. 'color1-color2-color3' For this type you can specify color angle for gradient with color-angle property, e.g. to set angle to 30 degrees you should set color-angle='30' | color='#00FF00-#FF0000-#0000FF'
Vertical | Colors are separated by '|' symbol, e.g. 'color1|color2|color3' | color='#00FF00|#FF0000|#0000FF'
Round | Colors are separated by '*' symbol, e.g. 'color1*color2*color3' | color='#00FF00*#FF0000*#0000FF'

You can set up to 16 colors in gradient row.


Configuring properties via code
MFormats Extensions > Character Generator User Guide > Configuring properties via code

To configure item properties you can get a structure that handles item parameters, change its fields and set it to apply changes. But some types of items (graphics, for example) doesn't have appropriate structure to change items. There is a common way to change any property.

You can set any properties of any item by using SetItemProperties method. You should specify a property that you want to change in this method. Here is a description how to get correct property name:

Character Generator item has XML description. For example, rectangle graphics item has:

  • XML
<cg-item id='graphics-000'>
 <graphics type='rect' round-corners='0.5' color-angle='45' sides='7' star-inset='0.' outline='3.' outline-color='White' color='Red(220)-Yellow(100)-Green(180)'/>
 <cg-props pos-x='36' pos-y='24' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='214' height='256' pause='no' edges-smooth='0'>
  <indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
  <group-indent left='0' right='0' top='0' bottom='0'/>
 </cg-props>
</cg-item>

To change the graphics filling color you should specify color property. This property is in <graphics> XML node. So the full name of color property is 'graphics::color':

  • C#
string graphicsItemId = "myGraphicsItem";
string propertyName = "graphics::color";
string propertyValue = "Blue";
int timeForChange = 1000;
string changeType = "";
myCharGen.SetItemProperties(graphicsItemId, propertyName, propertyValue, changeType, timeForChange);

You can specify time for applying changes with timeForChange parameter. Value of this property is in milliseconds. The changes will be implemented as transition for this time. Also you can specify a delay before implement the changes. To do it you should set "wait" as changeType, for example with "wait=1000" the changes will be implemented with 1 second delay.

Here is result of above code:

If the property is deeper in XML then you should use full path from the highest XML level, except <cg-item>. For example, to change left indent property, that is in <indent> node of <cg-props>, you should use 'cg-props::indent::left' in SetItemProperties method.

So to set any property for any item you should get XML description of the item with:

  • C#
string itemID = "graphics-000";
string itemXMLconfiguration;
myCharGen.GetItemProperties(itemID, "", out itemXMLconfiguration);

find required property and set it with SetItemProperties method.


Properties page
MFormats Extensions > Character Generator User Guide > Properties page

You can easily configure your Character Generator with its properties page:

In source code you can display the window with this line of code:

  • C#
myCharGen.ShowPropertiesPage(0);

The page may be divided into 10 parts:

1. Items list.

This part contains all the items that are currently loaded into Character Generator. The table contains information about item state (Show, Pause, Loop), its position, alignment etc. You can change scale type, align, screen anchor, interlacing type by double-click on matched cells for selected item in this table. If the selected item is a group - you can get group contains by click on Enter Group button below. Also you can configure properties of item by double-click on its name. For text items it opens settings for content and for font, for tickers it opens settings for background.

2. Add items and content

Here you can add new items to your configuration: layers (Add layer button), graphics (Add Graphics button), files (that might be text files, images, flashes) (Add File button), text items (Add Text button), tickers (Add Ticker button). To remove item from configuration you should select it in Items list and click Remove button.

If you select ticker in Items list you can modify ticker content with Add Ticker Text and Add Ticker File buttons.

Add background button adds background for selected item and turns the result into a group.

Here is editors that you can face while adding new (or modifying existed) items:

  • Graphics

    Here you can specify graphics type and set all the parameters, including color and gradient fill. Also you can just modify XML description to get required result.
  • Text

    Here you can specify font settings, text content and type of text item
  • Ticker text

    Here you can set ticker text content and specify adding type. To add RSS feed you should type here URL of your RSS.

3. Compositions list

This part contains list of compositions that you can use. To display a composition you should set required types in Display Times fields (here values are in milliseconds) and click Display button. To hide composition you should select the composition and click Exit button.

To add an item to existed composition you should select the item in Items list, select target composition where you plan to add the item and click Add/Update button. If you don't select existed composition - a new one is created.

By click on Save button you saves selected composition to a file. If there is no selected compositions it saves all the compositions into file. To load compositions from file you should click Load button and select required file on open file dialog.

4. Configuration management

Here you can save (Save Config button) and load (Load Config button) your configuration. With Save Image button you can save image of selected item.

5. Effects

This part contains all the effects that you can specify for items.

On-Show and On-Hide rows contains effects for items in composition. Effects row contains items effects.

6. XML description

This part contains XML description of selected in Items list item. You can modify the XML configuration to set specific properties for the item. To update item after changes you should click on Update via XML Desc button in top-right corner of the window.

7. Item properties

This part contains common properties that can be specified for all items: its size (Width, Height fields), position (X, Y fields), opacity (Alpha), background color (Background, Background Alpha). You can specify item indent with Indent group fields and item rate (Speed field).

To implement changes you should click Apply Changes button.

You can specify any property in this part. There is Property field where you should type required property and Value field where you should type required value. To set properties click Set Props button.

8. Movement

In this part you can set horizontal (Movement X) and vertical (Movement Y) speed for selected item. To rewind item click Rewind button.

9. Auto-blend

With Auto-blend part you can set auto-blend properties for the item. Fill the fields with required parameters (values are in milliseconds) and click Set Auto-Blend button. To reset the settings you should click Reset Auto-Blend button.

10. Flash settings

This part contains fields to control flash item. Select flash item in Items list and with this part you can get list of flash variables and functions (click Lookup button to get it). Select required variable in Name list and type new value to Value or Request field. To set new value click Set button. If you select a function then to call it you should click Call button.


Scheduling
MFormats Extensions > Character Generator User Guide > Scheduling

You can schedule Character Generator behavior by using IMLCharGenSchedule interface and its methods. To schedule your configuration you should create a timeline, manage its content and start it.

Create a timeline

To create a new scheduling timeline you should call ScheduleAdd method. This method contains the following parameters:

  • _bsTimelineID - identifier of scheduling timeline. If there is no existed timeline with this ID a new one is created.
  • _bsItemOrCompositionID - identifier of item or composition that you plan to use in timeline
  • _bsParamStringOrXMLFullDesc - string with parameters or XML description that you plan to change while timeline.
  • _pTimes - item schedule time.

Scheduling time is specified in CG_SCHEDULE_TIMES structure, that has fields:

  • dblExitTime - time to reset changes when timeline is stopped
  • dblIntroTime - time to implement changes smooth while timeline is running
  • dblScheduledTime - time moment from timeline start to begin to implement changes
  • dblShowTime - minimal time interval for which item is in static state
  • nShowHide - indicates whether item is showed after timeline is over

For example, to create a new timeline in source code you should call:

  • C#
CG_SCHEDULE_TIMES myTime = new CG_SCHEDULE_TIMES();
myTime.dblScheduledTime = 5.0;
myTime.dblShowTime = 10.0;
myTime.dblExitTime = 5.0;
myTime.dblIntroTime = 5.0;
myTime.nShowHide = 1;
string newTimeLineID = "newTimeline";
string targetItemID = "text-000";
string targetItemProps = "cg-props::height='200'";
(myCharGen as IMLCharGenSchedule).ScheduleAdd(newTimeLineID, targetItemID, targetItemProps, ref myTime);

In this example, when the timeline is started text item height will be settings to 200 for 5 second after 5 second interval.

Manage timeline content

To add new entry into timeline you should use ScheduleAdd method with identifier of existed timeline. You can add as many entries as you wish for any item - you can use several scheduling actions for the same item at once.

To get number of scheduled actions you should use ScheduleGetCount method:

  • C#
int scheduledCount;
string timelineID = "newTimeline";
(m_objCharGen as IMLCharGenSchedule).ScheduleGetCount(timelineID, out scheduledCount);

To get information about the action you should use ScheduleGet method - this method returns you all the setting you set with ScheduleAdd method by index of required entry:

  • C#
int targetEntryIndex = 1;
string timelineID = "newTimeline";
CG_SCHEDULE_TIMES resultTime;
string resultID;
string resultProps;
(myCharGen as IMLCharGenSchedule).ScheduleGet(timelineID, targetEntryIndex, out resultID, out resultProps, out resultTime);

You can remove unnecessary entry by its index from the timeline with ScheduleRemove method:

  • C#
int targetEntryIndex = 1;
string timelineID = "newTimeline";
(myCharGen as IMLCharGenSchedule).ScheduleRemove(timelineID, targetEntryIndex);

Timeline playback

You can manage timeline running behavior: start it, pause, resume and stop.

To start a timeline you should call ScheduleTimelineStart method. This method contains the following parameters:

  • _bsTimelineID - identifier of scheduling timeline that you plan to start
  • _dblStartTime - time interval in seconds after which the timeline is started. To start it immediately set it to 0.
  • _dblCycleTime - time interval to repeat the timeline. To disable repeat set it to 0.
  • _bStopAllOthers - indicates whether all other timelines are stopped when this timeline is running

For example, usage of this method looks like:

  • C#
string targetTimeline = "newTimeline";
double startTime = 0.0;
double cycleTime = 0.0;
int stopOthers = 0;
(myCharGen as IMLCharGenSchedule).ScheduleTimelineStart(targetTimeline, startTime, cycleTime, stopOthers);

To pause a timeline you should call ScheduleTimelinePause method:

  • C#
string targetTimeline = "newTimeline";
(myCharGen as IMLCharGenSchedule).ScheduleTimelinePause(targetTimeline);

To resume timeline playback you should call ScheduleTimelineContinue method. With this method you can resume timeline from required time by setting seek time position:

  • C#
string targetTimeline = "newTimeline";
double seekTime = 10.0;
(myCharGen as IMLCharGenSchedule).ScheduleTimelineContinue(targetTimeline, seekTime);

And to stop timeline there is ScheduleTimelineStop method:

  • C#
string targetTimeline = "newTimeline";
(myCharGen as IMLCharGenSchedule).ScheduleTimelineStop(targetTimeline);

Multiple timelines usage

If you use several timelines you can get their count with ScheduleTimelineGetCount method:

  • C#
int timelinesCount;
(myCharGen as IMLCharGenSchedule).ScheduleTimelineGetCount(out timelinesCount);

To get identifier of required timeline you should use ScheduleTimelineGetID method - it returns you an identifier by timeline index:

  • C#
int timelineIndex = 1;
string timelineID;
(myCharGen as IMLCharGenSchedule).ScheduleTimelineGetID(timelineIndex, out timelineID);

By the identifier you can get all the entries of the timeline. You can get timeline's time parameters and its state with ScheduleTimelineGetTimes method:

  • C#
string targetTimeline = "newTimeline";
double startTime;
double cycleTime;
eCG_TimelineState timelineState;
(myCharGen as IMLCharGenSchedule).ScheduleTimelineGetTimes(targetTimeline, out startTime, out cycleTime, out timelineState);

Possible states of timeline are listed in eCG_TimelineState enumeration: paused, running and stopped.


Save and Load configuration
MFormats Extensions > Character Generator User Guide > Save and Load configuration

You can save and load your Character Generator configuration with IMLXMLPersist interface and its methods.

Save configuration

You can save configuration into local string with SaveToXMLString method. With this method you can specify whether result string is formatted with tabs or not:

  • C#
string savedConfiguration;
int isFormatted = 1;
(m_objCharGen as IMLXMLPersist).SaveToXMLString(out savedConfiguration, isFormatted);

To save the configuration into a file you should use SaveToXMLFile method. You can specify whether the file is saved as Unicode or not:

  • C#
string outputFile = @"c:\myConfig.xml";
int isUnicode = 1;
(m_objCharGen as IMLXMLPersist).SaveToXMLFile(outputFile, isUnicode);

Load configuration

You can load configuration from local file or from string with LoadFromXML method. _nLength parameter in this method is not used, so keep it 0.

  • C#
string outputFile = @"c:\myConfig.xml";
int length = 0;
(m_objCharGen as IMLXMLPersist).LoadFromXML(outputFile, length);


CG Editor
MFormats Extensions > Character Generator User Guide > CG Editor

Properties page is useful tool to configure Character Generator but it hardly can be called user-friendly tool.

To make it easier for users to create and edit Character Generator configuration there is CG Editor:

With CG Editor you can add new items the fastest way by drag-n-drop elements from Toolbox (text, images, graphics etc). All the items that are used in configuration are listed in Items list.

You can select item in Items list or by click on it in preview area. XML description of selected item is in XML description part.

All the items properties are sorted by ribbon tab, and for specific item type there are specific tabs. With these tabs you can modify your items in fast and intuitive way.

The top image illustrate WPF version of CG editor. Also there is a WInForms version:

and even a base version on Delphi:


Registry settings
MFormats Extensions > Character Generator User Guide > Registry settings

Default properties of MPlaylist are in registry: HKEY_CURRENT_USER\Software\Medialooks\MLCharGen

Name | Default value | Description
checkfile.sec | 1 | time (in seconds) for check a file for updates.
extrabuffer.mode | 1 | mode that uses extra buffers
onframeevent.maxwait | 0 | maximal time for onFrame event
onframeevent.enabled | 1 | indicates whether onFrame event is enable.
demomode | 0 | demo mode. In this mode (1) promo labels are displayed.
overlay.thread | 0 | make a CG in a separated thread. In this mode CG items don't take effect on playback and are loaded in separated thread. But in this case the CG time has a 1 frame delay.
righttoleft.default | 0 | default direction of text (0 is for left to right, 1 is for right to left).
imageseq.dynamicload | 1 | dynamically load images in sequences.
compatiblemode | 1 | compatible mode.
changeresolution.updatecg | 1 | indicates will the CG updated when you change video format.
onstart.loadprops | 1 | load properties on item start
ticker.usesharpforlinks | 1 | indicates is the "#" symbol used for links in tickers.
rss.usesharpforlinks | 1 | indicates is the "#" symbol used for links in RSS.
flash.forcerewind | 0 | Force rewind of flash items.
ticker.loopeos | 0 | Loop ticker on end of stream.
flash.forcegetframe | 1 | Force get frame for flash items
items.keep-alive | 0 | keep items alive.
items.fast-clone | 1 | fast clone items.
demopath | "" | path to demo resources.
output_rect.scaling_quality | 2 | Scaling quality for output rectangle
ticker.ignorebr | 1 | Allows ticker item to ignore <br> tags.


Performing the L-shaped items overlay
MFormats Extensions > Character Generator User Guide > Performing the L-shaped items overlay

A cool thing that you can do with a CG object is perform the L-shaped items overlay.

Using this feature you can insert advertising, "see next" and other blocks while the video is being played.

Please refer to this article for details: Performing the L-shaped items overlay using the CG in MPlatform and MFormats.


Pausing the image sequence on a certain frame
MFormats Extensions > Character Generator User Guide > Pausing the image sequence on a certain frame

A nice feature to make some cool image-based animation. For example, make the animated logo appearance - displaying - hiding. All you need to do is separate the image sequence animation playback into this steps and control the animation playback: play the intro part, pause on displaying part and then unpause to playback the hiding part.

Please refer to this article for details: Character Generator: pausing the image sequence on a certain frame.


Chroma Key
MFormats Extensions > Chroma Key

Chroma keying is a special technique for compositing (layering) two video streams together based on color hues. The technique has been used heavily in many fields to remove a background from the subject of a video – particularly the news casting, motion picture and video game industries. A color range in the top layer is made transparent, revealing another image behind. The chroma keying technique is commonly used in video production and post-production. Chroma keying can be done with backgrounds of any color that are uniform and distinct, but green and blue backgrounds are more commonly used because they differ most distinctly in hue from most human skin colors. No part of the subject being filmed or photographed may duplicate a color used in the background.


Chroma Key: Basics
MFormats Extensions > Chroma Key > Chroma Key: Basics

To use this feature with MFormats you should complete these steps:

  1. Add MChromaKeyPXT.dll as reference to your project.
  2. Create MChromaKey object and add it as a plugin to your object (file, playlist, live).
  3. Make required settings for MChromaKey object.

To initialize an instance of MChromaKey object you should call:

  • C#
MCHROMAKEYLib.MChromaKey objChromaKey = new MCHROMAKEYLib.MChromaKey();

To make any settings for the plugin you should use methods and interfaces of MChromaKeyLib namespace.

The easiest way to implement chroma keying is Auto Detect keying for frames. To do it you should call KeyDetect method:

  • C#
object pFrame;
string strConfig = "type='Auto' max_keys='1' show_blocks='true'";
objChromaKey .KeyDetect(strConfig, out pFrame);

Where strConfig contains information about detection configuration:

  • type - determines colorspace for chroma keying. Possible values: Auto, RGB, HLS, YUV
  • max_keys - maximal number of keys
  • show_blocks - indicates whether the blocks are displayed (blocks allows you to see the parts that are detected)

To disable chroma keying you just need to call KeyReset method.

In general these 2 methods are main methods for chroma keying. In most use cases it is enough to call auto detect method to get a good result. If you need more accurate settings you should use other methods.

Mixer ChromaKey sample contains FormChromaKey form. You can make accurate settings with this form:

Auto Detect button allows you to make auto detection. You can set configuration (color space, number of keys) by using the top row of controls. Click Auto Detect button to get a good result:

Power, Transparent, Color and Smooth sliders allows you to change the main settings for chroma keying.

To get access to advanced settings you should click Advanced settings:

Include Mode and Exclude Mode buttons switch selection mode. In include mode clicked points on frame will be added to chroma keying, in exclude mode these frames will be exclude from settings. Undo button allows you to step back, Redo button allows to step forward if it is possible.

All sliders changes advanced settings for your chroma keying. To apply the settings you should click Apply button.

Registry settings

All registry settings are in HKEY_CURRENT_USER\Software\Medialooks\MPlatform\MChromaKey:

Name | Default value | Description
"background" | "checker" | background for chroma keying editor.
"detect.blocks" | 48 | number of detected blocks
"detect.threshold" | 10 | sensitivity of auto detection
"detect.key_diff" | 1.0 | additional parameter for auto detection.
"detect.max_keys" | 1 | default maximal number of keys.
"output.thread" | true | indicates whether frames are returned in separated thread.
"process.threads" | 2 | number of threads for chroma keying.
"keying.borders" "" allows you to apply chromakey to some specific area: "10,15,20,25"
where
10px - left crop;
15px - top crop;
20px - right crop;
25px - bottom crop;

All the properties are possible to set with PropsSet method:

  • C#
m_pChromaKey.PropsSet("keying.borders", "10,15,20,25");


Advanced Chroma Key settings
MFormats Extensions > Chroma Key > Advanced Chroma Key settings

The meaning of chroma key is to remove some color from the image. Any image is a set of pixels that are in some specific colorspace (for example, RGB).
Colorspace can be represented as color cube:

To implement chroma key you select a point in this cube and this color is removed from image. "color" here means not just single point, but some spherical area around this point. So to set up this area means to set up a chroma key.

The input image is processed with this settings and a result mask is created. The mask is a measure of transparency for pixels of original image. If the color is into the sphere - it will be transparent. The closer pixel color to the center of the sphere the more transparent it is.

The meaning of Chroma key parameters are described below. In the examples below this image is used:

Initial settings are made automatically with Auto Detect button:

As you see green part from the image is disappeared. By design, auto-detect feature detects blue and green colors.

Basic Parameters

Power - common multiple for axis of the selected color area. The greater is radius the more color points are included into its area. And the greater part of image will be cleared.

  • Power=0.0
  • Power=0.5
  • Power=1.0

Smooth - level of result image smoothing. Each 0.1 value of this parameter uses additional cycle of smoothing. The mask is limited by outside border, then it is cropped on 1 pixel to get the area for smoothing. Then it is smoothed within this border according to Smooth value (0.9 means 9 times). And then Gaussian blur is implemented to the mask in outside direction.

  • Smooth=0.0
  • Smooth=0.5
  • Smooth=1.0

Transparent - transparency of colors. This parameter takes effect on transparency of each pixel within the spherical color area. Higher values adds transparency even on pixels which colors are not included into selected area.

  • Transparent=0.0
  • Transparent=0.5
  • Transparent=1.0

Color - common multiple for advanced color settings value. Takes effect on all these color settings at once.

  • Color=0.0
  • Color=0.5
  • Color=1.0

Advanced settings

Minimum and Maximum Transparency - limitations for transparency range. By default the transparency for each pixel is from 0 (full transparent) to 255 (solid color). By using minimal value you limit this range so if the transparency of pixel is lower than Minimal Transparency it is calculated as 0. And vice versa - if the transparency of pixel is higher than Maximal Transparency it is calculated as 255.
These settings are used to make chroma keying more accurate.

  • Minimal=0.0 Maximal=1.0
  • Minimal=0.25 Maximal=0.75
  • Minimal=0.4 Maximal=0.6

Exclude - you can exclude extra area from the selected one. It contains Power and Transparency parameters that have the same meaning as basic parameters.

Power - contains values of selected area for each color axis (RGB, HLS, YUV). The total area is calculated as (basicPower*rPower, basicPower*gPower, basicPower*bPower). By modifying these parameters you change the keying area in specified line.

Colors - operates colors on border between image and background. You should set non-zero value for basic Color setting so these parameters take effect. In example below color = 0.2.

Range - the size of border area.

  • Range=0.0
  • Range=0.5
  • Range=1.0

Power - amount of color that is subtracted on border area. To high value may increase color accent, to low value may make border blue

  • Colors Power=-1.0
  • Colors Power=0.0
  • Colors Power=1.0

Chroma - chromaticity of the border.

  • Chroma=-1.0
  • Chroma=0.0
  • Chroma=1.0

Luma - brightness of the border.

  • Luma=-1.0
  • Luma=0.0
  • Luma=1.0

Alpha - additional border transparency. This property is temporary disabled.


Getting a good result with Chroma Key Form
MFormats Extensions > Chroma Key > Getting a good result with Chroma Key Form

You can get an acceptable result with Auto detect feature in Chroma Key. But sometimes you need to make manual settings. So here is a common description of what things you can do to get a better result with Chroma Key Form:

Add a new point to keying color sphere

You can click on the background part to add a new point to keying area:

If target video contains several colors that you want to exclude you should increase Key value. This value indicates how many independent points in color sphere you can manage. Note please that points are independent but they have the same settings.

Repeat the action to remove blue part almost completely.

As you see there is a border around the target image. To make accurate and more sharp border you can modify Minimum and Maximum Transparency properties in Advanced settings:

If the border is still not good enough (blue border around the hair):

you can smooth it with Smooth setting. To increase a power of Chroma key you need to increase Power value. Then the you can modify it with advanced Colors settings. Set base Color to non-zero value and make required settings for Colors:

And here is an example of how it looks on color bars background:


Configuring Chroma Key with code
MFormats Extensions > Chroma Key > Configuring Chroma Key with code

Main object to configure Chroma Key is MChromaKey. It operates all the keys that you use for your image.

  • C#
MChromaKey myChromaKey = new MChromaKey();

Each key is managed by MKey object. You can get a key settings from MChromaKey object with KeyGet method:

  • C#
MKey myKey;
myChromaKey.KeyGet(null, out myKey, "");

Input parameters for this method are recommended to keep like in the example above.

And when you can apply your changes with KeySet method:

  • C#
myChromaKey.KeySet(myKey);

All the internal operations are made with MKey object.

Add area for keying

You can detect required area automatically with KeyDetect method:

  • C#
object keyFrame;
string configuration = "type='RGB' max_keys='1' show_blocks='false'";
m_pKey.KeyDetect(configuration , out keyFrame);

where configuration contains required properties for detection. type is a colorspace to work with (possible values are 'RGB', 'HLS', 'YUV' and 'auto'), max_keys is maximal number of cycles for detection, show_blocks shows a square blocks around the keyed area while calculated.

To add a point from image to the settings you should use KeyAddPoint method:

  • C#
object resultFrame;
int targetX = 50;
int targetY = 30;
string configuration = "type='RGB' max_keys='1'";
myKey.KeyAddPoint(targetX, targetY, configuration, out resultFrame);

You can use KeyExcludePoint to exclude a point from settings:

  • C#
object resultFrame;
int targetX = 50;
int targetY = 30;
string configuration = "type='RGB' max_keys='1'";
myKey.KeyExcludePoint(targetX, targetY, configuration, out resultFrame);

You can also add a rectangle to keying area with KeyAddRect method:

  • C#
object resultFrame;
int targeLeft = 50;
int targetTop = 30;
int targetRight = 120;
int targetBotom = 70;
string configuration = "type='RGB' max_keys='1'";
myKey.KeyAddRect(targeLeft, targetTop, targetRight, targetBotom, configuration, out resultFrame);

Adjust settings

You can get and set adjust settings with KeyAdjustGet and KeyAdjustSet methods. In both these methods you should set required type of setting as first parameter, for example, to get minimal transparency you should call:

  • C#
eCK_Adjust settingType = eCK_Adjust.eCKA_MinTransparent;
double settingValue;
myKey.KeyAdjustGet(settingType, out settingValue);

And to set base power you should call:

  • C#
eCK_Adjust settingType = eCK_Adjust.eCKA_Power;
double settingValue = 0.7;
object resultFrame;
myKey..KeyAdjustSet(settingType, settingValue, out resultFrame);

All the settings are listed in eCK_Adjust enumeration. Detailed description of each setting is in Advanced Chroma Key settings article.

Undo and Redo operations

You can cancel previous settings with KeyStepBack method:

  • C#
int numberOfBackSteps = 2;
object resultFrame;
myKey.KeyStepBack(numberOfBackSteps, out resultFrame);

And redo the actions with KeyStepFwd method:

  • C#
int numberOfFwdSteps = 1;
object resultFrame;
myKey.KeyStepFwd(numberOfFwdSteps, out resultFrame)

Save and load settings

To save and load chroma key setting you should use IMPersist interface methods. You can save your configuration in XML format to string or to local file, for example:

  • C#
string pathToFile = @"c:\myChromaKeySettings.xml";
myChromaKey.PersistSaveToFile("", pathToSave, "");

and then on next use of chroma key feature you can load previous settings with:

  • C#
string pathToFile = @"c:\myChromaKeySettings.xml";
myChromaKey.PersistLoad("", pathToSave, "");

Get a result frame

You can get a result frame object with KeyFrameGet method. This method returns you a result frame after chroma key operation and a frame that is used for background:

  • C#
object resultFrame;
object backgroundFrame;
myKey.KeyFrameGet(out resultFrame, out backgroundFrame);

Processing logic

MLChromaKey plugin works in a separated thread with default setting ('output.thread=1'). In this case the plugin contains a single frame as processed. So the process looks like:

  1. First frame is received by the plugin
  2. It starts to process.
  3. On output it sends nothing (null-object)
  4. As soon as it receives the second frame to process it returns the previous frame
  5. So there is delay in 1 frame between input and output frames.
  6. To get the last frame from the plugin you should send to its input null-object with ProcessFrame method.


Delaying stream (MDelay)
MFormats Extensions > Delaying stream (MDelay)

MDelay object delays the incoming stream (from live sources, network streams and files). For example, you can preview a video event from the live source after the event took place without recording it to file with MDelay.

Here are the Mdelay object main features:

Delaying the stream for a preceise number of frames.

Specify the desired delay and be sure that it is frame accurate at any moment.

Check the mdelay.time property description for details.

Adjustable compression quality.

Set desired compression quality to get the balance between picture quality and CPU utilization with internal MJPEG encoder or uncompressed for losless result.

Check the mdelay.quality property description for details.

Possibility to use HDD or RAM to store of delay buffer.

Use RAM for fast access to the buffer or capture to HDD for a long period buffering.

Check the mdelay.buffer_duration property description for details.

Changing the video format on the fly.

You can change the format of your live stream at any moment without having to reinitialize the MDelay object.

Possibility to append video to the existing delay buffer.

Use a single buffer for the whole session and make a cuts on the fly by stopping the delay process.

Check the mdelay.reset_on_open and mdelay.delete_on_close properties description for details.

Possibility to playback video from the delay buffer.

Playback your buffer during delay process, or after it's finalization and extract data whenever you need it. Just paly the *.sbe file like any other video file using MFReader object.

Check the mdelay.buffer_path property description for details.

The usage of MDelay object is very simple. To create an instance of the object you should call:

  • C#
MDelay myDelayPlugin = new MDelay();

You can configure parameters of delaying with PropsSet method for myDelayPlugin object. For example, to set a duration of delay to 10 seconds you should call:

  • C#
myDelayPlugin.PropsSet("mdelay.time", "10");

Here is a list of properties that you can use to configure delaying:

Name | Default value | Description
mdelay.time | 0.0 | Delay duration. If duration is greater then in buffer then the first frame is used until the delay time is not over. If delay is 0 then you get real-time output.
mdelay.quality 80 Quality of video. Maximal value is 100, minimal is 1. If quality is 0 then you get uncompressed video.
The better the quality the higher CPU and hard disk usage. If video is uncompressed then CPU usage is minimal but hard disc should be fast and has enough free space(we recommend SSD for HD video).
mdelay.sync_time | 120 | minimal step for the web cam video. When the frame rate is not stable, some of the frames might be dropped. To avoid such dropping increase this parameter. Default setting of 120 ms provides miniscule dropping.
mdelay.split_progressive | true | to speed up the encoding for the progressive video each frame is split in two half-frames by the fields and is encoded separately. Possible values are "true" and "false".
mdelay.buffer_path c:\MDelay\Live.sbe

a path to the buffer file. Please note that you can playback this file using MFreader object just like any other file to extract the buffered data.

In case of capturing to HDD the file will contain the full size dalay stream data.

In case of capture to RAM it will have a 0 size but still can be played with MFreader to extract the buffered data from RAM.

mdelay.buffer_duration | 3600 | duration of the buffer stored on HDD in seconds. In case of 0 value, the buffer will be written only to RAM.
mdelay.buffer_size_mem | 100M | buffer size in RAM in bytes. Values can be written in their short form: 100M 1G 1T 1K.
mdelay.reset_on_open true

Reset the buffer on delay process start flag.

Possible values:

"true" - the old delay data will be erased frm the buffer, so it will contain only the new one.

"false" - the old delay data will be kept in the buffer, so you'll be able to playback it. Use this value if you need keep the buffered data for further playback and data extraction

mdelay.delete_on_close false

Erase the delay buffer at the end of delay process flag.

Possible values:

"true" - the delay data will be erased from the buffer after closing the MDelay object.

"false" - the delay data will be kept in the buffer after closing the MDelay object. Use this value if you need keep the buffer for further playback and data extraction.

When the object is configured you can use it to make a delay:

  • C#
int framesRest;
MFFrame modifiedFrame;
((IMFProcess)myDelayPlugin).ProcessFrame(sourceFrame, out modifiedFrame, out framesRest, "");

Then you can use the modified frame according to your requirements. For example, show it on preview:

  • C#
((IMFReceiver)myPreview).ReceiverFramePut(modifiedFrame, -1, "");


Display Closed Captions on frames
MFormats Extensions > Display Closed Captions on frames

MCCDisplay is a special plugin that makes it possible to use the Closed Captions lib together with MFormats SDK. The plugin receives ANC data from the incoming frame and creates a new frame with closed captions overlay. The frame created by the plugin can be used to preview the captions.

Common way to use MCCDisplay plugin

Initialize instance of the plugin object:

  • C#
MCCDisplay myClosedCaptionsPlugin = new MCCDisplay();

Grab a frame from source:

  • C#
 MFFrame sourceFrame;
 mySource.SourceFrameGet(-1, out myFrame, "");

Create a modified frame with the plugin:

  • C#
int framesRest;
MFFrame modifiedFrame;
((IMFProcess)myClosedCaptionsPlugin ).ProcessFrame(sourceFrame, out modifiedFrame, out framesRest, "");

Show the modified frame on preview:

  • C#
((IMFReceiver)myPreview).ReceiverFramePut(modifiedFrame, -1, "");


DXGI/DX11 ScreenCapture
MFormats Extensions > DXGI/DX11 ScreenCapture

You can capture your screen with DXGI/DX11 ScreenCapture device. You can use if like MFLive object as video source.

By default it uses DXGI or DirectX11 GPU-powered mode that makes a good quality without any affect on CPU utilization. If DXGI and DirectX11 are not supported on your machine, it works in software mode - screen is captured by using CPU.

Here is a list of properties for ScreenCapture device in MFormats SDK:

Name | Default value | Description
timecode.print | true | Prints timecode overlay on captured video. Possible values: true, false.
capture.show_mouse | true | Displays mouse pointer on captured video. Possible values: true, false.
capture.show_clicks | true | Animates mouse clicks. Possible values: true, false.
capture.focus_change_speed | 0.2 | Operates smooth shifting of focused window.
capture.force_software | false | Force use of software more. Possible values: true, false.
capture.highlight_mouse | true | Highlights mouse pointer on captured video. Possible values: true, false.
capture.show_keypresses | true | Displays keys that are pressed while capturing. Possible values: true, false.
capture.keypress_text_size | 1 | Sets size of keys' text. The value is measured in relative units: 1 unit = 1/24 of screen height.
capture.background_color | Black(170) | Sets background color.
capture.area | "" | Sets capture area of screen. Value in pixels: left,top,right,bottom.
capture.following_mode | none | Sets behavior of capturing. Possible values: none - don't change the source rectangle; active_wnd - follow the active window; cursor - follow mouse pointer
capture.follow_window_by_handle | none | Sets window handle for encoding, e.g. 0x11079a
capture.screen_edges | all | Sets behavior on screen edges. Possible values: all - don't change behavior (in this case there is black areas on the edges of screen when you move a poiter there) scale - stretch captured video to fill a frame size stick_to_fisible - use only possible area of a screen
capture.aspect_ratio | stretch | Sets aspect ratio modes. Possible values: stretch - stretches the captured rectangle to fill a frame size expand - keep original aspect ratio of source rectangle
capture.audio_device | "" | Sets audio source for captured video.


How To

This section contains frequently asked questions and solutions for common problems and requests.


Get the audio data for the VU meter
How To > Get the audio data for the VU meter

Each MFrame object contains the data for the CU meter displaying.

Please refer to this article for details: Extracting the audio data for VU meter level display.


Make the L-shape items overlay with CG
How To > Make the L-shape items overlay with CG

Making the L-shape items overlay is pretty easy with Character Generator extension.

Please refer to this article for details: Performing the L-shaped items overlay using the CG in MPlatform and MFormats.


Pause CG image sequence on a certain frame
How To > Pause CG image sequence on a certain frame

A nice feature to make some cool image-based animation. For example, make the animated logo appearance - displaying - hiding. All you need to do is separate the image sequence animation playback into this steps and control the animation playback: play the intro part, pause on displaying part and then unpause to playback the hiding part.

Please refer to this article for details: Character Generator: pausing the image sequence on a certain frame.


Tricky use cases

This part contains description for tricky use cases with MFormats SDK.


WPF preview
Tricky use cases > WPF preview

To configure a MFPreview object to preview video on a target control you need to set a handle of this control with PreviewWindowSet method. But WPF controls don't have handles. The only way to use MFPreview object to preview video in WPF is to host WinForms control into WPF application.

But you can use MFPreview object only for audio preview and make your own preview.

For example, you can use Image (WPF) control that will receive our frames. This control has a Source property where you can place graphic data. So, you should create an object that can be used as a Source for the Image control. BitmapSource object fulfils this requirements.

You can get video data from a MFFrame object, create a BitmapSource and set it as a Source for this Image control.

Getting data from a source frame:

  • C#
// get a frame from a file
MFFrame sourceFrame;
myReader.SourceFrameGet(-1, out sourceFrame, "");
// make a local copy of source frame where there is only video data
MFFrame clonedFrame;
sourceFrame.MFClone(out clonedFrame, eMFrameClone.eMFC_Video, eMFCC.eMFCC_RGB32);
// get media properties of the local frame
M_AV_PROPS avProps;
int audioSamples;
clonedFrame.MFAVPropsGet(out avProps, out audioSamples);
// get access to frame's data in the memory
int frameDataSize;
long frameVideoPointer;
clonedFrame.MFVideoGetBytes(out frameDataSize, out frameVideoPointer);

Create a new BitmapSource:

  • C#
int frameWidth = avProps.vidProps.nWidth;
int frameHeight = Math.Abs(avProps.vidProps.nHeight);
int frameRowBytes = avProps.vidProps.nRowBytes;
PixelFormats framePixelFormat = PixelFormats.Bgr32;
IntPtr framePointer = new IntPtr(frameVideoPointer);
BitmapSource source = BitmapSource.Create(frameWidth, frameHeight, 96, 96, framePixelFormat, null, framePointer, frameDataSize, frameRowBytes);

Setting Source property for Image control:

  • C#
PreviewImage.Source = source;

Release frames

To avoid memory leakage in .Net based application you should release the frames from memory with:

  • C#
Marshal.ReleaseComObject(clonedFrame);
Marshal.ReleaseComObject(sourceFrame);

Audio preview

As for audio, you should use MFPreview object. Just initialize this object and enable audio for it.

  • C#
MFPreview myPreview = new MFPreview();
myPreview.PreviewEnable("", 1, 0);

Once you get a frame (sourceFrame from the example above) you can use it with myPreview object:

  • C#
myPreview.ReceiverFramePut(sourceFrame, -1, "");

You can join audio and video paths to make a complex preview: use the same MFFrame object to get video data, set the Source for the Image control and send this MFFrame to the MFPreview object.


.Net-based application and memory leakage
Tricky use cases > .Net-based application and memory leakage

Automatic garbage collection is a great tool in .Net-world. But sometimes it doesn't detect that application memory is growing. For example, if you use a full HD video or even 4K the memory may increase very fast. So you need to release MFFrame objects from memory.

In .Net-based application you should call System.Runtime.InteropServices.Marshal.ReleaseComObject method:

  • C#
System.Runtime.InteropServices.Marshal.ReleaseComObject(sourceFrame);

You should release each frame after you have finished all the operations with it. For example, you get a MFFrame object from a source, you modify it and use it for preview and for encoding. When all the actions are completed you should release this MFFrame object with above line.


Components Namespaces

This part contains all components namespaces that you can use with MFormats SDK.


MCCDisplayLib Namespace
Inheritance Hierarchy
Classes
 | Class | Description
Class | MCCDisplayClass |
Interfaces
 | Interface | Description
Interface | IMCCDisplay |
Interface | IMProps |
Interface | MCCDisplay |
Enumerations
 | Enumeration | Description
Enumeration | eMInfoType |
See Also

Reference

MCCDisplayLib Assembly


%%ItemTitle%% $$INHERITANCE_HIERARCHY$$

MCCDisplayLib Namespace Inheritance Hierarchy
Inheritance Hierarchy
System.Object
System.MarshalByRefObject
System.__ComObject
MCCDisplayLib.MCCDisplayClass
See Also

Reference

MCCDisplayLib Assembly


%%PageItemTitle%%

MCCDisplayClass Class
Members

MCCDisplayLib Namespace : MCCDisplayClass Class
See Also

Reference

MCCDisplayClass Members
MCCDisplayLib Namespace


%%PageItemTitle%% $$Members$$

MCCDisplayClass Class Members
Methods

MCCDisplayLib Namespace : MCCDisplayClass Class

The following tables list the members exposed by MCCDisplayClass.

Public Methods
 | Name | Description
Public Method | PropsGet |
Public Method | PropsGetByIndex |
Public Method | PropsGetCount |
Public Method | PropsInfoGet |
Public Method | PropsOptionGetByIndex |
Public Method | PropsOptionGetCount |
Public Method | PropsOptionSetByIndex |
Public Method | PropsRemove |
Public Method | PropsSet |
Top
See Also

Reference

MCCDisplayClass Class
MCCDisplayLib Namespace


%%PageItemTitle%% $$Methods$$

MCCDisplayClass Class Methods

MCCDisplayLib Namespace : MCCDisplayClass Class

For a list of all members of this type, see MCCDisplayClass members.

Public Methods
 | Name | Description
Public Method | PropsGet |
Public Method | PropsGetByIndex |
Public Method | PropsGetCount |
Public Method | PropsInfoGet |
Public Method | PropsOptionGetByIndex |
Public Method | PropsOptionGetCount |
Public Method | PropsOptionSetByIndex |
Public Method | PropsRemove |
Public Method | PropsSet |
Top
See Also

Reference

MCCDisplayClass Class
MCCDisplayLib Namespace


PropsGet Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

_pbsPropValue

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsGetByIndex Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

_nIndex

_pbsPropName

_pbsPropValue

_pbNode

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsGetCount Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

_pnCount

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsInfoGet Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsInfoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

_eType

_pbsInfo

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsOptionGetByIndex Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsOptionGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOption As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOption,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOption,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_nOptionIdx

_pbsOption

_pbsHelp

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsOptionGetCount Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsOptionGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

_pnOptionCount

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsOptionSetByIndex Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsOptionSetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

_nOptionInx

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsRemove Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsRemove Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


PropsSet Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : PropsSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

_bsPropValue

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


%%PageItemTitle%%

eMInfoType Enumeration

MCCDisplayLib Namespace : eMInfoType Enumeration
Members
Member | Description
eMIT_Default |
eMIT_Help |
eMIT_Max |
eMIT_Min |
eMIT_Node |
eMIT_Type |
eMIT_Values |
See Also

Reference

MCCDisplayLib Namespace


%%PageItemTitle%%

IMCCDisplay Interface
Members

MCCDisplayLib Namespace : IMCCDisplay Interface
See Also

Reference

IMCCDisplay Members
MCCDisplayLib Namespace


%%PageItemTitle%% $$Members$$

IMCCDisplay Interface Members

MCCDisplayLib Namespace : IMCCDisplay Interface

The following tables list the members exposed by IMCCDisplay.

See Also

Reference

IMCCDisplay Interface
MCCDisplayLib Namespace


%%PageItemTitle%%

IMProps Interface
Members

MCCDisplayLib Namespace : IMProps Interface
See Also

Reference

IMProps Members
MCCDisplayLib Namespace


%%PageItemTitle%% $$Members$$

IMProps Interface Members
Methods

MCCDisplayLib Namespace : IMProps Interface

The following tables list the members exposed by IMProps.

Public Methods
 | Name | Description
Method | PropsGet |
Method | PropsGetByIndex |
Method | PropsGetCount |
Method | PropsInfoGet |
Method | PropsOptionGetByIndex |
Method | PropsOptionGetCount |
Method | PropsOptionSetByIndex |
Method | PropsRemove |
Method | PropsSet |
Top
See Also

Reference

IMProps Interface
MCCDisplayLib Namespace


%%PageItemTitle%% $$Methods$$

IMProps Interface Methods

MCCDisplayLib Namespace : IMProps Interface

For a list of all members of this type, see IMProps members.

Public Methods
 | Name | Description
Method | PropsGet |
Method | PropsGetByIndex |
Method | PropsGetCount |
Method | PropsInfoGet |
Method | PropsOptionGetByIndex |
Method | PropsOptionGetCount |
Method | PropsOptionSetByIndex |
Method | PropsRemove |
Method | PropsSet |
Top
See Also

Reference

IMProps Interface
MCCDisplayLib Namespace


PropsGet Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

_pbsPropValue

See Also
Reference
IMProps Interface

IMProps Members


PropsGetByIndex Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

_nIndex

_pbsPropName

_pbsPropValue

_pbNode

See Also
Reference
IMProps Interface

IMProps Members


PropsGetCount Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

_pnCount

See Also
Reference
IMProps Interface

IMProps Members


PropsInfoGet Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsInfoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

_eType

_pbsInfo

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGetByIndex Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsOptionGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOption As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOption,
   out System.string _pbsHelp
)

void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOption,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_nOptionIdx

_pbsOption

_pbsHelp

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGetCount Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsOptionGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

_pnOptionCount

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionSetByIndex Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsOptionSetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

_nOptionInx

See Also
Reference
IMProps Interface

IMProps Members


PropsRemove Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsRemove Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

void PropsRemove(
   System.string _bsPropName
)

void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

See Also
Reference
IMProps Interface

IMProps Members


PropsSet Method (IMProps)

MCCDisplayLib Namespace > IMProps Interface : PropsSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

_bsPropValue

See Also
Reference
IMProps Interface

IMProps Members


%%PageItemTitle%%

MCCDisplay Interface
Members

MCCDisplayLib Namespace : MCCDisplay Interface
See Also

Reference

MCCDisplay Members
MCCDisplayLib Namespace


%%PageItemTitle%% $$Members$$

MCCDisplay Interface Members

MCCDisplayLib Namespace : MCCDisplay Interface

The following tables list the members exposed by MCCDisplay.

See Also

Reference

MCCDisplay Interface
MCCDisplayLib Namespace


MCHROMAKEYLib Namespace
Inheritance Hierarchy
Contains all classes, interfaces, enumerations and structures of Chroma keying
Classes
 | Class | Description
Class | MChromaKeyClass | Operates chroma keying
Class | MKeyClass | Operates key adjust object
Interfaces
 | Interface | Description
Interface | IMChromaKey | Operates chroma keys
Interface | IMFrame | Operates a single frame
Interface | IMKey | Operates key adjust
Interface | IMPersist | Configures the save and load configuration
Interface | IMPlugin | Operates media within plugin (for internal usage)
Interface | IMProps | Gets or sets properties
Structures
 | Structure | Description
Structure | CHROMA_KEY_RAW | Chroma key structure
Structure | CK_ADJUST | Chroma Key adjust parameters
Structure | CK_COLOR_ADJUST | Color adjust parameters
Structure | CK_RANGE_ADJUST | Range adjust parameters
Structure | SINGLE_KEY | Single chroma key definition structure
Structure | tagRECT | Contains information about rectangular around item
Enumerations
 | Enumeration | Description
Enumeration | eCK_Adjust | Chroma key adjust type enumeration
Enumeration | eCK_Type | Chroma key type enumeration
Enumeration | eMInfoType | Enumerates information type
Remarks

See Also

Reference

MCHROMAKEYLib Assembly


%%ItemTitle%% $$INHERITANCE_HIERARCHY$$

MCHROMAKEYLib Namespace Inheritance Hierarchy
Inheritance Hierarchy
System.Object
System.MarshalByRefObject
System.__ComObject
MCHROMAKEYLib.MChromaKeyClass
MCHROMAKEYLib.MKeyClass
System.ValueType
MCHROMAKEYLib.CHROMA_KEY_RAW
MCHROMAKEYLib.CK_ADJUST
MCHROMAKEYLib.CK_COLOR_ADJUST
MCHROMAKEYLib.CK_RANGE_ADJUST
MCHROMAKEYLib.SINGLE_KEY
MCHROMAKEYLib.tagRECT
See Also

Reference

MCHROMAKEYLib Assembly


%%PageItemTitle%%

MChromaKeyClass Class
Members

MCHROMAKEYLib Namespace : MChromaKeyClass Class
Operates chroma keying
See Also

Reference

MChromaKeyClass Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

MChromaKeyClass Class Members
Methods

MCHROMAKEYLib Namespace : MChromaKeyClass Class

The following tables list the members exposed by MChromaKeyClass.

Public Methods
 | Name | Description
Public Method | KeyGet | Get key value object. Use last input frame or user-specified key, for specify background image use _bsProps = 'background='path''."
Public Method | KeyRawGet | Gets ChromaKey structure
Public Method | KeyRawSet | Set chroma-key via structure
Public Method | KeySet | Set chroma-key value structure
Public Method | OnMediaEnd | Appears when media is over
Public Method | OnMediaFlush | Appears when media is flushed
Public Method | OnMediaReceive | Appears when media is received
Public Method | PersistLoad | Loads the data from string or from file
Public Method | PersistSaveToFile | Saves the configuration data to the file
Public Method | PersistSaveToString | Saves the configuration data to string
Public Method | PropsGet | Gets the properties
Public Method | PropsGetByIndex | Gets the property by its index
Public Method | PropsGetCount | Gets the count of properties
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes the property
Public Method | PropsSet | Sets the property
Top
See Also

Reference

MChromaKeyClass Class
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

MChromaKeyClass Class Methods

MCHROMAKEYLib Namespace : MChromaKeyClass Class

For a list of all members of this type, see MChromaKeyClass members.

Public Methods
 | Name | Description
Public Method | KeyGet | Get key value object. Use last input frame or user-specified key, for specify background image use _bsProps = 'background='path''."
Public Method | KeyRawGet | Gets ChromaKey structure
Public Method | KeyRawSet | Set chroma-key via structure
Public Method | KeySet | Set chroma-key value structure
Public Method | OnMediaEnd | Appears when media is over
Public Method | OnMediaFlush | Appears when media is flushed
Public Method | OnMediaReceive | Appears when media is received
Public Method | PersistLoad | Loads the data from string or from file
Public Method | PersistSaveToFile | Saves the configuration data to the file
Public Method | PersistSaveToString | Saves the configuration data to string
Public Method | PropsGet | Gets the properties
Public Method | PropsGetByIndex | Gets the property by its index
Public Method | PropsGetCount | Gets the count of properties
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes the property
Public Method | PropsSet | Sets the property
Top
See Also

Reference

MChromaKeyClass Class
MCHROMAKEYLib Namespace


KeyGet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : KeyGet Method
MFrame object for key adjust or NULL
Chroma Key object
additional properties ("'background")
Get key value object.
Use last input frame or user-specified key, for specify background image use _bsProps = 'background='path''."
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyGet( _
   ByVal _pMFrameForAdjustOrNull As System.Object, _
   ByRef _ppKeyObject As MKey, _
   ByVal _bsProps As System.String _
)

public virtual void KeyGet(
   System.object _pMFrameForAdjustOrNull,
   out MKey _ppKeyObject,
   System.string _bsProps
)

public:
virtual void KeyGet(
   System.Object^ _pMFrameForAdjustOrNull,
   [Out] MKey^ _ppKeyObject,
   System.String^ _bsProps
)

Parameters
_pMFrameForAdjustOrNull

MFrame object for key adjust or NULL
_ppKeyObject

Chroma Key object
_bsProps

additional properties ("'background")

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


KeyRawGet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : KeyRawGet Method
Chroma key structure
Gets ChromaKey structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyRawGet( _
   ByRef _pvmKey As CHROMA_KEY_RAW _
)

public virtual void KeyRawGet(
   out CHROMA_KEY_RAW _pvmKey
)

public:
virtual void KeyRawGet(
   [Out] CHROMA_KEY_RAW _pvmKey
)

Parameters
_pvmKey

Chroma key structure

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


KeyRawSet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : KeyRawSet Method
Chroma key structure
Set chroma-key via structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyRawSet( _
   ByRef _pvmKey As CHROMA_KEY_RAW _
)

public virtual void KeyRawSet(
   ref CHROMA_KEY_RAW _pvmKey
)

public:
virtual void KeyRawSet(
   CHROMA_KEY_RAW% _pvmKey
)

Parameters
_pvmKey

Chroma key structure

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


KeySet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : KeySet Method
Chroma Key value structure
Set chroma-key value structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeySet( _
   ByVal _pKeyObject As MKey _
)

public virtual void KeySet(
   MKey _pKeyObject
)

public:
virtual void KeySet(
   MKey^ _pKeyObject
)

Parameters
_pKeyObject

Chroma Key value structure

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


OnMediaEnd Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : OnMediaEnd Method
sender of media
flags
Appears when media is over
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub OnMediaEnd( _
   ByVal _llCallbackUserData As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

public virtual void OnMediaEnd(
   System.long _llCallbackUserData,
   System.object _pSender,
   System.uint _dwFlags
)

public:
virtual void OnMediaEnd(
   System.int64 _llCallbackUserData,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackUserData

_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


OnMediaFlush Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : OnMediaFlush Method
sender of media
flags
Appears when media is flushed
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub OnMediaFlush( _
   ByVal _llCallbackUserData As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

public virtual void OnMediaFlush(
   System.long _llCallbackUserData,
   System.object _pSender,
   System.uint _dwFlags
)

public:
virtual void OnMediaFlush(
   System.int64 _llCallbackUserData,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackUserData

_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


OnMediaReceive Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : OnMediaReceive Method
sender of media
input frame
output frame
Appears when media is received
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub OnMediaReceive( _
   ByVal _llCallbackUserData As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _pFrame As IMFrame, _
   ByRef _ppFrameRes As IMFrame _
)

public virtual void OnMediaReceive(
   System.long _llCallbackUserData,
   System.object _pSender,
   IMFrame _pFrame,
   out IMFrame _ppFrameRes
)

public:
virtual void OnMediaReceive(
   System.int64 _llCallbackUserData,
   System.Object^ _pSender,
   IMFrame^ _pFrame,
   [Out] IMFrame^ _ppFrameRes
)

Parameters
_llCallbackUserData

_pSender

sender of media
_pFrame

input frame
_ppFrameRes

output frame

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PersistLoad Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PersistLoad Method
name of the loading object (usually, "")
source string or full path of file to be loaded
parameters of loading
Loads the data from string or from file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PersistLoad( _
   ByVal _bsObject As System.String, _
   ByVal _bsXMLDescOrFile As System.String, _
   ByVal _bsLoadParam As System.String _
)

public virtual void PersistLoad(
   System.string _bsObject,
   System.string _bsXMLDescOrFile,
   System.string _bsLoadParam
)

public:
virtual void PersistLoad(
   System.String^ _bsObject,
   System.String^ _bsXMLDescOrFile,
   System.String^ _bsLoadParam
)

Parameters
_bsObject

name of the loading object (usually, "")
_bsXMLDescOrFile

source string or full path of file to be loaded
_bsLoadParam

parameters of loading

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PersistSaveToFile Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PersistSaveToFile Method
name of the saving object
full file path for saving
parameters of saving
Saves the configuration data to the file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PersistSaveToFile( _
   ByVal _bsObject As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _bsSaveParam As System.String _
)

public virtual void PersistSaveToFile(
   System.string _bsObject,
   System.string _bsFileName,
   System.string _bsSaveParam
)

public:
virtual void PersistSaveToFile(
   System.String^ _bsObject,
   System.String^ _bsFileName,
   System.String^ _bsSaveParam
)

Parameters
_bsObject

name of the saving object
_bsFileName

full file path for saving
_bsSaveParam

parameters of saving

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PersistSaveToString Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PersistSaveToString Method
name of saving object
output string with data
parameters of saving
Saves the configuration data to string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PersistSaveToString( _
   ByVal _bsObject As System.String, _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _bsSaveParam As System.String _
)

public virtual void PersistSaveToString(
   System.string _bsObject,
   out System.string _pbsXMLDesc,
   System.string _bsSaveParam
)

public:
virtual void PersistSaveToString(
   System.String^ _bsObject,
   [Out] System.String^ _pbsXMLDesc,
   System.String^ _bsSaveParam
)

Parameters
_bsObject

name of saving object
_pbsXMLDesc

output string with data
_bsSaveParam

parameters of saving

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsGet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsGet Method
property name
property value
Gets the properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property name
_pbsPropValue

property value

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsGetByIndex Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsGetByIndex Method
property node
index in current node
property name
property value
indicates whether it node or not
Gets the property by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

property node
_nIndex

index in current node
_pbsPropName

property name
_pbsPropValue

property value
_pbNode

indicates whether it node or not

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsGetCount Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsGetCount Method
node name
count of properties in selected node
Gets the count of properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

node name
_pnCount

count of properties in selected node

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsInfoGet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsOptionGet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsOptionGetByIndex Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsOptionGetCount Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsOptionSetByIndex Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsRemove Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsRemove Method
property name
Removes the property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property name

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


PropsSet Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : PropsSet Method
property name
property value
Sets the property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property name
_bsPropValue

property value

Example

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


%%PageItemTitle%%

MKeyClass Class
Members

MCHROMAKEYLib Namespace : MKeyClass Class
Operates key adjust object
See Also

Reference

MKeyClass Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

MKeyClass Class Members
Methods

MCHROMAKEYLib Namespace : MKeyClass Class

The following tables list the members exposed by MKeyClass.

Public Methods
 | Name | Description
Public Method | KeyAddPoint | Add point to key
Public Method | KeyAddRect | Add rectangle to key
Public Method | KeyAdjustGet | Get keying ajust propeties
Public Method | KeyAdjustSet | Set adjust keying properties
Public Method | KeyDetect | Auto detect key
Public Method | KeyExcludePoint | Exclude point from key
Public Method | KeyFrameGet | Get frame for key detection and background
Public Method | KeyFrameSet | Set frame for key detection and/or background
Public Method | KeyRawGet | Get chroma-key structure
Public Method | KeyRawSet | Set chroma-key via structure
Public Method | KeyReset | Reset key
Public Method | KeyStepBack | Cancel last adjustment steps
Public Method | KeyStepFwd | Apply last adjustment steps (after step forward)
Public Method | PersistLoad | Loads the data from string or from file
Public Method | PersistSaveToFile | Saves the configuration data to the file
Public Method | PersistSaveToString | Saves the configuration data to string
Public Method | PropsGet | Gets the properties
Public Method | PropsGetByIndex | Gets the property by its index
Public Method | PropsGetCount | Gets the count of properties
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes the property
Public Method | PropsSet | Sets the property
Top
See Also

Reference

MKeyClass Class
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

MKeyClass Class Methods

MCHROMAKEYLib Namespace : MKeyClass Class

For a list of all members of this type, see MKeyClass members.

Public Methods
 | Name | Description
Public Method | KeyAddPoint | Add point to key
Public Method | KeyAddRect | Add rectangle to key
Public Method | KeyAdjustGet | Get keying ajust propeties
Public Method | KeyAdjustSet | Set adjust keying properties
Public Method | KeyDetect | Auto detect key
Public Method | KeyExcludePoint | Exclude point from key
Public Method | KeyFrameGet | Get frame for key detection and background
Public Method | KeyFrameSet | Set frame for key detection and/or background
Public Method | KeyRawGet | Get chroma-key structure
Public Method | KeyRawSet | Set chroma-key via structure
Public Method | KeyReset | Reset key
Public Method | KeyStepBack | Cancel last adjustment steps
Public Method | KeyStepFwd | Apply last adjustment steps (after step forward)
Public Method | PersistLoad | Loads the data from string or from file
Public Method | PersistSaveToFile | Saves the configuration data to the file
Public Method | PersistSaveToString | Saves the configuration data to string
Public Method | PropsGet | Gets the properties
Public Method | PropsGetByIndex | Gets the property by its index
Public Method | PropsGetCount | Gets the count of properties
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes the property
Public Method | PropsSet | Sets the property
Top
See Also

Reference

MKeyClass Class
MCHROMAKEYLib Namespace


KeyAddPoint Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyAddPoint Method
horizontal position of pixel
vertical position of pixel
additional properties
output frame
Add point to key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyAddPoint( _
   ByVal _nXPosPixels As System.Integer, _
   ByVal _nYPosPixels As System.Integer, _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyAddPoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.string _bsProps,
   out System.object _ppMFrameRes
)

public:
virtual void KeyAddPoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nXPosPixels

horizontal position of pixel
_nYPosPixels

vertical position of pixel
_bsProps

additional properties
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyAddRect Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyAddRect Method
horizontal position of 1st point
vertical position of 1st point
horizontal position of 2nd point
vertical position of 2nd point
additional properties
output frame
Add rectangle to key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyAddRect( _
   ByVal _nX1PosPixels As System.Integer, _
   ByVal _nY1PosPixels As System.Integer, _
   ByVal _nX2PosPixels As System.Integer, _
   ByVal _nY2PosPixels As System.Integer, _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyAddRect(
   System.int _nX1PosPixels,
   System.int _nY1PosPixels,
   System.int _nX2PosPixels,
   System.int _nY2PosPixels,
   System.string _bsProps,
   out System.object _ppMFrameRes
)

public:
virtual void KeyAddRect(
   System.int _nX1PosPixels,
   System.int _nY1PosPixels,
   System.int _nX2PosPixels,
   System.int _nY2PosPixels,
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nX1PosPixels

horizontal position of 1st point
_nY1PosPixels

vertical position of 1st point
_nX2PosPixels

horizontal position of 2nd point
_nY2PosPixels

vertical position of 2nd point
_bsProps

additional properties
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyAdjustGet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyAdjustGet Method
adjust type
value of selected parameter
Get keying ajust propeties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyAdjustGet( _
   ByVal _eAdjust As eCK_Adjust, _
   ByRef _pdblValue As System.Double _
)

public virtual void KeyAdjustGet(
   eCK_Adjust _eAdjust,
   out System.double _pdblValue
)

public:
virtual void KeyAdjustGet(
   eCK_Adjust _eAdjust,
   [Out] System.double _pdblValue
)

Parameters
_eAdjust

adjust type
_pdblValue

value of selected parameter

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyAdjustSet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyAdjustSet Method
adjust type
value of selected parameter
output frame
Set adjust keying properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyAdjustSet( _
   ByVal _eAdjust As eCK_Adjust, _
   ByVal _dblValue As System.Double, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyAdjustSet(
   eCK_Adjust _eAdjust,
   System.double _dblValue,
   out System.object _ppMFrameRes
)

public:
virtual void KeyAdjustSet(
   eCK_Adjust _eAdjust,
   System.double _dblValue,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_eAdjust

adjust type
_dblValue

value of selected parameter
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyDetect Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyDetect Method
additional properties ("type", "max_keys" etc.). Read Chroma keying for more infomation
output frame
Auto detect key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyDetect( _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyDetect(
   System.string _bsProps,
   out System.object _ppMFrameRes
)

public:
virtual void KeyDetect(
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_bsProps

additional properties ("type", "max_keys" etc.). Read Chroma keying for more infomation
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyExcludePoint Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyExcludePoint Method
horizontal position of point
vertical position of point
additional properties
output frame
Exclude point from key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyExcludePoint( _
   ByVal _nXPosPixels As System.Integer, _
   ByVal _nYPosPixels As System.Integer, _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyExcludePoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.string _bsProps,
   out System.object _ppMFrameRes
)

public:
virtual void KeyExcludePoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nXPosPixels

horizontal position of point
_nYPosPixels

vertical position of point
_bsProps

additional properties
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyFrameGet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyFrameGet Method
output frame
background frame
Get frame for key detection and background
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyFrameGet( _
   ByRef _ppMFrameRes As System.Object, _
   ByRef _ppMFrameBG As System.Object _
)

public virtual void KeyFrameGet(
   out System.object _ppMFrameRes,
   out System.object _ppMFrameBG
)

public:
virtual void KeyFrameGet(
   [Out] System.Object^ _ppMFrameRes,
   [Out] System.Object^ _ppMFrameBG
)

Parameters
_ppMFrameRes

output frame
_ppMFrameBG

background frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyFrameSet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyFrameSet Method
input frame for detection
background frame
Set frame for key detection and/or background
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyFrameSet( _
   ByVal _pMFrameKeyingOrNull As System.Object, _
   ByVal _pMFrameBGOrNull As System.Object _
)

public virtual void KeyFrameSet(
   System.object _pMFrameKeyingOrNull,
   System.object _pMFrameBGOrNull
)

public:
virtual void KeyFrameSet(
   System.Object^ _pMFrameKeyingOrNull,
   System.Object^ _pMFrameBGOrNull
)

Parameters
_pMFrameKeyingOrNull

input frame for detection
_pMFrameBGOrNull

background frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyRawGet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyRawGet Method
chroma key structure
chroma key adjust
Get chroma-key structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyRawGet( _
   ByRef _pvmKey As CHROMA_KEY_RAW, _
   ByRef _pKeyAdjust As CK_ADJUST _
)

public virtual void KeyRawGet(
   out CHROMA_KEY_RAW _pvmKey,
   out CK_ADJUST _pKeyAdjust
)

public:
virtual void KeyRawGet(
   [Out] CHROMA_KEY_RAW _pvmKey,
   [Out] CK_ADJUST _pKeyAdjust
)

Parameters
_pvmKey

chroma key structure
_pKeyAdjust

chroma key adjust

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyRawSet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyRawSet Method
chroma key structure
chroma key adjust
Set chroma-key via structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyRawSet( _
   ByRef _pvmKey As CHROMA_KEY_RAW, _
   ByRef _pKeyAdjust As CK_ADJUST _
)

public virtual void KeyRawSet(
   ref CHROMA_KEY_RAW _pvmKey,
   ref CK_ADJUST _pKeyAdjust
)

public:
virtual void KeyRawSet(
   CHROMA_KEY_RAW% _pvmKey,
   CK_ADJUST% _pKeyAdjust
)

Parameters
_pvmKey

chroma key structure
_pKeyAdjust

chroma key adjust

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyReset Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyReset Method
output frame
Reset key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyReset( _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyReset(
   out System.object _ppMFrameRes
)

public:
virtual void KeyReset(
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyStepBack Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyStepBack Method
number of steps
output frame
Cancel last adjustment steps
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyStepBack( _
   ByVal _nSteps As System.Integer, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyStepBack(
   System.int _nSteps,
   out System.object _ppMFrameRes
)

public:
virtual void KeyStepBack(
   System.int _nSteps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nSteps

number of steps
_ppMFrameRes

output frame

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


KeyStepFwd Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : KeyStepFwd Method
number of steps
Apply last adjustment steps (after step forward)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub KeyStepFwd( _
   ByVal _nSteps As System.Integer, _
   ByRef _ppMFrameRes As System.Object _
)

public virtual void KeyStepFwd(
   System.int _nSteps,
   out System.object _ppMFrameRes
)

public:
virtual void KeyStepFwd(
   System.int _nSteps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nSteps

number of steps
_ppMFrameRes

Remarks

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PersistLoad Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PersistLoad Method
name of the loading object (usually, "")
source string or full path of file to be loaded
parameters of loading
Loads the data from string or from file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PersistLoad( _
   ByVal _bsObject As System.String, _
   ByVal _bsXMLDescOrFile As System.String, _
   ByVal _bsLoadParam As System.String _
)

public virtual void PersistLoad(
   System.string _bsObject,
   System.string _bsXMLDescOrFile,
   System.string _bsLoadParam
)

public:
virtual void PersistLoad(
   System.String^ _bsObject,
   System.String^ _bsXMLDescOrFile,
   System.String^ _bsLoadParam
)

Parameters
_bsObject

name of the loading object (usually, "")
_bsXMLDescOrFile

source string or full path of file to be loaded
_bsLoadParam

parameters of loading

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PersistSaveToFile Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PersistSaveToFile Method
name of the saving object
full file path for saving
parameters of saving
Saves the configuration data to the file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PersistSaveToFile( _
   ByVal _bsObject As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _bsSaveParam As System.String _
)

public virtual void PersistSaveToFile(
   System.string _bsObject,
   System.string _bsFileName,
   System.string _bsSaveParam
)

public:
virtual void PersistSaveToFile(
   System.String^ _bsObject,
   System.String^ _bsFileName,
   System.String^ _bsSaveParam
)

Parameters
_bsObject

name of the saving object
_bsFileName

full file path for saving
_bsSaveParam

parameters of saving

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PersistSaveToString Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PersistSaveToString Method
name of saving object
output string with data
parameters of saving
Saves the configuration data to string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PersistSaveToString( _
   ByVal _bsObject As System.String, _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _bsSaveParam As System.String _
)

public virtual void PersistSaveToString(
   System.string _bsObject,
   out System.string _pbsXMLDesc,
   System.string _bsSaveParam
)

public:
virtual void PersistSaveToString(
   System.String^ _bsObject,
   [Out] System.String^ _pbsXMLDesc,
   System.String^ _bsSaveParam
)

Parameters
_bsObject

name of saving object
_pbsXMLDesc

output string with data
_bsSaveParam

parameters of saving

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsGet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsGet Method
property name
property value
Gets the properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property name
_pbsPropValue

property value

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsGetByIndex Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsGetByIndex Method
property node
index in current node
property name
property value
indicates whether it node or not
Gets the property by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

property node
_nIndex

index in current node
_pbsPropName

property name
_pbsPropValue

property value
_pbNode

indicates whether it node or not

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsGetCount Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsGetCount Method
node name
count of properties in selected node
Gets the count of properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

node name
_pnCount

count of properties in selected node

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsInfoGet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsOptionGet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsOptionGetByIndex Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsOptionGetCount Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsOptionSetByIndex Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsRemove Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsRemove Method
property name
Removes the property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property name

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


PropsSet Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : PropsSet Method
property name
property value
Sets the property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property name
_bsPropValue

property value

Example

See Also
Reference
MKeyClass Class

MKeyClass Members


%%PageItemTitle%%

eCK_Adjust Enumeration

MCHROMAKEYLib Namespace : eCK_Adjust Enumeration
Chroma key adjust type enumeration
Members
Member | Description
eCKA_Colors | Colors
eCKA_Colors_Alpha | Colors Alpha
eCKA_Colors_Chroma | Colors Chroma
eCKA_Colors_Luma | Colors Luma
eCKA_Colors_Power | Colors Power
eCKA_Colors_Range | Colors Range
eCKA_ExcludePower | Exclude Power
eCKA_ExcludeTransparent | Exclude Transparency
eCKA_KeyType | High-level adjust type (RGB, HLS, YUV)
eCKA_MaxTransparent | Maximal Transparency
eCKA_MinTransparent | Minimal Transparency
eCKA_Power | Power
eCKA_Power_B_S_V | Power for B (S, V) component
eCKA_Power_G_L_U | Power for G (L, U) component
eCKA_Power_R_H_Y | Power for R (H, Y) component
eCKA_Smooth | Smooth
eCKA_Transparent | Transparent
See Also

Reference

MCHROMAKEYLib Namespace


%%PageItemTitle%%

eCK_Type Enumeration

MCHROMAKEYLib Namespace : eCK_Type Enumeration
Chroma key type enumeration
Members
Member | Description
eCKT_Alpha | Alpha channel for ARGB32, none for other
eCKT_Auto | Auto color key - for auto detection
eCKT_HLS |
eCKT_None | None color key
eCKT_RGB | RGB color key
eCKT_YUV | YUV color key
See Also

Reference

MCHROMAKEYLib Namespace


%%PageItemTitle%%

eMInfoType Enumeration

MCHROMAKEYLib Namespace : eMInfoType Enumeration
Enumerates information type
Members
Member | Description
eMIT_Default | default information
eMIT_Help | help string
eMIT_Max | maximal value
eMIT_Min | minimal value
eMIT_Node | node info
eMIT_Type | type of property
eMIT_Values | possible values
See Also

Reference

MCHROMAKEYLib Namespace


%%PageItemTitle%%

CHROMA_KEY_RAW Structure
Members

MCHROMAKEYLib Namespace : CHROMA_KEY_RAW Structure
Chroma key structure
See Also

Reference

CHROMA_KEY_RAW Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

CHROMA_KEY_RAW Structure Members
Fields

MCHROMAKEYLib Namespace : CHROMA_KEY_RAW Structure

The following tables list the members exposed by CHROMA_KEY_RAW.

Public Fields
 | Name | Description
Public Field | arrKeys | The array of color-keys
Public Field | bColorCancel |
Public Field | eType | Color-key type
Public Field | nEdgesSmooth | Smooth edges (0-255)
Public Field | nInterlacedVideo | The interlaced video flag: -1 - Auto, 0 - Progressive, 1 - Interlaced,
Public Field | nInverseKey | For inverse key (0 - Usual, 1 - Inverse only key, 2 - Inverse anti-spill, 3 - Inverse key & anti-spill)
Public Field | nKeysUsed | Number of color-keys
Public Field | nMaxTransparent | The maximum values for smoothness range - for increase solid areas all alpha values greater this value become 100% solid Recommended value is 255
Public Field | nMinTransparent | The minimum values for transparency range - for avoid very low transparency all values less this value become 100% transparent Recommended value is 128
Top
See Also

Reference

CHROMA_KEY_RAW Structure
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Fields$$

CHROMA_KEY_RAW Structure Fields

MCHROMAKEYLib Namespace : CHROMA_KEY_RAW Structure

For a list of all members of this type, see CHROMA_KEY_RAW members.

Public Fields
 | Name | Description
Public Field | arrKeys | The array of color-keys
Public Field | bColorCancel |
Public Field | eType | Color-key type
Public Field | nEdgesSmooth | Smooth edges (0-255)
Public Field | nInterlacedVideo | The interlaced video flag: -1 - Auto, 0 - Progressive, 1 - Interlaced,
Public Field | nInverseKey | For inverse key (0 - Usual, 1 - Inverse only key, 2 - Inverse anti-spill, 3 - Inverse key & anti-spill)
Public Field | nKeysUsed | Number of color-keys
Public Field | nMaxTransparent | The maximum values for smoothness range - for increase solid areas all alpha values greater this value become 100% solid Recommended value is 255
Public Field | nMinTransparent | The minimum values for transparency range - for avoid very low transparency all values less this value become 100% transparent Recommended value is 128
Top
See Also

Reference

CHROMA_KEY_RAW Structure
MCHROMAKEYLib Namespace


arrKeys Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : arrKeys Field
The array of color-keys
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrKeys As SINGLE_KEY()

public SINGLE_KEY[] arrKeys

public:
array<SINGLE_KEY>^ arrKeys

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


bColorCancel Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : bColorCancel Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bColorCancel As System.Integer

public System.int bColorCancel

public:
System.int bColorCancel

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


eType Field (CHROMA_KEY_RAW)

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : eType Field
Color-key type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eType As eCK_Type

public eCK_Type eType

public:
eCK_Type eType

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


nEdgesSmooth Field (CHROMA_KEY_RAW)

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : nEdgesSmooth Field
Smooth edges (0-255)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nEdgesSmooth As System.Integer

public System.int nEdgesSmooth

public:
System.int nEdgesSmooth

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


nInterlacedVideo Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : nInterlacedVideo Field
The interlaced video flag:
-1 - Auto, 0 - Progressive, 1 - Interlaced,
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nInterlacedVideo As System.Integer

public System.int nInterlacedVideo

public:
System.int nInterlacedVideo

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


nInverseKey Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : nInverseKey Field
For inverse key (0 - Usual, 1 - Inverse only key, 2 - Inverse anti-spill, 3 - Inverse key & anti-spill)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nInverseKey As System.Integer

public System.int nInverseKey

public:
System.int nInverseKey

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


nKeysUsed Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : nKeysUsed Field
Number of color-keys
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nKeysUsed As System.Integer

public System.int nKeysUsed

public:
System.int nKeysUsed

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


nMaxTransparent Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : nMaxTransparent Field
The maximum values for smoothness range - for increase solid areas all alpha values greater this value become 100% solid
Recommended value is 255
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMaxTransparent As System.Integer

public System.int nMaxTransparent

public:
System.int nMaxTransparent

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


nMinTransparent Field

MCHROMAKEYLib Namespace > CHROMA_KEY_RAW Structure : nMinTransparent Field
The minimum values for transparency range - for avoid very low transparency all values less this value become 100% transparent
Recommended value is 128
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMinTransparent As System.Integer

public System.int nMinTransparent

public:
System.int nMinTransparent

Remarks

See Also
Reference
CHROMA_KEY_RAW Structure

CHROMA_KEY_RAW Members


%%PageItemTitle%%

CK_ADJUST Structure
Members

MCHROMAKEYLib Namespace : CK_ADJUST Structure
Chroma Key adjust parameters
See Also

Reference

CK_ADJUST Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

CK_ADJUST Structure Members
Fields

MCHROMAKEYLib Namespace : CK_ADJUST Structure

The following tables list the members exposed by CK_ADJUST.

Public Fields
 | Name | Description
Public Field | colAdjust | Color adjust parameters
Public Field | dblColors |
Public Field | dblExclPower | Excluded power of anti-spill correction
Public Field | dblExclTransparent | Excluded transparency
Public Field | dblMaxTransparent | Maximal transparency
Public Field | dblMinTransparent | Minimal transparency
Public Field | dblPower | Power of anti-spill correction
Public Field | dblSmooth | Smooth
Public Field | dblTransparent | Current transparency
Public Field | rangeAdjust | Range
Top
See Also

Reference

CK_ADJUST Structure
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Fields$$

CK_ADJUST Structure Fields

MCHROMAKEYLib Namespace : CK_ADJUST Structure

For a list of all members of this type, see CK_ADJUST members.

Public Fields
 | Name | Description
Public Field | colAdjust | Color adjust parameters
Public Field | dblColors |
Public Field | dblExclPower | Excluded power of anti-spill correction
Public Field | dblExclTransparent | Excluded transparency
Public Field | dblMaxTransparent | Maximal transparency
Public Field | dblMinTransparent | Minimal transparency
Public Field | dblPower | Power of anti-spill correction
Public Field | dblSmooth | Smooth
Public Field | dblTransparent | Current transparency
Public Field | rangeAdjust | Range
Top
See Also

Reference

CK_ADJUST Structure
MCHROMAKEYLib Namespace


colAdjust Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : colAdjust Field
Color adjust parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public colAdjust As CK_COLOR_ADJUST

public CK_COLOR_ADJUST colAdjust

public:
CK_COLOR_ADJUST colAdjust

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblColors Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblColors Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblColors As System.Double

public System.double dblColors

public:
System.double dblColors

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblExclPower Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblExclPower Field
Excluded power of anti-spill correction
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblExclPower As System.Double

public System.double dblExclPower

public:
System.double dblExclPower

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblExclTransparent Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblExclTransparent Field
Excluded transparency
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblExclTransparent As System.Double

public System.double dblExclTransparent

public:
System.double dblExclTransparent

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblMaxTransparent Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblMaxTransparent Field
Maximal transparency
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblMaxTransparent As System.Double

public System.double dblMaxTransparent

public:
System.double dblMaxTransparent

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblMinTransparent Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblMinTransparent Field
Minimal transparency
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblMinTransparent As System.Double

public System.double dblMinTransparent

public:
System.double dblMinTransparent

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblPower Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblPower Field
Power of anti-spill correction
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblPower As System.Double

public System.double dblPower

public:
System.double dblPower

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblSmooth Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblSmooth Field
Smooth
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblSmooth As System.Double

public System.double dblSmooth

public:
System.double dblSmooth

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


dblTransparent Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : dblTransparent Field
Current transparency
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblTransparent As System.Double

public System.double dblTransparent

public:
System.double dblTransparent

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


rangeAdjust Field

MCHROMAKEYLib Namespace > CK_ADJUST Structure : rangeAdjust Field
Range
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public rangeAdjust As CK_RANGE_ADJUST

public CK_RANGE_ADJUST rangeAdjust

public:
CK_RANGE_ADJUST rangeAdjust

Remarks

See Also
Reference
CK_ADJUST Structure

CK_ADJUST Members


%%PageItemTitle%%

CK_COLOR_ADJUST Structure
Members

MCHROMAKEYLib Namespace : CK_COLOR_ADJUST Structure
Color adjust parameters
See Also

Reference

CK_COLOR_ADJUST Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

CK_COLOR_ADJUST Structure Members
Fields

MCHROMAKEYLib Namespace : CK_COLOR_ADJUST Structure

The following tables list the members exposed by CK_COLOR_ADJUST.

Public Fields
 | Name | Description
Public Field | dblCancelAlpha | Cancel alpha (transparency)
Public Field | dblCancelChroma | Cancel chroma
Public Field | dblCancelLuma | Cancel luma
Public Field | dblCancelPower | Power of anti-spill correction
Public Field | dblCancelRange | The range for anti-spill correction (only for anti-spill correction)
Top
See Also

Reference

CK_COLOR_ADJUST Structure
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Fields$$

CK_COLOR_ADJUST Structure Fields

MCHROMAKEYLib Namespace : CK_COLOR_ADJUST Structure

For a list of all members of this type, see CK_COLOR_ADJUST members.

Public Fields
 | Name | Description
Public Field | dblCancelAlpha | Cancel alpha (transparency)
Public Field | dblCancelChroma | Cancel chroma
Public Field | dblCancelLuma | Cancel luma
Public Field | dblCancelPower | Power of anti-spill correction
Public Field | dblCancelRange | The range for anti-spill correction (only for anti-spill correction)
Top
See Also

Reference

CK_COLOR_ADJUST Structure
MCHROMAKEYLib Namespace


dblCancelAlpha Field

MCHROMAKEYLib Namespace > CK_COLOR_ADJUST Structure : dblCancelAlpha Field
Cancel alpha (transparency)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblCancelAlpha As System.Double

public System.double dblCancelAlpha

public:
System.double dblCancelAlpha

See Also
Reference
CK_COLOR_ADJUST Structure

CK_COLOR_ADJUST Members


dblCancelChroma Field

MCHROMAKEYLib Namespace > CK_COLOR_ADJUST Structure : dblCancelChroma Field
Cancel chroma
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblCancelChroma As System.Double

public System.double dblCancelChroma

public:
System.double dblCancelChroma

See Also
Reference
CK_COLOR_ADJUST Structure

CK_COLOR_ADJUST Members


dblCancelLuma Field

MCHROMAKEYLib Namespace > CK_COLOR_ADJUST Structure : dblCancelLuma Field
Cancel luma
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblCancelLuma As System.Double

public System.double dblCancelLuma

public:
System.double dblCancelLuma

See Also
Reference
CK_COLOR_ADJUST Structure

CK_COLOR_ADJUST Members


dblCancelPower Field

MCHROMAKEYLib Namespace > CK_COLOR_ADJUST Structure : dblCancelPower Field
Power of anti-spill correction
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblCancelPower As System.Double

public System.double dblCancelPower

public:
System.double dblCancelPower

See Also
Reference
CK_COLOR_ADJUST Structure

CK_COLOR_ADJUST Members


dblCancelRange Field

MCHROMAKEYLib Namespace > CK_COLOR_ADJUST Structure : dblCancelRange Field
The range for anti-spill correction (only for anti-spill correction)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblCancelRange As System.Double

public System.double dblCancelRange

public:
System.double dblCancelRange

See Also
Reference
CK_COLOR_ADJUST Structure

CK_COLOR_ADJUST Members


%%PageItemTitle%%

CK_RANGE_ADJUST Structure
Members

MCHROMAKEYLib Namespace : CK_RANGE_ADJUST Structure
Range adjust parameters
See Also

Reference

CK_RANGE_ADJUST Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

CK_RANGE_ADJUST Structure Members
Fields

MCHROMAKEYLib Namespace : CK_RANGE_ADJUST Structure

The following tables list the members exposed by CK_RANGE_ADJUST.

Public Fields
 | Name | Description
Public Field | dblRangeB_S_V | Range for B (S, V) component
Public Field | dblRangeG_L_U | Range for G (L, U) component
Public Field | dblRangeR_H_Y | Range for R (H, Y) component
Top
See Also

Reference

CK_RANGE_ADJUST Structure
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Fields$$

CK_RANGE_ADJUST Structure Fields

MCHROMAKEYLib Namespace : CK_RANGE_ADJUST Structure

For a list of all members of this type, see CK_RANGE_ADJUST members.

Public Fields
 | Name | Description
Public Field | dblRangeB_S_V | Range for B (S, V) component
Public Field | dblRangeG_L_U | Range for G (L, U) component
Public Field | dblRangeR_H_Y | Range for R (H, Y) component
Top
See Also

Reference

CK_RANGE_ADJUST Structure
MCHROMAKEYLib Namespace


dblRangeB_S_V Field

MCHROMAKEYLib Namespace > CK_RANGE_ADJUST Structure : dblRangeB_S_V Field
Range for B (S, V) component
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblRangeB_S_V As System.Double

public System.double dblRangeB_S_V

public:
System.double dblRangeB_S_V

See Also
Reference
CK_RANGE_ADJUST Structure

CK_RANGE_ADJUST Members


dblRangeG_L_U Field

MCHROMAKEYLib Namespace > CK_RANGE_ADJUST Structure : dblRangeG_L_U Field
Range for G (L, U) component
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblRangeG_L_U As System.Double

public System.double dblRangeG_L_U

public:
System.double dblRangeG_L_U

See Also
Reference
CK_RANGE_ADJUST Structure

CK_RANGE_ADJUST Members


dblRangeR_H_Y Field

MCHROMAKEYLib Namespace > CK_RANGE_ADJUST Structure : dblRangeR_H_Y Field
Range for R (H, Y) component
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblRangeR_H_Y As System.Double

public System.double dblRangeR_H_Y

public:
System.double dblRangeR_H_Y

See Also
Reference
CK_RANGE_ADJUST Structure

CK_RANGE_ADJUST Members


%%PageItemTitle%%

SINGLE_KEY Structure
Members

MCHROMAKEYLib Namespace : SINGLE_KEY Structure
Single chroma key definition structure
See Also

Reference

SINGLE_KEY Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

SINGLE_KEY Structure Members
Fields

MCHROMAKEYLib Namespace : SINGLE_KEY Structure

The following tables list the members exposed by SINGLE_KEY.

Public Fields
 | Name | Description
Public Field | nAlpha | The transparency for color
Public Field | nCancelAlpha | Cancel alpha values
Public Field | nCancelChroma | Cancel chroma values
Public Field | nCancelLuma | Cancel luma values
Public Field | nCancelPower | Power of anti-spill correction
Public Field | nCancelRange | The range for anti-spill correction
Public Field | nDelta | The tolerance value (for each component)
Public Field | nReverseKey | Reverse key flag 0/1 (for exclude points)
Public Field | nSmoothRange | The additional value for delta (scalar value)
Public Field | nValue | The center value - RGB(R,G,B) or RGB(H,L,S)
Top
See Also

Reference

SINGLE_KEY Structure
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Fields$$

SINGLE_KEY Structure Fields

MCHROMAKEYLib Namespace : SINGLE_KEY Structure

For a list of all members of this type, see SINGLE_KEY members.

Public Fields
 | Name | Description
Public Field | nAlpha | The transparency for color
Public Field | nCancelAlpha | Cancel alpha values
Public Field | nCancelChroma | Cancel chroma values
Public Field | nCancelLuma | Cancel luma values
Public Field | nCancelPower | Power of anti-spill correction
Public Field | nCancelRange | The range for anti-spill correction
Public Field | nDelta | The tolerance value (for each component)
Public Field | nReverseKey | Reverse key flag 0/1 (for exclude points)
Public Field | nSmoothRange | The additional value for delta (scalar value)
Public Field | nValue | The center value - RGB(R,G,B) or RGB(H,L,S)
Top
See Also

Reference

SINGLE_KEY Structure
MCHROMAKEYLib Namespace


nAlpha Field (SINGLE_KEY)

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nAlpha Field
The transparency for color
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nAlpha As System.Integer

public System.int nAlpha

public:
System.int nAlpha

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nCancelAlpha Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nCancelAlpha Field
Cancel alpha values
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nCancelAlpha As System.Integer

public System.int nCancelAlpha

public:
System.int nCancelAlpha

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nCancelChroma Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nCancelChroma Field
Cancel chroma values
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nCancelChroma As System.Integer

public System.int nCancelChroma

public:
System.int nCancelChroma

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nCancelLuma Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nCancelLuma Field
Cancel luma values
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nCancelLuma As System.Integer

public System.int nCancelLuma

public:
System.int nCancelLuma

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nCancelPower Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nCancelPower Field
Power of anti-spill correction
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nCancelPower As System.Integer

public System.int nCancelPower

public:
System.int nCancelPower

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nCancelRange Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nCancelRange Field
The range for anti-spill correction
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nCancelRange As System.Integer

public System.int nCancelRange

public:
System.int nCancelRange

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nDelta Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nDelta Field
The tolerance value (for each component)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nDelta As System.Integer

public System.int nDelta

public:
System.int nDelta

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nReverseKey Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nReverseKey Field
Reverse key flag 0/1 (for exclude points)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nReverseKey As System.Integer

public System.int nReverseKey

public:
System.int nReverseKey

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nSmoothRange Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nSmoothRange Field
The additional value for delta (scalar value)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nSmoothRange As System.Integer

public System.int nSmoothRange

public:
System.int nSmoothRange

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


nValue Field

MCHROMAKEYLib Namespace > SINGLE_KEY Structure : nValue Field
The center value - RGB(R,G,B) or RGB(H,L,S)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nValue As System.Integer

public System.int nValue

public:
System.int nValue

See Also
Reference
SINGLE_KEY Structure

SINGLE_KEY Members


%%PageItemTitle%%

tagRECT Structure
Members

MCHROMAKEYLib Namespace : tagRECT Structure
Contains information about rectangular around item
See Also

Reference

tagRECT Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

tagRECT Structure Members
Fields

MCHROMAKEYLib Namespace : tagRECT Structure

The following tables list the members exposed by tagRECT.

Public Fields
 | Name | Description
Public Field | bottom | bottom Y axis position
Public Field | left | left X axis position
Public Field | right | right X axis position
Public Field | top | top Y axis position
Top
See Also

Reference

tagRECT Structure
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Fields$$

tagRECT Structure Fields

MCHROMAKEYLib Namespace : tagRECT Structure

For a list of all members of this type, see tagRECT members.

Public Fields
 | Name | Description
Public Field | bottom | bottom Y axis position
Public Field | left | left X axis position
Public Field | right | right X axis position
Public Field | top | top Y axis position
Top
See Also

Reference

tagRECT Structure
MCHROMAKEYLib Namespace


bottom Field (tagRECT)

MCHROMAKEYLib Namespace > tagRECT Structure : bottom Field
bottom Y axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bottom As System.Integer

public System.int bottom

public:
System.int bottom

See Also
Reference
tagRECT Structure

tagRECT Members


left Field (tagRECT)

MCHROMAKEYLib Namespace > tagRECT Structure : left Field
left X axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public left As System.Integer

public System.int left

public:
System.int left

See Also
Reference
tagRECT Structure

tagRECT Members


right Field (tagRECT)

MCHROMAKEYLib Namespace > tagRECT Structure : right Field
right X axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public right As System.Integer

public System.int right

public:
System.int right

See Also
Reference
tagRECT Structure

tagRECT Members


top Field (tagRECT)

MCHROMAKEYLib Namespace > tagRECT Structure : top Field
top Y axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public top As System.Integer

public System.int top

public:
System.int top

See Also
Reference
tagRECT Structure

tagRECT Members


%%PageItemTitle%%

IMChromaKey Interface
Members

MCHROMAKEYLib Namespace : IMChromaKey Interface
Operates chroma keys
See Also

Reference

IMChromaKey Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

IMChromaKey Interface Members
Methods

MCHROMAKEYLib Namespace : IMChromaKey Interface

The following tables list the members exposed by IMChromaKey.

Public Methods
 | Name | Description
Method | KeyGet | Get key value object. Use last input frame or user-specified key, for specify background image use _bsProps = 'background='path''."
Method | KeyRawGet | Gets ChromaKey structure
Method | KeyRawSet | Set chroma-key via structure
Method | KeySet | Set chroma-key value structure
Top
See Also

Reference

IMChromaKey Interface
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

IMChromaKey Interface Methods

MCHROMAKEYLib Namespace : IMChromaKey Interface

For a list of all members of this type, see IMChromaKey members.

Public Methods
 | Name | Description
Method | KeyGet | Get key value object. Use last input frame or user-specified key, for specify background image use _bsProps = 'background='path''."
Method | KeyRawGet | Gets ChromaKey structure
Method | KeyRawSet | Set chroma-key via structure
Method | KeySet | Set chroma-key value structure
Top
See Also

Reference

IMChromaKey Interface
MCHROMAKEYLib Namespace


KeyGet Method (IMChromaKey)

MCHROMAKEYLib Namespace > IMChromaKey Interface : KeyGet Method
MFrame object for key adjust or NULL
Chroma Key object
additional properties ("'background")
Get key value object.
Use last input frame or user-specified key, for specify background image use _bsProps = 'background='path''."
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyGet( _
   ByVal _pMFrameForAdjustOrNull As System.Object, _
   ByRef _ppKeyObject As MKey, _
   ByVal _bsProps As System.String _
)

void KeyGet(
   System.object _pMFrameForAdjustOrNull,
   out MKey _ppKeyObject,
   System.string _bsProps
)

void KeyGet(
   System.Object^ _pMFrameForAdjustOrNull,
   [Out] MKey^ _ppKeyObject,
   System.String^ _bsProps
)

Parameters
_pMFrameForAdjustOrNull

MFrame object for key adjust or NULL
_ppKeyObject

Chroma Key object
_bsProps

additional properties ("'background")

Example

See Also
Reference
IMChromaKey Interface

IMChromaKey Members


KeyRawGet Method (IMChromaKey)

MCHROMAKEYLib Namespace > IMChromaKey Interface : KeyRawGet Method
Chroma key structure
Gets ChromaKey structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyRawGet( _
   ByRef _pvmKey As CHROMA_KEY_RAW _
)

void KeyRawGet(
   out CHROMA_KEY_RAW _pvmKey
)

void KeyRawGet(
   [Out] CHROMA_KEY_RAW _pvmKey
)

Parameters
_pvmKey

Chroma key structure

Example

See Also
Reference
IMChromaKey Interface

IMChromaKey Members


KeyRawSet Method (IMChromaKey)

MCHROMAKEYLib Namespace > IMChromaKey Interface : KeyRawSet Method
Chroma key structure
Set chroma-key via structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyRawSet( _
   ByRef _pvmKey As CHROMA_KEY_RAW _
)

void KeyRawSet(
   ref CHROMA_KEY_RAW _pvmKey
)

void KeyRawSet(
   CHROMA_KEY_RAW% _pvmKey
)

Parameters
_pvmKey

Chroma key structure

Example

See Also
Reference
IMChromaKey Interface

IMChromaKey Members


KeySet Method (IMChromaKey)

MCHROMAKEYLib Namespace > IMChromaKey Interface : KeySet Method
Chroma Key value structure
Set chroma-key value structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeySet( _
   ByVal _pKeyObject As MKey _
)

void KeySet(
   MKey _pKeyObject
)

void KeySet(
   MKey^ _pKeyObject
)

Parameters
_pKeyObject

Chroma Key value structure

Example

See Also
Reference
IMChromaKey Interface

IMChromaKey Members


%%PageItemTitle%%

IMKey Interface
Members

MCHROMAKEYLib Namespace : IMKey Interface
Operates key adjust
See Also

Reference

IMKey Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

IMKey Interface Members
Methods

MCHROMAKEYLib Namespace : IMKey Interface

The following tables list the members exposed by IMKey.

Public Methods
 | Name | Description
Method | KeyAddPoint | Add point to key
Method | KeyAddRect | Add rectangle to key
Method | KeyAdjustGet | Get keying ajust propeties
Method | KeyAdjustSet | Set adjust keying properties
Method | KeyDetect | Auto detect key
Method | KeyExcludePoint | Exclude point from key
Method | KeyFrameGet | Get frame for key detection and background
Method | KeyFrameSet | Set frame for key detection and/or background
Method | KeyRawGet | Get chroma-key structure
Method | KeyRawSet | Set chroma-key via structure
Method | KeyReset | Reset key
Method | KeyStepBack | Cancel last adjustment steps
Method | KeyStepFwd | Apply last adjustment steps (after step forward)
Top
See Also

Reference

IMKey Interface
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

IMKey Interface Methods

MCHROMAKEYLib Namespace : IMKey Interface

For a list of all members of this type, see IMKey members.

Public Methods
 | Name | Description
Method | KeyAddPoint | Add point to key
Method | KeyAddRect | Add rectangle to key
Method | KeyAdjustGet | Get keying ajust propeties
Method | KeyAdjustSet | Set adjust keying properties
Method | KeyDetect | Auto detect key
Method | KeyExcludePoint | Exclude point from key
Method | KeyFrameGet | Get frame for key detection and background
Method | KeyFrameSet | Set frame for key detection and/or background
Method | KeyRawGet | Get chroma-key structure
Method | KeyRawSet | Set chroma-key via structure
Method | KeyReset | Reset key
Method | KeyStepBack | Cancel last adjustment steps
Method | KeyStepFwd | Apply last adjustment steps (after step forward)
Top
See Also

Reference

IMKey Interface
MCHROMAKEYLib Namespace


KeyAddPoint Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyAddPoint Method
horizontal position of pixel
vertical position of pixel
additional properties
output frame
Add point to key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyAddPoint( _
   ByVal _nXPosPixels As System.Integer, _
   ByVal _nYPosPixels As System.Integer, _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyAddPoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.string _bsProps,
   out System.object _ppMFrameRes
)

void KeyAddPoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nXPosPixels

horizontal position of pixel
_nYPosPixels

vertical position of pixel
_bsProps

additional properties
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyAddRect Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyAddRect Method
horizontal position of 1st point
vertical position of 1st point
horizontal position of 2nd point
vertical position of 2nd point
additional properties
output frame
Add rectangle to key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyAddRect( _
   ByVal _nX1PosPixels As System.Integer, _
   ByVal _nY1PosPixels As System.Integer, _
   ByVal _nX2PosPixels As System.Integer, _
   ByVal _nY2PosPixels As System.Integer, _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyAddRect(
   System.int _nX1PosPixels,
   System.int _nY1PosPixels,
   System.int _nX2PosPixels,
   System.int _nY2PosPixels,
   System.string _bsProps,
   out System.object _ppMFrameRes
)

void KeyAddRect(
   System.int _nX1PosPixels,
   System.int _nY1PosPixels,
   System.int _nX2PosPixels,
   System.int _nY2PosPixels,
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nX1PosPixels

horizontal position of 1st point
_nY1PosPixels

vertical position of 1st point
_nX2PosPixels

horizontal position of 2nd point
_nY2PosPixels

vertical position of 2nd point
_bsProps

additional properties
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyAdjustGet Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyAdjustGet Method
adjust type
value of selected parameter
Get keying ajust propeties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyAdjustGet( _
   ByVal _eAdjust As eCK_Adjust, _
   ByRef _pdblValue As System.Double _
)

void KeyAdjustGet(
   eCK_Adjust _eAdjust,
   out System.double _pdblValue
)

void KeyAdjustGet(
   eCK_Adjust _eAdjust,
   [Out] System.double _pdblValue
)

Parameters
_eAdjust

adjust type
_pdblValue

value of selected parameter

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyAdjustSet Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyAdjustSet Method
adjust type
value of selected parameter
output frame
Set adjust keying properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyAdjustSet( _
   ByVal _eAdjust As eCK_Adjust, _
   ByVal _dblValue As System.Double, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyAdjustSet(
   eCK_Adjust _eAdjust,
   System.double _dblValue,
   out System.object _ppMFrameRes
)

void KeyAdjustSet(
   eCK_Adjust _eAdjust,
   System.double _dblValue,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_eAdjust

adjust type
_dblValue

value of selected parameter
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyDetect Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyDetect Method
additional properties ("type", "max_keys" etc.). Read Chroma keying for more infomation
output frame
Auto detect key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyDetect( _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyDetect(
   System.string _bsProps,
   out System.object _ppMFrameRes
)

void KeyDetect(
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_bsProps

additional properties ("type", "max_keys" etc.). Read Chroma keying for more infomation
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyExcludePoint Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyExcludePoint Method
horizontal position of point
vertical position of point
additional properties
output frame
Exclude point from key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyExcludePoint( _
   ByVal _nXPosPixels As System.Integer, _
   ByVal _nYPosPixels As System.Integer, _
   ByVal _bsProps As System.String, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyExcludePoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.string _bsProps,
   out System.object _ppMFrameRes
)

void KeyExcludePoint(
   System.int _nXPosPixels,
   System.int _nYPosPixels,
   System.String^ _bsProps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nXPosPixels

horizontal position of point
_nYPosPixels

vertical position of point
_bsProps

additional properties
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyFrameGet Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyFrameGet Method
output frame
background frame
Get frame for key detection and background
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyFrameGet( _
   ByRef _ppMFrameRes As System.Object, _
   ByRef _ppMFrameBG As System.Object _
)

void KeyFrameGet(
   out System.object _ppMFrameRes,
   out System.object _ppMFrameBG
)

void KeyFrameGet(
   [Out] System.Object^ _ppMFrameRes,
   [Out] System.Object^ _ppMFrameBG
)

Parameters
_ppMFrameRes

output frame
_ppMFrameBG

background frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyFrameSet Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyFrameSet Method
input frame for detection
background frame
Set frame for key detection and/or background
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyFrameSet( _
   ByVal _pMFrameKeyingOrNull As System.Object, _
   ByVal _pMFrameBGOrNull As System.Object _
)

void KeyFrameSet(
   System.object _pMFrameKeyingOrNull,
   System.object _pMFrameBGOrNull
)

void KeyFrameSet(
   System.Object^ _pMFrameKeyingOrNull,
   System.Object^ _pMFrameBGOrNull
)

Parameters
_pMFrameKeyingOrNull

input frame for detection
_pMFrameBGOrNull

background frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyRawGet Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyRawGet Method
chroma key structure
chroma key adjust
Get chroma-key structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyRawGet( _
   ByRef _pvmKey As CHROMA_KEY_RAW, _
   ByRef _pKeyAdjust As CK_ADJUST _
)

void KeyRawGet(
   out CHROMA_KEY_RAW _pvmKey,
   out CK_ADJUST _pKeyAdjust
)

void KeyRawGet(
   [Out] CHROMA_KEY_RAW _pvmKey,
   [Out] CK_ADJUST _pKeyAdjust
)

Parameters
_pvmKey

chroma key structure
_pKeyAdjust

chroma key adjust

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyRawSet Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyRawSet Method
chroma key structure
chroma key adjust
Set chroma-key via structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyRawSet( _
   ByRef _pvmKey As CHROMA_KEY_RAW, _
   ByRef _pKeyAdjust As CK_ADJUST _
)

void KeyRawSet(
   ref CHROMA_KEY_RAW _pvmKey,
   ref CK_ADJUST _pKeyAdjust
)

void KeyRawSet(
   CHROMA_KEY_RAW% _pvmKey,
   CK_ADJUST% _pKeyAdjust
)

Parameters
_pvmKey

chroma key structure
_pKeyAdjust

chroma key adjust

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyReset Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyReset Method
output frame
Reset key
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyReset( _
   ByRef _ppMFrameRes As System.Object _
)

void KeyReset(
   out System.object _ppMFrameRes
)

void KeyReset(
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyStepBack Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyStepBack Method
number of steps
output frame
Cancel last adjustment steps
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyStepBack( _
   ByVal _nSteps As System.Integer, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyStepBack(
   System.int _nSteps,
   out System.object _ppMFrameRes
)

void KeyStepBack(
   System.int _nSteps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nSteps

number of steps
_ppMFrameRes

output frame

Example

See Also
Reference
IMKey Interface

IMKey Members


KeyStepFwd Method (IMKey)

MCHROMAKEYLib Namespace > IMKey Interface : KeyStepFwd Method
number of steps
Apply last adjustment steps (after step forward)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub KeyStepFwd( _
   ByVal _nSteps As System.Integer, _
   ByRef _ppMFrameRes As System.Object _
)

void KeyStepFwd(
   System.int _nSteps,
   out System.object _ppMFrameRes
)

void KeyStepFwd(
   System.int _nSteps,
   [Out] System.Object^ _ppMFrameRes
)

Parameters
_nSteps

number of steps
_ppMFrameRes

Remarks

Example

See Also
Reference
IMKey Interface

IMKey Members


%%PageItemTitle%%

IMPersist Interface
Members

MCHROMAKEYLib Namespace : IMPersist Interface
Configures the save and load configuration
See Also

Reference

IMPersist Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

IMPersist Interface Members
Methods

MCHROMAKEYLib Namespace : IMPersist Interface

The following tables list the members exposed by IMPersist.

Public Methods
 | Name | Description
Method | PersistLoad | Loads the data from string or from file
Method | PersistSaveToFile | Saves the configuration data to the file
Method | PersistSaveToString | Saves the configuration data to string
Top
See Also

Reference

IMPersist Interface
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

IMPersist Interface Methods

MCHROMAKEYLib Namespace : IMPersist Interface

For a list of all members of this type, see IMPersist members.

Public Methods
 | Name | Description
Method | PersistLoad | Loads the data from string or from file
Method | PersistSaveToFile | Saves the configuration data to the file
Method | PersistSaveToString | Saves the configuration data to string
Top
See Also

Reference

IMPersist Interface
MCHROMAKEYLib Namespace


PersistLoad Method (IMPersist)

MCHROMAKEYLib Namespace > IMPersist Interface : PersistLoad Method
name of the loading object (usually, "")
source string or full path of file to be loaded
parameters of loading
Loads the data from string or from file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PersistLoad( _
   ByVal _bsObject As System.String, _
   ByVal _bsXMLDescOrFile As System.String, _
   ByVal _bsLoadParam As System.String _
)

void PersistLoad(
   System.string _bsObject,
   System.string _bsXMLDescOrFile,
   System.string _bsLoadParam
)

void PersistLoad(
   System.String^ _bsObject,
   System.String^ _bsXMLDescOrFile,
   System.String^ _bsLoadParam
)

Parameters
_bsObject

name of the loading object (usually, "")
_bsXMLDescOrFile

source string or full path of file to be loaded
_bsLoadParam

parameters of loading

Example

See Also
Reference
IMPersist Interface

IMPersist Members


PersistSaveToFile Method (IMPersist)

MCHROMAKEYLib Namespace > IMPersist Interface : PersistSaveToFile Method
name of the saving object
full file path for saving
parameters of saving
Saves the configuration data to the file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PersistSaveToFile( _
   ByVal _bsObject As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _bsSaveParam As System.String _
)

void PersistSaveToFile(
   System.string _bsObject,
   System.string _bsFileName,
   System.string _bsSaveParam
)

void PersistSaveToFile(
   System.String^ _bsObject,
   System.String^ _bsFileName,
   System.String^ _bsSaveParam
)

Parameters
_bsObject

name of the saving object
_bsFileName

full file path for saving
_bsSaveParam

parameters of saving

Example

See Also
Reference
IMPersist Interface

IMPersist Members


PersistSaveToString Method (IMPersist)

MCHROMAKEYLib Namespace > IMPersist Interface : PersistSaveToString Method
name of saving object
output string with data
parameters of saving
Saves the configuration data to string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PersistSaveToString( _
   ByVal _bsObject As System.String, _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _bsSaveParam As System.String _
)

void PersistSaveToString(
   System.string _bsObject,
   out System.string _pbsXMLDesc,
   System.string _bsSaveParam
)

void PersistSaveToString(
   System.String^ _bsObject,
   [Out] System.String^ _pbsXMLDesc,
   System.String^ _bsSaveParam
)

Parameters
_bsObject

name of saving object
_pbsXMLDesc

output string with data
_bsSaveParam

parameters of saving

Example

See Also
Reference
IMPersist Interface

IMPersist Members


%%PageItemTitle%%

IMPlugin Interface
Members

MCHROMAKEYLib Namespace : IMPlugin Interface
Operates media within plugin (for internal usage)
See Also

Reference

IMPlugin Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

IMPlugin Interface Members
Methods

MCHROMAKEYLib Namespace : IMPlugin Interface

The following tables list the members exposed by IMPlugin.

Public Methods
 | Name | Description
Method | OnMediaEnd | Appears when media is over
Method | OnMediaFlush | Appears when media is flushed
Method | OnMediaReceive | Appears when media is received
Top
See Also

Reference

IMPlugin Interface
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

IMPlugin Interface Methods

MCHROMAKEYLib Namespace : IMPlugin Interface

For a list of all members of this type, see IMPlugin members.

Public Methods
 | Name | Description
Method | OnMediaEnd | Appears when media is over
Method | OnMediaFlush | Appears when media is flushed
Method | OnMediaReceive | Appears when media is received
Top
See Also

Reference

IMPlugin Interface
MCHROMAKEYLib Namespace


OnMediaEnd Method (IMPlugin)

MCHROMAKEYLib Namespace > IMPlugin Interface : OnMediaEnd Method
sender of media
flags
Appears when media is over
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnMediaEnd( _
   ByVal _llCallbackUserData As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

void OnMediaEnd(
   System.long _llCallbackUserData,
   System.object _pSender,
   System.uint _dwFlags
)

void OnMediaEnd(
   System.int64 _llCallbackUserData,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackUserData

_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
IMPlugin Interface

IMPlugin Members


OnMediaFlush Method (IMPlugin)

MCHROMAKEYLib Namespace > IMPlugin Interface : OnMediaFlush Method
sender of media
flags
Appears when media is flushed
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnMediaFlush( _
   ByVal _llCallbackUserData As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

void OnMediaFlush(
   System.long _llCallbackUserData,
   System.object _pSender,
   System.uint _dwFlags
)

void OnMediaFlush(
   System.int64 _llCallbackUserData,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackUserData

_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
IMPlugin Interface

IMPlugin Members


OnMediaReceive Method (IMPlugin)

MCHROMAKEYLib Namespace > IMPlugin Interface : OnMediaReceive Method
sender of media
input frame
output frame
Appears when media is received
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnMediaReceive( _
   ByVal _llCallbackUserData As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _pFrame As IMFrame, _
   ByRef _ppFrameRes As IMFrame _
)

void OnMediaReceive(
   System.long _llCallbackUserData,
   System.object _pSender,
   IMFrame _pFrame,
   out IMFrame _ppFrameRes
)

void OnMediaReceive(
   System.int64 _llCallbackUserData,
   System.Object^ _pSender,
   IMFrame^ _pFrame,
   [Out] IMFrame^ _ppFrameRes
)

Parameters
_llCallbackUserData

_pSender

sender of media
_pFrame

input frame
_ppFrameRes

output frame

Example

See Also
Reference
IMPlugin Interface

IMPlugin Members


%%PageItemTitle%%

IMProps Interface
Members

MCHROMAKEYLib Namespace : IMProps Interface
Gets or sets properties
See Also

Reference

IMProps Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

IMProps Interface Members
Methods

MCHROMAKEYLib Namespace : IMProps Interface

The following tables list the members exposed by IMProps.

Public Methods
 | Name | Description
Method | PropsGet | Gets the properties
Method | PropsGetByIndex | Gets the property by its index
Method | PropsGetCount | Gets the count of properties
Method | PropsInfoGet | Gets information of required type about a selected property
Method | PropsOptionGet | Gets property option
Method | PropsOptionGetByIndex | Gets an option for a property
Method | PropsOptionGetCount | Gets a number of available option for a selected property
Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Method | PropsRemove | Removes the property
Method | PropsSet | Sets the property
Top
See Also

Reference

IMProps Interface
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

IMProps Interface Methods

MCHROMAKEYLib Namespace : IMProps Interface

For a list of all members of this type, see IMProps members.

Public Methods
 | Name | Description
Method | PropsGet | Gets the properties
Method | PropsGetByIndex | Gets the property by its index
Method | PropsGetCount | Gets the count of properties
Method | PropsInfoGet | Gets information of required type about a selected property
Method | PropsOptionGet | Gets property option
Method | PropsOptionGetByIndex | Gets an option for a property
Method | PropsOptionGetCount | Gets a number of available option for a selected property
Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Method | PropsRemove | Removes the property
Method | PropsSet | Sets the property
Top
See Also

Reference

IMProps Interface
MCHROMAKEYLib Namespace


PropsGet Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsGet Method
property name
property value
Gets the properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property name
_pbsPropValue

property value

Example

See Also
Reference
IMProps Interface

IMProps Members


PropsGetByIndex Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsGetByIndex Method
property node
index in current node
property name
property value
indicates whether it node or not
Gets the property by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

property node
_nIndex

index in current node
_pbsPropName

property name
_pbsPropValue

property value
_pbNode

indicates whether it node or not

Example

See Also
Reference
IMProps Interface

IMProps Members


PropsGetCount Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsGetCount Method
node name
count of properties in selected node
Gets the count of properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

node name
_pnCount

count of properties in selected node

Example

See Also
Reference
IMProps Interface

IMProps Members


PropsInfoGet Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGet Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGetByIndex Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGetCount Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionSetByIndex Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
IMProps Interface

IMProps Members


PropsRemove Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsRemove Method
property name
Removes the property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

void PropsRemove(
   System.string _bsPropName
)

void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property name

Example

See Also
Reference
IMProps Interface

IMProps Members


PropsSet Method (IMProps)

MCHROMAKEYLib Namespace > IMProps Interface : PropsSet Method
property name
property value
Sets the property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property name
_bsPropValue

property value

Example

See Also
Reference
IMProps Interface

IMProps Members


MFORMATSLib Namespace
Inheritance Hierarchy
Contains all classes, interfaces, enumerations and structures of MFormats SDK.
Classes
 | Class | Description
Class | IMEventsEvent_EventProvider |
Class | IMEventsEvent_SinkHelper |
Class | IMEventsFrame_EventProvider |
Class | IMEventsFrame_SinkHelper |
Class | MDelayClass | Operates MDelay feature (time shifting for live sources)
Class | MFAudioBufferClass | Operates with audio buffers
Class | MFConverterClass | Operates conversion of frames
Class | MFFactoryClass | Manages the operations for create, clone and make frame loacal
Class | MFFrameClass | Manages a single frame
Class | MFLiveClass | Operates live sources
Class | MFPreviewClass | Operates with preview of your content
Class | MFReaderClass | Operates with file sources
Class | MFRendererClass | Operates with output devices
Class | MFSinkClass |
Class | MFWriterClass | Operates capturing
Class | MWebRTCClass | Operates WebRTC functionality
Interfaces
 | Interface | Description
Interface | IMCallback | Operates callback events - required for WebRTC feature
Interface | IMEvents | Operates events
Interface | IMEventsEvent |
Interface | IMEventsEvent_Event |
Interface | IMEventsFrame |
Interface | IMEventsFrame_Event |
Interface | IMFAudioBuffer | Operates an audio buffer.
Interface | IMFConverter | Operates a frame's conversion
Interface | IMFDevice | Operates with devices (input and output)
Interface | IMFFactory | Operates a frame's creation
Interface | IMFFormat | Operates with audio and video formats
Interface | IMFFrame | Operates a single frame
Interface | IMFProcess | Operates frame processing
Interface | IMFProps | Operates objects' properties
Interface | IMFReader | Operates with file sources.
Interface | IMFReceiver | Operates a receiver of frames (output devices or preview)
Interface | IMFSink |
Interface | IMFSource | Operates with sources of frames
Interface | IMFSourceVB6 | Duplicated IMSource interface for VB6 compatibility.
Interface | IMFTransition | Operates frame's transitions
Interface | IMFWriter | Operates encoding process
Interface | IMPreview | Operates a preview.
Interface | IMProps |
Interface | IMSenders |
Interface | IMWebRTC | Operates WebRTC functionality
Interface | ISequentialStream |
Interface | IStream |
Interface | MFSink |
Structures
 | Structure | Description
Structure | _FILETIME |
Structure | _LARGE_INTEGER |
Structure | _ULARGE_INTEGER |
Structure | M_ANC_DATA | Contains the audio monitoring data: the RMS, the VU meter, and the VU Meter peaks displaying.
Structure | M_AUD_PROPS | Contains the audio properties of the frame.
Structure | M_AUDIO_LOUDNESS | Contains information about the audio loudness
Structure | M_AV_PROPS | Contains the information about the audio and video properties
Structure | M_TIME | Contains information about the duration of event (from the start time to the end time).
Structure | M_TIMECODE | Contains information about a timecode
Structure | M_VID_PROPS | Specifies the video properties
Structure | MF_FRAME_INFO | Specifies information about a frame
Structure | MF_RECT | Specifies rectangle for overlays
Structure | MF_VID_PTR |
Structure | tagRECT | Specifies rectangle structure
Structure | tagSIZE |
Structure | tagSTATSTG |
Delegates
 | Delegate | Description
Delegate | IMEventsEvent_OnEventSafeEventHandler |
Delegate | IMEventsFrame_OnFrameSafeEventHandler |
Enumerations
Enumeration | Description
Enumeration | eM3DFormat | Specifies 3D format types.
Enumeration eMANCFlags

Contains the information if the audio loudness values are correct.

The audio loudness values can be icorrect. when the frame was just created and the loudness values were not calculaded yet.

To force the frame to calculate the audio loudness values please call the MFAudioGain method like this:

  • C#
pFrame.MFAudioGain("", 0, 0);

Enumeration | eMCursorType | Specifies cursor type
Enumeration | eMFCC | Specifies the video colorspace
Enumeration | eMFDeviceType | Specifies types of divices
Enumeration | eMFormatType | Specifies the format types
Enumeration | eMFOverlayFlags | Specifies overlay's flags
Enumeration | eMFrameClone | Specifies a types of frame's clone
Enumeration | eMFrameFlags | Specifies the frame position and frame type
Enumeration | eMFRectType | Specifies type of rectangle
Enumeration | eMFTextFlags | Specifies options for text overlay
Enumeration | eMFWriterOption | Enumerate type of writer's configuratio
Enumeration | eMInfoType | Specifies type of XML attributes' information
Enumeration | eMInterlace | Specifies the interlacing type
Enumeration | eMScaleType | Specifies the scaling type.
Enumeration | eMTimecodeFlags | Specifies timecode flags
Enumeration | eMVideoFormat | Specifies the video format.
See Also

Reference

MFORMATSLib Assembly


%%ItemTitle%% $$INHERITANCE_HIERARCHY$$

MFORMATSLib Namespace Inheritance Hierarchy
Inheritance Hierarchy
System.Object
MFORMATSLib.IMEventsEvent_EventProvider
MFORMATSLib.IMEventsEvent_SinkHelper
MFORMATSLib.IMEventsFrame_EventProvider
MFORMATSLib.IMEventsFrame_SinkHelper
System.MarshalByRefObject
System.__ComObject
MFORMATSLib.MDelayClass
MFORMATSLib.MFAudioBufferClass
MFORMATSLib.MFConverterClass
MFORMATSLib.MFFactoryClass
MFORMATSLib.MFFrameClass
MFORMATSLib.MFLiveClass
MFORMATSLib.MFPreviewClass
MFORMATSLib.MFReaderClass
MFORMATSLib.MFRendererClass
MFORMATSLib.MFSinkClass
MFORMATSLib.MFWriterClass
MFORMATSLib.MWebRTCClass
System.ValueType
MFORMATSLib._FILETIME
MFORMATSLib._LARGE_INTEGER
MFORMATSLib._ULARGE_INTEGER
MFORMATSLib.M_ANC_DATA
MFORMATSLib.M_AUD_PROPS
MFORMATSLib.M_AUDIO_LOUDNESS
MFORMATSLib.M_AV_PROPS
MFORMATSLib.M_TIME
MFORMATSLib.M_TIMECODE
MFORMATSLib.M_VID_PROPS
MFORMATSLib.MF_FRAME_INFO
MFORMATSLib.MF_RECT
MFORMATSLib.MF_VID_PTR
MFORMATSLib.tagRECT
MFORMATSLib.tagSIZE
MFORMATSLib.tagSTATSTG
See Also

Reference

MFORMATSLib Assembly


%%PageItemTitle%%

IMEventsEvent_EventProvider Class
Members

MFORMATSLib Namespace : IMEventsEvent_EventProvider Class
See Also

Reference

IMEventsEvent_EventProvider Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsEvent_EventProvider Class Members
Methods

MFORMATSLib Namespace : IMEventsEvent_EventProvider Class

The following tables list the members exposed by IMEventsEvent_EventProvider.

Public Constructors
 | Name | Description
Public Constructor | IMEventsEvent_EventProvider Constructor |
Top
Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | Dispose |
Public Method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Public Method | remove_OnEventSafe |
Top
See Also

Reference

IMEventsEvent_EventProvider Class
MFORMATSLib Namespace


%%PageItemTitle%%

IMEventsEvent_EventProvider Constructor

MFORMATSLib Namespace > IMEventsEvent_EventProvider Class : IMEventsEvent_EventProvider Constructor
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function New( _
   ByVal param1 As System.Object _
)

public IMEventsEvent_EventProvider(
   System.object param1
)

public:
IMEventsEvent_EventProvider(
   System.Object^ param1
)

Parameters
param1

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
IMEventsEvent_EventProvider Class

IMEventsEvent_EventProvider Members


%%PageItemTitle%% $$Methods$$

IMEventsEvent_EventProvider Class Methods

MFORMATSLib Namespace : IMEventsEvent_EventProvider Class

For a list of all members of this type, see IMEventsEvent_EventProvider members.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | Dispose |
Public Method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Public Method | remove_OnEventSafe |
Top
See Also

Reference

IMEventsEvent_EventProvider Class
MFORMATSLib Namespace


add_OnEventSafe Method (IMEventsEvent_EventProvider)

MFORMATSLib Namespace > IMEventsEvent_EventProvider Class : add_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub add_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsEvent_EventProvider Class

IMEventsEvent_EventProvider Members


Dispose Method (IMEventsEvent_EventProvider)

MFORMATSLib Namespace > IMEventsEvent_EventProvider Class : Dispose Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub Dispose()

public void Dispose()

public:
void Dispose();

See Also
Reference
IMEventsEvent_EventProvider Class

IMEventsEvent_EventProvider Members


Finalize Method (IMEventsEvent_EventProvider)

MFORMATSLib Namespace > IMEventsEvent_EventProvider Class : Finalize Method
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overrides Sub Finalize()

public override void Finalize()

public:
void Finalize(); override

See Also
Reference
IMEventsEvent_EventProvider Class

IMEventsEvent_EventProvider Members


remove_OnEventSafe Method (IMEventsEvent_EventProvider)

MFORMATSLib Namespace > IMEventsEvent_EventProvider Class : remove_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub remove_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsEvent_EventProvider Class

IMEventsEvent_EventProvider Members


%%PageItemTitle%%

IMEventsEvent_SinkHelper Class
Members

MFORMATSLib Namespace : IMEventsEvent_SinkHelper Class
See Also

Reference

IMEventsEvent_SinkHelper Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsEvent_SinkHelper Class Members
Fields Methods

MFORMATSLib Namespace : IMEventsEvent_SinkHelper Class

The following tables list the members exposed by IMEventsEvent_SinkHelper.

Public Fields
 | Name | Description
Public Field | m_dwCookie |
Public Field | m_OnEventSafeDelegate |
Top
Public Methods
 | Name | Description
Public Method | OnEventSafe |
Top
See Also

Reference

IMEventsEvent_SinkHelper Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEventsEvent_SinkHelper Class Methods

MFORMATSLib Namespace : IMEventsEvent_SinkHelper Class

For a list of all members of this type, see IMEventsEvent_SinkHelper members.

Public Methods
 | Name | Description
Public Method | OnEventSafe |
Top
See Also

Reference

IMEventsEvent_SinkHelper Class
MFORMATSLib Namespace


OnEventSafe Method (IMEventsEvent_SinkHelper)

MFORMATSLib Namespace > IMEventsEvent_SinkHelper Class : OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub OnEventSafe( _
   ByVal param1 As System.String, _
   ByVal param2 As System.String, _
   ByVal param3 As System.String, _
   ByVal param4 As System.Object _
)

public void OnEventSafe(
   System.string param1,
   System.string param2,
   System.string param3,
   System.object param4
)

public:
void OnEventSafe(
   System.String^ param1,
   System.String^ param2,
   System.String^ param3,
   System.Object^ param4
)

Parameters
param1

param2

param3

param4

See Also
Reference
IMEventsEvent_SinkHelper Class

IMEventsEvent_SinkHelper Members


%%PageItemTitle%% $$Fields$$

IMEventsEvent_SinkHelper Class Fields

MFORMATSLib Namespace : IMEventsEvent_SinkHelper Class

For a list of all members of this type, see IMEventsEvent_SinkHelper members.

Public Fields
 | Name | Description
Public Field | m_dwCookie |
Public Field | m_OnEventSafeDelegate |
Top
See Also

Reference

IMEventsEvent_SinkHelper Class
MFORMATSLib Namespace


m_dwCookie Field (IMEventsEvent_SinkHelper)

MFORMATSLib Namespace > IMEventsEvent_SinkHelper Class : m_dwCookie Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public m_dwCookie As System.Integer

public System.int m_dwCookie

public:
System.int m_dwCookie

See Also
Reference
IMEventsEvent_SinkHelper Class

IMEventsEvent_SinkHelper Members


m_OnEventSafeDelegate Field

MFORMATSLib Namespace > IMEventsEvent_SinkHelper Class : m_OnEventSafeDelegate Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public m_OnEventSafeDelegate As IMEventsEvent_OnEventSafeEventHandler

public IMEventsEvent_OnEventSafeEventHandler m_OnEventSafeDelegate

public:
IMEventsEvent_OnEventSafeEventHandler^ m_OnEventSafeDelegate

See Also
Reference
IMEventsEvent_SinkHelper Class

IMEventsEvent_SinkHelper Members


%%PageItemTitle%%

IMEventsFrame_EventProvider Class
Members

MFORMATSLib Namespace : IMEventsFrame_EventProvider Class
See Also

Reference

IMEventsFrame_EventProvider Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsFrame_EventProvider Class Members
Methods

MFORMATSLib Namespace : IMEventsFrame_EventProvider Class

The following tables list the members exposed by IMEventsFrame_EventProvider.

Public Constructors
 | Name | Description
Public Constructor | IMEventsFrame_EventProvider Constructor |
Top
Public Methods
 | Name | Description
Public Method | add_OnFrameSafe |
Public Method | Dispose |
Public Method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Public Method | remove_OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_EventProvider Class
MFORMATSLib Namespace


%%PageItemTitle%%

IMEventsFrame_EventProvider Constructor

MFORMATSLib Namespace > IMEventsFrame_EventProvider Class : IMEventsFrame_EventProvider Constructor
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function New( _
   ByVal param1 As System.Object _
)

public IMEventsFrame_EventProvider(
   System.object param1
)

public:
IMEventsFrame_EventProvider(
   System.Object^ param1
)

Parameters
param1

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
IMEventsFrame_EventProvider Class

IMEventsFrame_EventProvider Members


%%PageItemTitle%% $$Methods$$

IMEventsFrame_EventProvider Class Methods

MFORMATSLib Namespace : IMEventsFrame_EventProvider Class

For a list of all members of this type, see IMEventsFrame_EventProvider members.

Public Methods
 | Name | Description
Public Method | add_OnFrameSafe |
Public Method | Dispose |
Public Method | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Public Method | remove_OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_EventProvider Class
MFORMATSLib Namespace


add_OnFrameSafe Method (IMEventsFrame_EventProvider)

MFORMATSLib Namespace > IMEventsFrame_EventProvider Class : add_OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub add_OnFrameSafe( _
   ByVal param1 As IMEventsFrame_OnFrameSafeEventHandler _
)

public void add_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler param1
)

public:
void add_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsFrame_EventProvider Class

IMEventsFrame_EventProvider Members


Dispose Method (IMEventsFrame_EventProvider)

MFORMATSLib Namespace > IMEventsFrame_EventProvider Class : Dispose Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub Dispose()

public void Dispose()

public:
void Dispose();

See Also
Reference
IMEventsFrame_EventProvider Class

IMEventsFrame_EventProvider Members


Finalize Method (IMEventsFrame_EventProvider)

MFORMATSLib Namespace > IMEventsFrame_EventProvider Class : Finalize Method
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overrides Sub Finalize()

public override void Finalize()

public:
void Finalize(); override

See Also
Reference
IMEventsFrame_EventProvider Class

IMEventsFrame_EventProvider Members


remove_OnFrameSafe Method (IMEventsFrame_EventProvider)

MFORMATSLib Namespace > IMEventsFrame_EventProvider Class : remove_OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub remove_OnFrameSafe( _
   ByVal param1 As IMEventsFrame_OnFrameSafeEventHandler _
)

public void remove_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler param1
)

public:
void remove_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsFrame_EventProvider Class

IMEventsFrame_EventProvider Members


%%PageItemTitle%%

IMEventsFrame_SinkHelper Class
Members

MFORMATSLib Namespace : IMEventsFrame_SinkHelper Class
See Also

Reference

IMEventsFrame_SinkHelper Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsFrame_SinkHelper Class Members
Fields Methods

MFORMATSLib Namespace : IMEventsFrame_SinkHelper Class

The following tables list the members exposed by IMEventsFrame_SinkHelper.

Public Fields
 | Name | Description
Public Field | m_dwCookie |
Public Field | m_OnFrameSafeDelegate |
Top
Public Methods
 | Name | Description
Public Method | OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_SinkHelper Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEventsFrame_SinkHelper Class Methods

MFORMATSLib Namespace : IMEventsFrame_SinkHelper Class

For a list of all members of this type, see IMEventsFrame_SinkHelper members.

Public Methods
 | Name | Description
Public Method | OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_SinkHelper Class
MFORMATSLib Namespace


OnFrameSafe Method (IMEventsFrame_SinkHelper)

MFORMATSLib Namespace > IMEventsFrame_SinkHelper Class : OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Sub OnFrameSafe( _
   ByVal param1 As System.String, _
   ByVal param2 As System.Object _
)

public void OnFrameSafe(
   System.string param1,
   System.object param2
)

public:
void OnFrameSafe(
   System.String^ param1,
   System.Object^ param2
)

Parameters
param1

param2

See Also
Reference
IMEventsFrame_SinkHelper Class

IMEventsFrame_SinkHelper Members


%%PageItemTitle%% $$Fields$$

IMEventsFrame_SinkHelper Class Fields

MFORMATSLib Namespace : IMEventsFrame_SinkHelper Class

For a list of all members of this type, see IMEventsFrame_SinkHelper members.

Public Fields
 | Name | Description
Public Field | m_dwCookie |
Public Field | m_OnFrameSafeDelegate |
Top
See Also

Reference

IMEventsFrame_SinkHelper Class
MFORMATSLib Namespace


m_dwCookie Field (IMEventsFrame_SinkHelper)

MFORMATSLib Namespace > IMEventsFrame_SinkHelper Class : m_dwCookie Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public m_dwCookie As System.Integer

public System.int m_dwCookie

public:
System.int m_dwCookie

See Also
Reference
IMEventsFrame_SinkHelper Class

IMEventsFrame_SinkHelper Members


m_OnFrameSafeDelegate Field

MFORMATSLib Namespace > IMEventsFrame_SinkHelper Class : m_OnFrameSafeDelegate Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public m_OnFrameSafeDelegate As IMEventsFrame_OnFrameSafeEventHandler

public IMEventsFrame_OnFrameSafeEventHandler m_OnFrameSafeDelegate

public:
IMEventsFrame_OnFrameSafeEventHandler^ m_OnFrameSafeDelegate

See Also
Reference
IMEventsFrame_SinkHelper Class

IMEventsFrame_SinkHelper Members


%%PageItemTitle%%

MDelayClass Class
Members

MFORMATSLib Namespace : MDelayClass Class
Operates MDelay feature (time shifting for live sources)
See Also

Reference

MDelayClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MDelayClass Class Members
Methods

MFORMATSLib Namespace : MDelayClass Class

The following tables list the members exposed by MDelayClass.

Public Methods
 | Name | Description
Public Method | ProcessFrame | Operates a frame to implement MDelay feature
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Top
See Also

Reference

MDelayClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MDelayClass Class Methods

MFORMATSLib Namespace : MDelayClass Class

For a list of all members of this type, see MDelayClass members.

Public Methods
 | Name | Description
Public Method | ProcessFrame | Operates a frame to implement MDelay feature
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Top
See Also

Reference

MDelayClass Class
MFORMATSLib Namespace


ProcessFrame Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : ProcessFrame Method
input frame
output frame
number of rest frames
additional properties
Operates a frame to implement MDelay feature
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ProcessFrame( _
   ByVal _pFrameIn As MFFrame, _
   ByRef _ppFrameOut As MFFrame, _
   ByRef _pnFramesRest As System.Integer, _
   ByVal _bsPropsList As System.String _
)

public virtual void ProcessFrame(
   MFFrame _pFrameIn,
   out MFFrame _ppFrameOut,
   out System.int _pnFramesRest,
   System.string _bsPropsList
)

public:
virtual void ProcessFrame(
   MFFrame^ _pFrameIn,
   [Out] MFFrame^ _ppFrameOut,
   [Out] System.int _pnFramesRest,
   System.String^ _bsPropsList
)

Parameters
_pFrameIn

input frame
_ppFrameOut

output frame
_pnFramesRest

number of rest frames
_bsPropsList

additional properties

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsGet Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsGetByIndex Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsGetCount Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsInfoGet Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsOptionGet Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsOptionGetByIndex Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsOptionGetCount Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsOptionSetByIndex Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsRemove Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MDelayClass Class

MDelayClass Members


PropsSet Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MDelayClass Class

MDelayClass Members


%%PageItemTitle%%

MFAudioBufferClass Class
Members

MFORMATSLib Namespace : MFAudioBufferClass Class
Operates with audio buffers
See Also

Reference

MFAudioBufferClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFAudioBufferClass Class Members
Methods

MFORMATSLib Namespace : MFAudioBufferClass Class

The following tables list the members exposed by MFAudioBufferClass.

Public Methods
 | Name | Description
Public Method | BufferFrameChannelsAppend | Appends audio channels from buffer to a specified frame, the number of samples retrieved from specified frame
Public Method | BufferFrameFill | Reads audio from buffer to frame. If _nSamples = 0 then the audio duration calculated from frame rate, if _nSamples < 0 then whole buffer is used.
Public Method | BufferFrameMix | Mixes audio from buffer with specified frame, the number of samples retrieved from specified frame. Note: The audio can be insufficient. In this case use two lines for mixing.
Public Method | BufferFramePut | Puts audio from a frame to the buffer.
Public Method | BufferGet |
Public Method | BufferLinesMix | Mixes audio from buffer lines
Public Method | BufferLinesRemove | Removes line from buffer
Public Method | BufferLoadFromFile | Loads audio form file to a buffer.
Public Method | BufferPropsGet | Gets buffer's audio props
Public Method | BufferPropsSet | Sets buffer's audio properties
Public Method | BufferPutPtr | Puts audio data to a buffer. If _pbAudio is NULL then the buffer is filled with silence
Public Method | BufferPutPtrEx |
Public Method | BufferRemove | Removes audio data from the buffer
Public Method | BufferTimesEnable |
Public Method | BufferTimesGet |
Public Method | BufferTimesIsEnabled |
Public Method | BufferTimesSet |
Top
See Also

Reference

MFAudioBufferClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFAudioBufferClass Class Methods

MFORMATSLib Namespace : MFAudioBufferClass Class

For a list of all members of this type, see MFAudioBufferClass members.

Public Methods
 | Name | Description
Public Method | BufferFrameChannelsAppend | Appends audio channels from buffer to a specified frame, the number of samples retrieved from specified frame
Public Method | BufferFrameFill | Reads audio from buffer to frame. If _nSamples = 0 then the audio duration calculated from frame rate, if _nSamples < 0 then whole buffer is used.
Public Method | BufferFrameMix | Mixes audio from buffer with specified frame, the number of samples retrieved from specified frame. Note: The audio can be insufficient. In this case use two lines for mixing.
Public Method | BufferFramePut | Puts audio from a frame to the buffer.
Public Method | BufferGet |
Public Method | BufferLinesMix | Mixes audio from buffer lines
Public Method | BufferLinesRemove | Removes line from buffer
Public Method | BufferLoadFromFile | Loads audio form file to a buffer.
Public Method | BufferPropsGet | Gets buffer's audio props
Public Method | BufferPropsSet | Sets buffer's audio properties
Public Method | BufferPutPtr | Puts audio data to a buffer. If _pbAudio is NULL then the buffer is filled with silence
Public Method | BufferPutPtrEx |
Public Method | BufferRemove | Removes audio data from the buffer
Public Method | BufferTimesEnable |
Public Method | BufferTimesGet |
Public Method | BufferTimesIsEnabled |
Public Method | BufferTimesSet |
Top
See Also

Reference

MFAudioBufferClass Class
MFORMATSLib Namespace


BufferFrameChannelsAppend Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferFrameChannelsAppend Method
buffer's line
frame from audio channels will be appended
samples appended
channels' list, for example "0,1,2,3"
Appends audio channels from buffer to a specified frame, the number of samples retrieved from specified frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferFrameChannelsAppend( _
   ByVal _bsLine As System.String, _
   ByVal _pFrame As MFFrame, _
   ByRef _plSamplesAppend As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

public virtual void BufferFrameChannelsAppend(
   System.string _bsLine,
   MFFrame _pFrame,
   out System.int _plSamplesAppend,
   System.string _bsChannelsList
)

public:
virtual void BufferFrameChannelsAppend(
   System.String^ _bsLine,
   MFFrame^ _pFrame,
   [Out] System.int _plSamplesAppend,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pFrame

frame from audio channels will be appended
_plSamplesAppend

samples appended
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferFrameFill Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferFrameFill Method
buffer's line
frame to be filled from buffer
number of audio samples
channels' list, for example "0,1,2,3"
Reads audio from buffer to frame. If _nSamples = 0 then the audio duration calculated from frame rate, if _nSamples < 0 then whole buffer is used.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferFrameFill( _
   ByVal _bsLine As System.String, _
   ByVal _pFrame As MFFrame, _
   ByRef _plSamples As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

public virtual void BufferFrameFill(
   System.string _bsLine,
   MFFrame _pFrame,
   out System.int _plSamples,
   System.string _bsChannelsList
)

public:
virtual void BufferFrameFill(
   System.String^ _bsLine,
   MFFrame^ _pFrame,
   [Out] System.int _plSamples,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pFrame

frame to be filled from buffer
_plSamples

number of audio samples
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferFrameMix Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferFrameMix Method
buffer's line from which audio will be mixed
frame to which mixed audio will be implemented
mixed samples
start gain in dB
end gain in dB
input channels' list, for example "0,1,2,3"
output channels' list, for example "0,2,1,3"
Mixes audio from buffer with specified frame, the number of samples retrieved from specified frame.
Note: The audio can be insufficient. In this case use two lines for mixing.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferFrameMix( _
   ByVal _bsLineFrom As System.String, _
   ByVal _pFrameTo As MFFrame, _
   ByRef _plSamplesMix As System.Integer, _
   ByVal _dblGainFromStartDb As System.Double, _
   ByVal _dblGainFromEndDb As System.Double, _
   ByVal _bsChannelsListIn As System.String, _
   ByVal _bsChannelsListOut As System.String _
)

public virtual void BufferFrameMix(
   System.string _bsLineFrom,
   MFFrame _pFrameTo,
   out System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.string _bsChannelsListIn,
   System.string _bsChannelsListOut
)

public:
virtual void BufferFrameMix(
   System.String^ _bsLineFrom,
   MFFrame^ _pFrameTo,
   [Out] System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.String^ _bsChannelsListIn,
   System.String^ _bsChannelsListOut
)

Parameters
_bsLineFrom

buffer's line from which audio will be mixed
_pFrameTo

frame to which mixed audio will be implemented
_plSamplesMix

mixed samples
_dblGainFromStartDb

start gain in dB
_dblGainFromEndDb

end gain in dB
_bsChannelsListIn

input channels' list, for example "0,1,2,3"
_bsChannelsListOut

output channels' list, for example "0,2,1,3"

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferFramePut Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferFramePut Method
buffer's line
source frame
channels' list, for example "0,1,2,3"
Puts audio from a frame to the buffer.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferFramePut( _
   ByVal _bsLine As System.String, _
   ByVal _pFrame As MFFrame, _
   ByVal _bsChannelsList As System.String _
)

public virtual void BufferFramePut(
   System.string _bsLine,
   MFFrame _pFrame,
   System.string _bsChannelsList
)

public:
virtual void BufferFramePut(
   System.String^ _bsLine,
   MFFrame^ _pFrame,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pFrame

source frame
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferGet Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferGet( _
   ByVal _bsLine As System.String, _
   ByRef _plSamples As System.Integer, _
   ByRef _ppbAudio As System.Long, _
   ByVal _cbAudioPlane As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

public virtual void BufferGet(
   System.string _bsLine,
   out System.int _plSamples,
   out System.long _ppbAudio,
   System.int _cbAudioPlane,
   System.string _bsChannelsList
)

public:
virtual void BufferGet(
   System.String^ _bsLine,
   [Out] System.int _plSamples,
   [Out] System.int64 _ppbAudio,
   System.int _cbAudioPlane,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

_plSamples

_ppbAudio

_cbAudioPlane

_bsChannelsList

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferLinesMix Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferLinesMix Method
line from which audio is mixed
line to which audio is mixed
mixed samples
start gain in dB for "from" line
end gain in dB for "from" line
start gain in dB for "to" line
end gain in dB for "to" line
list of input audio channels, for example "0,1,2,3"
list of output audio channels, for example "0,3,2,1"
Mixes audio from buffer lines
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferLinesMix( _
   ByVal _bsLineFrom As System.String, _
   ByVal _bsLineTo As System.String, _
   ByRef _plSamplesMix As System.Integer, _
   ByVal _dblGainFromStartDb As System.Double, _
   ByVal _dblGainFromEndDb As System.Double, _
   ByVal _dblGainToStartDb As System.Double, _
   ByVal _dblGainToEndDb As System.Double, _
   ByVal _bsChannelsListIn As System.String, _
   ByVal _bsChannelsListOut As System.String _
)

public virtual void BufferLinesMix(
   System.string _bsLineFrom,
   System.string _bsLineTo,
   out System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.double _dblGainToStartDb,
   System.double _dblGainToEndDb,
   System.string _bsChannelsListIn,
   System.string _bsChannelsListOut
)

public:
virtual void BufferLinesMix(
   System.String^ _bsLineFrom,
   System.String^ _bsLineTo,
   [Out] System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.double _dblGainToStartDb,
   System.double _dblGainToEndDb,
   System.String^ _bsChannelsListIn,
   System.String^ _bsChannelsListOut
)

Parameters
_bsLineFrom

line from which audio is mixed
_bsLineTo

line to which audio is mixed
_plSamplesMix

mixed samples
_dblGainFromStartDb

start gain in dB for "from" line
_dblGainFromEndDb

end gain in dB for "from" line
_dblGainToStartDb

start gain in dB for "to" line
_dblGainToEndDb

end gain in dB for "to" line
_bsChannelsListIn

list of input audio channels, for example "0,1,2,3"
_bsChannelsListOut

list of output audio channels, for example "0,3,2,1"

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferLinesRemove Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferLinesRemove Method
buffer's line
Removes line from buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferLinesRemove( _
   ByVal _bsLine As System.String _
)

public virtual void BufferLinesRemove(
   System.string _bsLine
)

public:
virtual void BufferLinesRemove(
   System.String^ _bsLine
)

Parameters
_bsLine

buffer's line

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferLoadFromFile Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferLoadFromFile Method
buffer's line
full path to a source file
number of audio samples to be loaded. If _lSamplesLoad <= 0 then try to load whole file.
Loads audio form file to a buffer.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferLoadFromFile( _
   ByVal _bsLine As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _lSamplesOffset As System.Integer, _
   ByVal _lSamplesLoad As System.Integer _
)

public virtual void BufferLoadFromFile(
   System.string _bsLine,
   System.string _bsFileName,
   System.int _lSamplesOffset,
   System.int _lSamplesLoad
)

public:
virtual void BufferLoadFromFile(
   System.String^ _bsLine,
   System.String^ _bsFileName,
   System.int _lSamplesOffset,
   System.int _lSamplesLoad
)

Parameters
_bsLine

buffer's line
_bsFileName

full path to a source file
_lSamplesOffset

_lSamplesLoad

number of audio samples to be loaded. If _lSamplesLoad <= 0 then try to load whole file.

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferPropsGet Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferPropsGet Method
buffer's line
audio properties
number of audio samples
Gets buffer's audio props
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferPropsGet( _
   ByVal _bsLine As System.String, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _plSamples As System.Integer _
)

public virtual void BufferPropsGet(
   System.string _bsLine,
   out M_AUD_PROPS _pAudProps,
   out System.int _plSamples
)

public:
virtual void BufferPropsGet(
   System.String^ _bsLine,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.int _plSamples
)

Parameters
_bsLine

buffer's line
_pAudProps

audio properties
_plSamples

number of audio samples

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferPropsSet Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferPropsSet Method
buffer's line
audio properties
whether buffer will be reset ("1") or not ("0")
Sets buffer's audio properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferPropsSet( _
   ByVal _bsLine As System.String, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _bResetBuffer As System.Integer _
)

public virtual void BufferPropsSet(
   System.string _bsLine,
   ref M_AUD_PROPS _pAudProps,
   System.int _bResetBuffer
)

public:
virtual void BufferPropsSet(
   System.String^ _bsLine,
   M_AUD_PROPS% _pAudProps,
   System.int _bResetBuffer
)

Parameters
_bsLine

buffer's line
_pAudProps

audio properties
_bResetBuffer

whether buffer will be reset ("1") or not ("0")

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferPutPtr Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferPutPtr Method
buffer's line
audio properties
number of audio samples
pointer to audio data
channels' list, for example "0,1,2,3"
Puts audio data to a buffer. If _pbAudio is NULL then the buffer is filled with silence
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferPutPtr( _
   ByVal _bsLine As System.String, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _lSamples As System.Integer, _
   ByVal _pbAudio As System.Long, _
   ByVal _bsChannelsList As System.String _
)

public virtual void BufferPutPtr(
   System.string _bsLine,
   ref M_AUD_PROPS _pAudProps,
   System.int _lSamples,
   System.long _pbAudio,
   System.string _bsChannelsList
)

public:
virtual void BufferPutPtr(
   System.String^ _bsLine,
   M_AUD_PROPS% _pAudProps,
   System.int _lSamples,
   System.int64 _pbAudio,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pAudProps

audio properties
_lSamples

number of audio samples
_pbAudio

pointer to audio data
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferPutPtrEx Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferPutPtrEx Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferPutPtrEx( _
   ByVal _bsLine As System.String, _
   ByVal _rtTime As System.Long, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _lSamples As System.Integer, _
   ByVal _pbAudio As System.Long, _
   ByVal _cbAudioPlane As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

public virtual void BufferPutPtrEx(
   System.string _bsLine,
   System.long _rtTime,
   ref M_AUD_PROPS _pAudProps,
   System.int _lSamples,
   System.long _pbAudio,
   System.int _cbAudioPlane,
   System.string _bsChannelsList
)

public:
virtual void BufferPutPtrEx(
   System.String^ _bsLine,
   System.int64 _rtTime,
   M_AUD_PROPS% _pAudProps,
   System.int _lSamples,
   System.int64 _pbAudio,
   System.int _cbAudioPlane,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

_rtTime

_pAudProps

_lSamples

_pbAudio

_cbAudioPlane

_bsChannelsList

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferRemove Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferRemove Method
audio line
audio samples
Removes audio data from the buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferRemove( _
   ByVal _bsLine As System.String, _
   ByRef _plSamples As System.Integer _
)

public virtual void BufferRemove(
   System.string _bsLine,
   out System.int _plSamples
)

public:
virtual void BufferRemove(
   System.String^ _bsLine,
   [Out] System.int _plSamples
)

Parameters
_bsLine

audio line
_plSamples

audio samples

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferTimesEnable Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferTimesEnable Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferTimesEnable( _
   ByVal _bsLine As System.String, _
   ByVal _bEnable As System.Integer, _
   ByVal _prtMinDiff As System.Long, _
   ByVal _prtMaxDiff As System.Long _
)

public virtual void BufferTimesEnable(
   System.string _bsLine,
   System.int _bEnable,
   System.long _prtMinDiff,
   System.long _prtMaxDiff
)

public:
virtual void BufferTimesEnable(
   System.String^ _bsLine,
   System.int _bEnable,
   System.int64 _prtMinDiff,
   System.int64 _prtMaxDiff
)

Parameters
_bsLine

_bEnable

_prtMinDiff

_prtMaxDiff

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferTimesGet Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferTimesGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferTimesGet( _
   ByVal _bsLine As System.String, _
   ByRef _prtStartTime As System.Long, _
   ByRef _prtEndTime As System.Long _
)

public virtual void BufferTimesGet(
   System.string _bsLine,
   out System.long _prtStartTime,
   out System.long _prtEndTime
)

public:
virtual void BufferTimesGet(
   System.String^ _bsLine,
   [Out] System.int64 _prtStartTime,
   [Out] System.int64 _prtEndTime
)

Parameters
_bsLine

_prtStartTime

_prtEndTime

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferTimesIsEnabled Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferTimesIsEnabled Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferTimesIsEnabled( _
   ByVal _bsLine As System.String, _
   ByRef _pbEnabled As System.Integer, _
   ByRef _prtMinDiff As System.Long, _
   ByRef _prtMaxDiff As System.Long _
)

public virtual void BufferTimesIsEnabled(
   System.string _bsLine,
   out System.int _pbEnabled,
   out System.long _prtMinDiff,
   out System.long _prtMaxDiff
)

public:
virtual void BufferTimesIsEnabled(
   System.String^ _bsLine,
   [Out] System.int _pbEnabled,
   [Out] System.int64 _prtMinDiff,
   [Out] System.int64 _prtMaxDiff
)

Parameters
_bsLine

_pbEnabled

_prtMinDiff

_prtMaxDiff

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


BufferTimesSet Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : BufferTimesSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub BufferTimesSet( _
   ByVal _bsLine As System.String, _
   ByVal _rtStartTime As System.Long, _
   ByVal _rtMinEndTime As System.Long _
)

public virtual void BufferTimesSet(
   System.string _bsLine,
   System.long _rtStartTime,
   System.long _rtMinEndTime
)

public:
virtual void BufferTimesSet(
   System.String^ _bsLine,
   System.int64 _rtStartTime,
   System.int64 _rtMinEndTime
)

Parameters
_bsLine

_rtStartTime

_rtMinEndTime

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


%%PageItemTitle%%

MFConverterClass Class
Members

MFORMATSLib Namespace : MFConverterClass Class
Operates conversion of frames
See Also

Reference

MFConverterClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFConverterClass Class Members
Methods

MFORMATSLib Namespace : MFConverterClass Class

The following tables list the members exposed by MFConverterClass.

Public Methods
 | Name | Description
Public Method | ConverterFrameConvert | Converts a source frame to required format
Public Method | ConverterReset | Resets a converter. Call this method after conversion.
Public Method | TransitionMake | Makes a transition between frames
Public Method | TransitionReset | Resets a transition. Call this method before start frame-rate conversion.
Top
See Also

Reference

MFConverterClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFConverterClass Class Methods

MFORMATSLib Namespace : MFConverterClass Class

For a list of all members of this type, see MFConverterClass members.

Public Methods
 | Name | Description
Public Method | ConverterFrameConvert | Converts a source frame to required format
Public Method | ConverterReset | Resets a converter. Call this method after conversion.
Public Method | TransitionMake | Makes a transition between frames
Public Method | TransitionReset | Resets a transition. Call this method before start frame-rate conversion.
Top
See Also

Reference

MFConverterClass Class
MFORMATSLib Namespace


ConverterFrameConvert Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : ConverterFrameConvert Method
line
source frame
media properties for output frame
result frame
additional properties
Converts a source frame to required format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ConverterFrameConvert( _
   ByVal _bsLine As System.String, _
   ByVal _pFrameIn As MFFrame, _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByRef _ppFrameOut As MFFrame, _
   ByRef _pnFramesRest As System.Integer, _
   ByVal _bsPropsList As System.String _
)

public virtual void ConverterFrameConvert(
   System.string _bsLine,
   MFFrame _pFrameIn,
   ref M_AV_PROPS _pAVPropsOut,
   out MFFrame _ppFrameOut,
   out System.int _pnFramesRest,
   System.string _bsPropsList
)

public:
virtual void ConverterFrameConvert(
   System.String^ _bsLine,
   MFFrame^ _pFrameIn,
   M_AV_PROPS% _pAVPropsOut,
   [Out] MFFrame^ _ppFrameOut,
   [Out] System.int _pnFramesRest,
   System.String^ _bsPropsList
)

Parameters
_bsLine

line
_pFrameIn

source frame
_pAVPropsOut

media properties for output frame
_ppFrameOut

result frame
_pnFramesRest

_bsPropsList

additional properties

See Also
Reference
MFConverterClass Class

MFConverterClass Members


ConverterReset Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : ConverterReset Method
line
Resets a converter. Call this method after conversion.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ConverterReset( _
   ByVal _bsLine As System.String _
)

public virtual void ConverterReset(
   System.string _bsLine
)

public:
virtual void ConverterReset(
   System.String^ _bsLine
)

Parameters
_bsLine

line

See Also
Reference
MFConverterClass Class

MFConverterClass Members


TransitionMake Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : TransitionMake Method
line
a frame from which the transition is started
a frame to which the transition is implemented
position of a transition
transition frame
transition's name
additional properties
Makes a transition between frames
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub TransitionMake( _
   ByVal _bsLine As System.String, _
   ByVal _pFrameFrom As MFFrame, _
   ByVal _pFrameTo As MFFrame, _
   ByVal _dblPos As System.Double, _
   ByRef _ppFrameTrans As MFFrame, _
   ByVal _bsTransition As System.String, _
   ByVal _bsPropsList As System.String _
)

public virtual void TransitionMake(
   System.string _bsLine,
   MFFrame _pFrameFrom,
   MFFrame _pFrameTo,
   System.double _dblPos,
   out MFFrame _ppFrameTrans,
   System.string _bsTransition,
   System.string _bsPropsList
)

public:
virtual void TransitionMake(
   System.String^ _bsLine,
   MFFrame^ _pFrameFrom,
   MFFrame^ _pFrameTo,
   System.double _dblPos,
   [Out] MFFrame^ _ppFrameTrans,
   System.String^ _bsTransition,
   System.String^ _bsPropsList
)

Parameters
_bsLine

line
_pFrameFrom

a frame from which the transition is started
_pFrameTo

a frame to which the transition is implemented
_dblPos

position of a transition
_ppFrameTrans

transition frame
_bsTransition

transition's name
_bsPropsList

additional properties

See Also
Reference
MFConverterClass Class

MFConverterClass Members


TransitionReset Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : TransitionReset Method
Resets a transition. Call this method before start frame-rate conversion.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub TransitionReset( _
   ByVal _bsLine As System.String _
)

public virtual void TransitionReset(
   System.string _bsLine
)

public:
virtual void TransitionReset(
   System.String^ _bsLine
)

Parameters
_bsLine

See Also
Reference
MFConverterClass Class

MFConverterClass Members


%%PageItemTitle%%

MFFactoryClass Class
Members

MFORMATSLib Namespace : MFFactoryClass Class
Manages the operations for create, clone and make frame loacal
See Also

Reference

MFFactoryClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFFactoryClass Class Members
Methods

MFORMATSLib Namespace : MFFactoryClass Class

The following tables list the members exposed by MFFactoryClass.

Public Methods
 | Name | Description
Public Method | IMProps_PropsGet |
Public Method | IMProps_PropsGetByIndex |
Public Method | IMProps_PropsGetCount |
Public Method | IMProps_PropsInfoGet |
Public Method | IMProps_PropsOptionGet |
Public Method | IMProps_PropsOptionGetByIndex |
Public Method | IMProps_PropsOptionGetCount |
Public Method | IMProps_PropsOptionSetByIndex |
Public Method | IMProps_PropsRemove |
Public Method | IMProps_PropsSet |
Public Method | MFFrameClone | Gets a clone of the frame. See eMFrameClone for more information about clone types. If _fccPixelFormat is not eMFCC_Default and not the original, then video will be copied even for reference frames. Note: If frame is out-of-prcoess, the clone ALSO out-of-process. You should call MFFrameMakeLocal() for such frames.
Public Method | MFFrameCreateFromFile | Creates a frame from a file
Public Method | MFFrameCreateFromHBITMAP | Creates a frame from a HBitmap object
Public Method | MFFrameCreateFromMem | Creates a frame from memory
Public Method | MFFrameCreateFromMemEx |
Public Method | MFFrameCreatePlain | Creates a plain (empty) frame
Public Method | MFFrameCreateWrapper | Creates frame from object (e.g. WICBitmapLock, D3D9Surface, MediaSample, NSSBuffer - etc) - just keeps a reference to external object and use memory pointer.
Public Method | MFFrameMakeLocal | Makes a local copy of external frame. For interprocess communication. Before use a frame from another process make sure that you call this method.
Public Method | ProcessFrame | Process frame
Public Method | PropsGet |
Public Method | PropsGetByIndex |
Public Method | PropsGetCount |
Public Method | PropsInfoGet |
Public Method | PropsOptionGet |
Public Method | PropsOptionGetByIndex |
Public Method | PropsOptionGetCount |
Public Method | PropsOptionSetByIndex |
Public Method | PropsRemove |
Public Method | PropsSet |
Public Method | SendersGet |
Public Method | SendersGetByIndex |
Public Method | SendersGetCount |
Top
See Also

Reference

MFFactoryClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFFactoryClass Class Methods

MFORMATSLib Namespace : MFFactoryClass Class

For a list of all members of this type, see MFFactoryClass members.

Public Methods
 | Name | Description
Public Method | IMProps_PropsGet |
Public Method | IMProps_PropsGetByIndex |
Public Method | IMProps_PropsGetCount |
Public Method | IMProps_PropsInfoGet |
Public Method | IMProps_PropsOptionGet |
Public Method | IMProps_PropsOptionGetByIndex |
Public Method | IMProps_PropsOptionGetCount |
Public Method | IMProps_PropsOptionSetByIndex |
Public Method | IMProps_PropsRemove |
Public Method | IMProps_PropsSet |
Public Method | MFFrameClone | Gets a clone of the frame. See eMFrameClone for more information about clone types. If _fccPixelFormat is not eMFCC_Default and not the original, then video will be copied even for reference frames. Note: If frame is out-of-prcoess, the clone ALSO out-of-process. You should call MFFrameMakeLocal() for such frames.
Public Method | MFFrameCreateFromFile | Creates a frame from a file
Public Method | MFFrameCreateFromHBITMAP | Creates a frame from a HBitmap object
Public Method | MFFrameCreateFromMem | Creates a frame from memory
Public Method | MFFrameCreateFromMemEx |
Public Method | MFFrameCreatePlain | Creates a plain (empty) frame
Public Method | MFFrameCreateWrapper | Creates frame from object (e.g. WICBitmapLock, D3D9Surface, MediaSample, NSSBuffer - etc) - just keeps a reference to external object and use memory pointer.
Public Method | MFFrameMakeLocal | Makes a local copy of external frame. For interprocess communication. Before use a frame from another process make sure that you call this method.
Public Method | ProcessFrame | Process frame
Public Method | PropsGet |
Public Method | PropsGetByIndex |
Public Method | PropsGetCount |
Public Method | PropsInfoGet |
Public Method | PropsOptionGet |
Public Method | PropsOptionGetByIndex |
Public Method | PropsOptionGetCount |
Public Method | PropsOptionSetByIndex |
Public Method | PropsRemove |
Public Method | PropsSet |
Public Method | SendersGet |
Public Method | SendersGetByIndex |
Public Method | SendersGetCount |
Top
See Also

Reference

MFFactoryClass Class
MFORMATSLib Namespace


IMProps_PropsGet Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void IMProps_PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void IMProps_PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

_pbsPropValue

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsGetByIndex Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void IMProps_PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void IMProps_PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

_nIndex

_pbsPropName

_pbsPropValue

_pbNode

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsGetCount Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void IMProps_PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void IMProps_PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

_pnCount

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsInfoGet Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsInfoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void IMProps_PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void IMProps_PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

_eType

_pbsInfo

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsOptionGet Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsOptionGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void IMProps_PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void IMProps_PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_pnOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsOptionGetByIndex Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsOptionGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void IMProps_PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void IMProps_PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_nOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsOptionGetCount Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsOptionGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void IMProps_PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void IMProps_PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

_pnOptionCount

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsOptionSetByIndex Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsOptionSetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void IMProps_PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void IMProps_PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

_nOptionInx

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsRemove Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsRemove Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void IMProps_PropsRemove(
   System.string _bsPropName
)

public:
virtual void IMProps_PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


IMProps_PropsSet Method

MFORMATSLib Namespace > MFFactoryClass Class : IMProps_PropsSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMProps_PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void IMProps_PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void IMProps_PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

_bsPropValue

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameClone Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameClone Method
source frame object
result frame
clone's type
pixel's format
Gets a clone of the frame. See eMFrameClone for more information about clone types. If _fccPixelFormat is not eMFCC_Default and not the original, then video will be copied even for reference frames.
Note: If frame is out-of-prcoess, the clone ALSO out-of-process. You should call MFFrameMakeLocal() for such frames.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameClone( _
   ByVal _pMFFrame As System.Object, _
   ByRef _ppFrameClone As MFFrame, _
   ByVal _eCloneType As eMFrameClone, _
   ByVal _fccPixelFormat As eMFCC _
)

public virtual void MFFrameClone(
   System.object _pMFFrame,
   out MFFrame _ppFrameClone,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

public:
virtual void MFFrameClone(
   System.Object^ _pMFFrame,
   [Out] MFFrame^ _ppFrameClone,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

Parameters
_pMFFrame

source frame object
_ppFrameClone

result frame
_eCloneType

clone's type
_fccPixelFormat

pixel's format

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameCreateFromFile Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameCreateFromFile Method
path to source file (JPEG, PNG, BMP or TIFF image)
result frame
additional properties
Creates a frame from a file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameCreateFromFile( _
   ByVal _bsFileName As System.String, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

public virtual void MFFrameCreateFromFile(
   System.string _bsFileName,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

public:
virtual void MFFrameCreateFromFile(
   System.String^ _bsFileName,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_bsFileName

path to source file (JPEG, PNG, BMP or TIFF image)
_ppFrame

result frame
_bsPropsList

additional properties

Example
Here is an example of how to create a frame from file and sent it to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
MFFactoryClass factory = new MFFactoryClass();
MFFrame frame;
factory.MFFrameCreateFromFile(pathToFile, out frame, "");
m_objPreview.ReceiverFramePut(frame, -1, "");

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameCreateFromHBITMAP Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameCreateFromHBITMAP Method
bitmap handle object
result frame
additional properties
Creates a frame from a HBitmap object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameCreateFromHBITMAP( _
   ByVal _hBitmap As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

public virtual void MFFrameCreateFromHBITMAP(
   System.long _hBitmap,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

public:
virtual void MFFrameCreateFromHBITMAP(
   System.int64 _hBitmap,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_hBitmap

bitmap handle object
_ppFrame

result frame
_bsPropsList

additional properties

Example
Here is an example of how to create a frame from HBitmap and sent it to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
MFFactoryClass factory = new MFFactoryClass();
MFFrame frame;
factory.MFFrameCreateFromFile(h_bitmap, out frame, "");
m_objPreview.ReceiverFramePut(frame, -1, "");

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameCreateFromMem Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameCreateFromMem Method
media properties for a frame
pointer to video data
number of audio samples
pointer to audio data
result frame
Creates a frame from memory
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameCreateFromMem( _
   ByRef _pAVProps As M_AV_PROPS, _
   ByVal _lpVideo As System.Long, _
   ByVal _lAudioSamples As System.Integer, _
   ByVal _lpAudio As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

public virtual void MFFrameCreateFromMem(
   ref M_AV_PROPS _pAVProps,
   System.long _lpVideo,
   System.int _lAudioSamples,
   System.long _lpAudio,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

public:
virtual void MFFrameCreateFromMem(
   M_AV_PROPS% _pAVProps,
   System.int64 _lpVideo,
   System.int _lAudioSamples,
   System.int64 _lpAudio,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_pAVProps

media properties for a frame
_lpVideo

pointer to video data
_lAudioSamples

number of audio samples
_lpAudio

pointer to audio data
_ppFrame

result frame
_bsPropsList

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
M_AV_PROPS m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
MFFactoryClass factory = new MFFactoryClass();
MFFrame frame;
factory.MFFrameCreateFromMem(ref m_avProps, pointerToVideo, _lAudioSamples, pointerToAudio, out frame);
m_objPreview.ReceiverFramePut(frame, -1, ""); // show the frame on preview

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameCreateFromMemEx Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameCreateFromMemEx Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameCreateFromMemEx( _
   ByRef _pAVProps As M_AV_PROPS, _
   ByRef _pVideoPtr As MF_VID_PTR, _
   ByVal _lAudioSamples As System.Integer, _
   ByVal _lpAudio As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

public virtual void MFFrameCreateFromMemEx(
   ref M_AV_PROPS _pAVProps,
   ref MF_VID_PTR _pVideoPtr,
   System.int _lAudioSamples,
   System.long _lpAudio,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

public:
virtual void MFFrameCreateFromMemEx(
   M_AV_PROPS% _pAVProps,
   MF_VID_PTR% _pVideoPtr,
   System.int _lAudioSamples,
   System.int64 _lpAudio,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_pAVProps

_pVideoPtr

_lAudioSamples

_lpAudio

_ppFrame

_bsPropsList

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameCreatePlain Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameCreatePlain Method
video data size (for empty frame set it to 0)
result frame object
Creates a plain (empty) frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameCreatePlain( _
   ByVal _cbVideoSize As System.Integer, _
   ByRef _ppFrame As MFFrame _
)

public virtual void MFFrameCreatePlain(
   System.int _cbVideoSize,
   out MFFrame _ppFrame
)

public:
virtual void MFFrameCreatePlain(
   System.int _cbVideoSize,
   [Out] MFFrame^ _ppFrame
)

Parameters
_cbVideoSize

video data size (for empty frame set it to 0)
_ppFrame

result frame object

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameCreateWrapper Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameCreateWrapper Method
video properties
video data size
video data pointer in memory
wrapper object
output frame
Creates frame from object (e.g. WICBitmapLock, D3D9Surface, MediaSample, NSSBuffer - etc) - just keeps a reference to external object and use memory pointer.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameCreateWrapper( _
   ByRef _pVidProps As M_VID_PROPS, _
   ByVal _cbVideo As System.UInteger, _
   ByVal _lpVideo As System.Long, _
   ByVal _pObject As System.Object, _
   ByRef _ppFrame As MFFrame _
)

public virtual void MFFrameCreateWrapper(
   ref M_VID_PROPS _pVidProps,
   System.uint _cbVideo,
   System.long _lpVideo,
   System.object _pObject,
   out MFFrame _ppFrame
)

public:
virtual void MFFrameCreateWrapper(
   M_VID_PROPS% _pVidProps,
   System.uint _cbVideo,
   System.int64 _lpVideo,
   System.Object^ _pObject,
   [Out] MFFrame^ _ppFrame
)

Parameters
_pVidProps

video properties
_cbVideo

video data size
_lpVideo

video data pointer in memory
_pObject

wrapper object
_ppFrame

output frame

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MFFrameMakeLocal Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MFFrameMakeLocal Method
source frame object
result frame
indicates whether will be a frame's clone created
Makes a local copy of external frame. For interprocess communication. Before use a frame from another process make sure that you call this method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFrameMakeLocal( _
   ByVal _pMFFrame As System.Object, _
   ByRef _ppFrameLocal As MFFrame, _
   ByVal _bAlwaysClone As System.Integer _
)

public virtual void MFFrameMakeLocal(
   System.object _pMFFrame,
   out MFFrame _ppFrameLocal,
   System.int _bAlwaysClone
)

public:
virtual void MFFrameMakeLocal(
   System.Object^ _pMFFrame,
   [Out] MFFrame^ _ppFrameLocal,
   System.int _bAlwaysClone
)

Parameters
_pMFFrame

source frame object
_ppFrameLocal

result frame
_bAlwaysClone

indicates whether will be a frame's clone created

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


ProcessFrame Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : ProcessFrame Method
input frame
output frame
number of rest frames
additional properties
Process frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ProcessFrame( _
   ByVal _pFrameIn As MFFrame, _
   ByRef _ppFrameOut As MFFrame, _
   ByRef _pnFramesRest As System.Integer, _
   ByVal _bsPropsList As System.String _
)

public virtual void ProcessFrame(
   MFFrame _pFrameIn,
   out MFFrame _ppFrameOut,
   out System.int _pnFramesRest,
   System.string _bsPropsList
)

public:
virtual void ProcessFrame(
   MFFrame^ _pFrameIn,
   [Out] MFFrame^ _ppFrameOut,
   [Out] System.int _pnFramesRest,
   System.String^ _bsPropsList
)

Parameters
_pFrameIn

input frame
_ppFrameOut

output frame
_pnFramesRest

number of rest frames
_bsPropsList

additional properties

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsGet Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

_pbsPropValue

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsGetByIndex Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

_nIndex

_pbsPropName

_pbsPropValue

_pbNode

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsGetCount Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

_pnCount

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsInfoGet Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsInfoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

_eType

_pbsInfo

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsOptionGet Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsOptionGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_pnOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsOptionGetByIndex Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsOptionGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_nOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsOptionGetCount Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsOptionGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

_pnOptionCount

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsOptionSetByIndex Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsOptionSetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

_nOptionInx

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsRemove Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsRemove Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


PropsSet Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : PropsSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

_bsPropValue

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


SendersGet Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : SendersGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendersGet( _
   ByVal _bsName As System.String, _
   ByRef _ppSender As System.Object _
)

public virtual void SendersGet(
   System.string _bsName,
   out System.object _ppSender
)

public:
virtual void SendersGet(
   System.String^ _bsName,
   [Out] System.Object^ _ppSender
)

Parameters
_bsName

_ppSender

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


SendersGetByIndex Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : SendersGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendersGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pAudProps As M_AUD_PROPS _
)

public virtual void SendersGetByIndex(
   System.int _nIndex,
   out System.string _pbsName,
   out M_VID_PROPS _pVidProps,
   out M_AUD_PROPS _pAudProps
)

public:
virtual void SendersGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] M_VID_PROPS _pVidProps,
   [Out] M_AUD_PROPS _pAudProps
)

Parameters
_nIndex

_pbsName

_pVidProps

_pAudProps

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


SendersGetCount Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : SendersGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendersGetCount( _
   ByRef _pnCount As System.Integer _
)

public virtual void SendersGetCount(
   out System.int _pnCount
)

public:
virtual void SendersGetCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


%%PageItemTitle%%

MFFrameClass Class
Members

MFORMATSLib Namespace : MFFrameClass Class
Manages a single frame
See Also

Reference

MFFrameClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFFrameClass Class Members
Methods

MFORMATSLib Namespace : MFFrameClass Class

The following tables list the members exposed by MFFrameClass.

Public Methods
Name | Description
Public Method | MFAddToStream
Public Method | MFAllGet | Gets all frame's properties
Public Method | MFAudioAlloc | Allocates frame's audio data
Public Method MFAudioChannelGetBytes Gets audio channel's data pointer.
Warning: For 20, 24, 32 integer this method returns 32 bit float data. The changes are applied only after a call of MFAudioChannelsUpdate() method
Public Method | MFAudioChannelsUpdate | Update frame's audio channel's data or number of channels. Call this method after modification of memory that is returned by MFAudioChannelGetBytes() method.
Public Method | MFAudioCopyTo | Copies audio channels, the bits conversion can be also performed
Public Method MFAudioGain

Specify the audio gain for the frame.

The mothod accepts 2 parameters: start and end gain values. You can use them to increase the gain smoothly and avoid the audio artefacts appearance.

For example:

  • C#
// Rise the audio gain from -5 dB to -6 dB within this frame
pFrame.MFAudioGain("0", -5,-6);

You can also make a smooth gain change ramp within a certain period of time by making a cascade of gain changes from one frame to another.

Public Method | MFAudioGetBytes | Gets audio data pointer and data size
Public Method | MFAudioLoadFromFile | Loads audio data from a WAV file
Public Method | MFAudioMix | Mixes audio data
Public Method | MFAudioMixDirect | Directly mixes audio data (audio data of source frame and of the mixed frame should have equal frequency)
Public Method MFAudioSaveToFile Save audio to file (WAV format is used). If the file is exist and have WAV format then audio will be added to the end of the file.
Note: format is not checked.
Public Method | MFAudioSet | Sets frame's audio data
Public Method | MFAVPropsGet | Gets the audio and video properties of the frame
Public Method MFAVPropsSet Sets media properties for the frame.
Note that width, height, row-bytes can't be changed with this method. To change them you should convert a frame.
Public Method | MFClone | Gets a clone of the frame. See eMFrameClone for more information about clone types.
Public Method | MFConvert | Converts the frame's format (include frame rate conversion) or just scale the video frame.
Public Method | MFCut | Cuts out part of video frame without memory copy. nFeild <= 0->both, nField=1 -> first field, nField=2 -> second field
Public Method | MFDataGet | Gets ancillary data by four char code e.g. 'C608'.
Public Method | MFDataGetByIndex | Gets ancillary data by its index
Public Method | MFDataSet | Sets ancillary data by four char code e.g. 'C608'.
Public Method | MFFlagCheck | Checks a frame's flag
Public Method | MFGetProcessID | Gets frame's process ID
Public Method | MFLoad | Loads a full copy of all data (used internally for transfer data between process)
Public Method | MFLoadFromStream
Public Method | MFObjGet | Gets an attached object by its ID
Public Method | MFObjGetByIndex | Gets an attached object by its index.
Public Method | MFObjSet | Sets an attached object by its ID
Public Method | MFOverlay | Mixes frames: overlays _pFrameOverlay frame over this frame. By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' property.
Public Method | MFOverlayRect | Mixes frames - overlays _pFrameOverlay frame over this frame, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horizontal position is aligned by two (e.g. 21->20). By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' props.
Public Method | MFPrint | Prints text over the frame. More details are here.
Public Method | MFResize | Resizes the frame (just scale video frame).
Public Method | MFSave | Saves a full copy of all data (used internally for transfer data between process)
Public Method | MFSaveToStream
Public Method | MFStrGet | Gets a string by its ID
Public Method | MFStrGetByIndex | Gets a string by its index.
Public Method | MFStrSet | Sets a string by its ID.
Public Method | MFTimeGet | Gets a frame's time
Public Method | MFTimeSet | Sets a frame's time
Public Method | MFTransition | Makes a transition between frames
Public Method | MFVideoGetBytes | Gets frame's video data pointer
Public Method | MFVideoGetBytesEx
Public Method | MFVideoGetHbitmap | Gets a HBitmap for a frame
Public Method | MFVideoSaveToFile | Saves frame's video to a file. Supported formats are: PNG, JPG, BMP, TGA, TIFF
Public Method | MFWaitAsync | Waits until asynchronous procedure is finished
Top
See Also

Reference

MFFrameClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFFrameClass Class Methods

MFORMATSLib Namespace : MFFrameClass Class

For a list of all members of this type, see MFFrameClass members.

Public Methods
Name | Description
Public Method | MFAddToStream
Public Method | MFAllGet | Gets all frame's properties
Public Method | MFAudioAlloc | Allocates frame's audio data
Public Method MFAudioChannelGetBytes Gets audio channel's data pointer.
Warning: For 20, 24, 32 integer this method returns 32 bit float data. The changes are applied only after a call of MFAudioChannelsUpdate() method
Public Method | MFAudioChannelsUpdate | Update frame's audio channel's data or number of channels. Call this method after modification of memory that is returned by MFAudioChannelGetBytes() method.
Public Method | MFAudioCopyTo | Copies audio channels, the bits conversion can be also performed
Public Method MFAudioGain

Specify the audio gain for the frame.

The mothod accepts 2 parameters: start and end gain values. You can use them to increase the gain smoothly and avoid the audio artefacts appearance.

For example:

  • C#
// Rise the audio gain from -5 dB to -6 dB within this frame
pFrame.MFAudioGain("0", -5,-6);

You can also make a smooth gain change ramp within a certain period of time by making a cascade of gain changes from one frame to another.

Public Method | MFAudioGetBytes | Gets audio data pointer and data size
Public Method | MFAudioLoadFromFile | Loads audio data from a WAV file
Public Method | MFAudioMix | Mixes audio data
Public Method | MFAudioMixDirect | Directly mixes audio data (audio data of source frame and of the mixed frame should have equal frequency)
Public Method MFAudioSaveToFile Save audio to file (WAV format is used). If the file is exist and have WAV format then audio will be added to the end of the file.
Note: format is not checked.
Public Method | MFAudioSet | Sets frame's audio data
Public Method | MFAVPropsGet | Gets the audio and video properties of the frame
Public Method MFAVPropsSet Sets media properties for the frame.
Note that width, height, row-bytes can't be changed with this method. To change them you should convert a frame.
Public Method | MFClone | Gets a clone of the frame. See eMFrameClone for more information about clone types.
Public Method | MFConvert | Converts the frame's format (include frame rate conversion) or just scale the video frame.
Public Method | MFCut | Cuts out part of video frame without memory copy. nFeild <= 0->both, nField=1 -> first field, nField=2 -> second field
Public Method | MFDataGet | Gets ancillary data by four char code e.g. 'C608'.
Public Method | MFDataGetByIndex | Gets ancillary data by its index
Public Method | MFDataSet | Sets ancillary data by four char code e.g. 'C608'.
Public Method | MFFlagCheck | Checks a frame's flag
Public Method | MFGetProcessID | Gets frame's process ID
Public Method | MFLoad | Loads a full copy of all data (used internally for transfer data between process)
Public Method | MFLoadFromStream
Public Method | MFObjGet | Gets an attached object by its ID
Public Method | MFObjGetByIndex | Gets an attached object by its index.
Public Method | MFObjSet | Sets an attached object by its ID
Public Method | MFOverlay | Mixes frames: overlays _pFrameOverlay frame over this frame. By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' property.
Public Method | MFOverlayRect | Mixes frames - overlays _pFrameOverlay frame over this frame, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horizontal position is aligned by two (e.g. 21->20). By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' props.
Public Method | MFPrint | Prints text over the frame. More details are here.
Public Method | MFResize | Resizes the frame (just scale video frame).
Public Method | MFSave | Saves a full copy of all data (used internally for transfer data between process)
Public Method | MFSaveToStream
Public Method | MFStrGet | Gets a string by its ID
Public Method | MFStrGetByIndex | Gets a string by its index.
Public Method | MFStrSet | Sets a string by its ID.
Public Method | MFTimeGet | Gets a frame's time
Public Method | MFTimeSet | Sets a frame's time
Public Method | MFTransition | Makes a transition between frames
Public Method | MFVideoGetBytes | Gets frame's video data pointer
Public Method | MFVideoGetBytesEx
Public Method | MFVideoGetHbitmap | Gets a HBitmap for a frame
Public Method | MFVideoSaveToFile | Saves frame's video to a file. Supported formats are: PNG, JPG, BMP, TGA, TIFF
Public Method | MFWaitAsync | Waits until asynchronous procedure is finished
Top
See Also

Reference

MFFrameClass Class
MFORMATSLib Namespace


MFAddToStream Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAddToStream Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAddToStream( _
   ByVal _pStream As IStream, _
   ByVal _eSaveType As eMFrameClone _
)

public virtual void MFAddToStream(
   IStream _pStream,
   eMFrameClone _eSaveType
)

public:
virtual void MFAddToStream(
   IStream^ _pStream,
   eMFrameClone _eSaveType
)

Parameters
_pStream

_eSaveType

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAllGet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAllGet Method
frame's properties
Gets all frame's properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAllGet( _
   ByRef _pFrameInfo As MF_FRAME_INFO _
)

public virtual void MFAllGet(
   out MF_FRAME_INFO _pFrameInfo
)

public:
virtual void MFAllGet(
   [Out] MF_FRAME_INFO _pFrameInfo
)

Parameters
_pFrameInfo

frame's properties

Example
Here is an example of how to get all the information from a frame:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
MF_FRAME_INFO frameInfo;
pFrame.MFAllGet(out frameInfo);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioAlloc Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioAlloc Method
frame's audio properties
number of audio samples
Allocates frame's audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioAlloc( _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _lSamples As System.Integer _
)

public virtual void MFAudioAlloc(
   ref M_AUD_PROPS _pAudProps,
   System.int _lSamples
)

public:
virtual void MFAudioAlloc(
   M_AUD_PROPS% _pAudProps,
   System.int _lSamples
)

Parameters
_pAudProps

frame's audio properties
_lSamples

number of audio samples

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioChannelGetBytes Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioChannelGetBytes Method
index of audio channel
indicates whether a new channel will be added ("1") or not ("0")
size of audio data
pointer to audio data
Gets audio channel's data pointer.
Warning: For 20, 24, 32 integer this method returns 32 bit float data. The changes are applied only after a call of MFAudioChannelsUpdate() method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioChannelGetBytes( _
   ByVal _nChannel As System.Integer, _
   ByVal _bCreateNewChannels As System.Integer, _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbAudio As System.Long _
)

public virtual void MFAudioChannelGetBytes(
   System.int _nChannel,
   System.int _bCreateNewChannels,
   out System.int _pcbSize,
   out System.long _ppbAudio
)

public:
virtual void MFAudioChannelGetBytes(
   System.int _nChannel,
   System.int _bCreateNewChannels,
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbAudio
)

Parameters
_nChannel

index of audio channel
_bCreateNewChannels

indicates whether a new channel will be added ("1") or not ("0")
_pcbSize

size of audio data
_ppbAudio

pointer to audio data

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioChannelsUpdate Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioChannelsUpdate Method
Update frame's audio channel's data or number of channels. Call this method after modification of memory that is returned by MFAudioChannelGetBytes() method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioChannelsUpdate()

public virtual void MFAudioChannelsUpdate()

public:
virtual void MFAudioChannelsUpdate();

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioCopyTo Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioCopyTo Method
string with channels, for example, "0,2,3"
a frame to which audio will be copied
Copies audio channels, the bits conversion can be also performed
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioCopyTo( _
   ByVal _bsChannelsList As System.String, _
   ByVal _pFrameTo As MFFrame _
)

public virtual void MFAudioCopyTo(
   System.string _bsChannelsList,
   MFFrame _pFrameTo
)

public:
virtual void MFAudioCopyTo(
   System.String^ _bsChannelsList,
   MFFrame^ _pFrameTo
)

Parameters
_bsChannelsList

string with channels, for example, "0,2,3"
_pFrameTo

a frame to which audio will be copied

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioGain Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioGain Method

The channel numbers to apply the gain. In case of empty string or null will apply the gain for all audio channels.

For example:

  • "" - set the gain for all channels.
  • "0" - set the gain for the first channel.
  • "0,2,3" - set the gain for the first, third and fourth channels.

Start gain value in dB.
end gain in dB

Specify the audio gain for the frame.

The mothod accepts 2 parameters: start and end gain values. You can use them to increase the gain smoothly and avoid the audio artefacts appearance.

For example:

  • C#
// Rise the audio gain from -5 dB to -6 dB within this frame
pFrame.MFAudioGain("0", -5,-6);

You can also make a smooth gain change ramp within a certain period of time by making a cascade of gain changes from one frame to another.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioGain( _
   ByVal _bsChannelsList As System.String, _
   ByVal _dblGainStartDb As System.Double, _
   ByVal _dblGainEndDb As System.Double _
)

public virtual void MFAudioGain(
   System.string _bsChannelsList,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb
)

public:
virtual void MFAudioGain(
   System.String^ _bsChannelsList,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb
)

Parameters
_bsChannelsList

The channel numbers to apply the gain. In case of empty string or null will apply the gain for all audio channels.

For example:

  • "" - set the gain for all channels.

  • "0" - set the gain for the first channel.

  • "0,2,3"  - set the gain for the first, third and fourth channels.

_dblGainStartDb

Start gain value in dB.
_dblGainEndDb

end gain in dB

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioGetBytes Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioGetBytes Method
size of audio data
pointer to audio data
Gets audio data pointer and data size
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioGetBytes( _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbAudio As System.Long _
)

public virtual void MFAudioGetBytes(
   out System.int _pcbSize,
   out System.long _ppbAudio
)

public:
virtual void MFAudioGetBytes(
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbAudio
)

Parameters
_pcbSize

size of audio data
_ppbAudio

pointer to audio data

Example
Here is an example of how to get a frame and get audio data's size and pointer:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
int audioSize;
long audioPointer;
pFrame.MFAudioGetBytes(out videoSize, out videoPointer);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioLoadFromFile Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioLoadFromFile Method
path to WAV file
samples' offset
Loads audio data from a WAV file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioLoadFromFile( _
   ByVal _bsFileName As System.String, _
   ByVal _llSamplesOffset As System.Long, _
   ByVal _lSamplesLoad As System.Integer _
)

public virtual void MFAudioLoadFromFile(
   System.string _bsFileName,
   System.long _llSamplesOffset,
   System.int _lSamplesLoad
)

public:
virtual void MFAudioLoadFromFile(
   System.String^ _bsFileName,
   System.int64 _llSamplesOffset,
   System.int _lSamplesLoad
)

Parameters
_bsFileName

path to WAV file
_llSamplesOffset

samples' offset
_lSamplesLoad

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioMix Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioMix Method
a frame for mixing audio
start gain in dB
end gain in dB
indicates whether symmetric gain will be used for both audio data ("1") or not ("0")
ID of audio buffer
Mixes audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioMix( _
   ByVal _pFrameMixFrom As MFFrame, _
   ByVal _dblGainStartDb As System.Double, _
   ByVal _dblGainEndDb As System.Double, _
   ByVal _bSymmetricGain As System.Integer, _
   ByVal _bsAudioBufferID As System.String _
)

public virtual void MFAudioMix(
   MFFrame _pFrameMixFrom,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain,
   System.string _bsAudioBufferID
)

public:
virtual void MFAudioMix(
   MFFrame^ _pFrameMixFrom,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain,
   System.String^ _bsAudioBufferID
)

Parameters
_pFrameMixFrom

a frame for mixing audio
_dblGainStartDb

start gain in dB
_dblGainEndDb

end gain in dB
_bSymmetricGain

indicates whether symmetric gain will be used for both audio data ("1") or not ("0")
_bsAudioBufferID

ID of audio buffer

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioMixDirect Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioMixDirect Method
audio offset for source
a frame from which the mix will be implemented
audio offset for a mix
maximal number of audio samples for a mix
start gain in dB
end gain in dB
indicates whether symmetric gain will be used for both audio data ("1") or not ("0")
Directly mixes audio data (audio data of source frame and of the mixed frame should have equal frequency)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioMixDirect( _
   ByRef _plAudioOffsetSrc As System.Integer, _
   ByVal _pFrameMixFrom As MFFrame, _
   ByRef _plAudioOffsetMix As System.Integer, _
   ByVal _lSamplesMixMax As System.Integer, _
   ByVal _dblGainStartDb As System.Double, _
   ByVal _dblGainEndDb As System.Double, _
   ByVal _bSymmetricGain As System.Integer _
)

public virtual void MFAudioMixDirect(
   out System.int _plAudioOffsetSrc,
   MFFrame _pFrameMixFrom,
   out System.int _plAudioOffsetMix,
   System.int _lSamplesMixMax,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain
)

public:
virtual void MFAudioMixDirect(
   [Out] System.int _plAudioOffsetSrc,
   MFFrame^ _pFrameMixFrom,
   [Out] System.int _plAudioOffsetMix,
   System.int _lSamplesMixMax,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain
)

Parameters
_plAudioOffsetSrc

audio offset for source
_pFrameMixFrom

a frame from which the mix will be implemented
_plAudioOffsetMix

audio offset for a  mix
_lSamplesMixMax

maximal number of audio samples for a mix
_dblGainStartDb

start gain in dB
_dblGainEndDb

end gain in dB
_bSymmetricGain

indicates whether symmetric gain will be used for both audio data ("1") or not ("0")

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioSaveToFile Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioSaveToFile Method
path to a file to which audio will be saved
indicates will be the audio appended to the existed file ("1") or the file will be overwritten ("0")
Save audio to file (WAV format is used). If the file is exist and have WAV format then audio will be added to the end of the file.
Note: format is not checked.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioSaveToFile( _
   ByVal _bsFileName As System.String, _
   ByVal _bAppend As System.Integer _
)

public virtual void MFAudioSaveToFile(
   System.string _bsFileName,
   System.int _bAppend
)

public:
virtual void MFAudioSaveToFile(
   System.String^ _bsFileName,
   System.int _bAppend
)

Parameters
_bsFileName

path to a file to which audio will be saved
_bAppend

indicates will be the audio appended to the existed file ("1") or the file will be overwritten ("0")

Example
Here is an example of how to get a frame and save its audio into a file:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
pFrame.MFAudioSaveToFile(@"c:\test.wav");

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAudioSet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAudioSet Method
frame's audio properties
size of audio data
pointer to audio data
Sets frame's audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAudioSet( _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _cbSize As System.Integer, _
   ByVal _pbAudio As System.Long _
)

public virtual void MFAudioSet(
   ref M_AUD_PROPS _pAudProps,
   System.int _cbSize,
   System.long _pbAudio
)

public:
virtual void MFAudioSet(
   M_AUD_PROPS% _pAudProps,
   System.int _cbSize,
   System.int64 _pbAudio
)

Parameters
_pAudProps

frame's audio properties
_cbSize

size of audio data
_pbAudio

pointer to audio data

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAVPropsGet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAVPropsGet Method
The structure containing the audio and video properties.
Number of audio samples in this frame.
Gets the audio and video properties of the frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAVPropsGet( _
   ByRef _pProps As M_AV_PROPS, _
   ByRef _plAudioSamples As System.Integer _
)

public virtual void MFAVPropsGet(
   out M_AV_PROPS _pProps,
   out System.int _plAudioSamples
)

public:
virtual void MFAVPropsGet(
   [Out] M_AV_PROPS _pProps,
   [Out] System.int _plAudioSamples
)

Parameters
_pProps

The structure containing the audio and video properties.
_plAudioSamples

Number of audio samples in this frame.

Example
Here is an example of how to get media properties of a frame:

  • C#

MFFrame pFrame;
m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
M_AV_PROPS props;
int audioSamples;
pFrame.MFAVPropsGet(out props, out audioSamples);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFAVPropsSet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFAVPropsSet Method
media properties

String containing the channels' and tracks separation map. Use this parameter to remap the original channels into desired one. Use comma "," to separate channels and vertical line "|" to separate the tracks.

For example for the frame containig 4 original channels (0, 1, 2, 3):

"1,0,3,2" - change the order of original audio channels

"0,1|2,3" - separate the audio channels into 2 stereo tracks

"0,0|1,1" - make 2 tracks by duplicating the 0 and 1 channels

Sets media properties for the frame.
Note that width, height, row-bytes can't be changed with this method. To change them you should convert a frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFAVPropsSet( _
   ByRef _pProps As M_AV_PROPS, _
   ByVal _bsChannelsRemap As System.String _
)

public virtual void MFAVPropsSet(
   ref M_AV_PROPS _pProps,
   System.string _bsChannelsRemap
)

public:
virtual void MFAVPropsSet(
   M_AV_PROPS% _pProps,
   System.String^ _bsChannelsRemap
)

Parameters
_pProps

media properties
_bsChannelsRemap

String containing the channels' and tracks separation map. Use this parameter to remap the original channels into desired one. Use comma "," to separate channels and vertical line "|" to separate the tracks.

For example for the frame containig 4 original channels (0, 1, 2, 3):

 "1,0,3,2" - change the order of original audio channels

"0,1|2,3" - separate the audio channels into 2 stereo tracks

"0,0|1,1" - make 2 tracks by duplicating the 0 and 1 channels

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFClone Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFClone Method
result (cloned) frame
clone's type
pixel's format
Gets a clone of the frame. See eMFrameClone for more information about clone types.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFClone( _
   ByRef _ppCloneFrame As MFFrame, _
   ByVal _eCloneType As eMFrameClone, _
   ByVal _fccPixelFormat As eMFCC _
)

public virtual void MFClone(
   out MFFrame _ppCloneFrame,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

public:
virtual void MFClone(
   [Out] MFFrame^ _ppCloneFrame,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

Parameters
_ppCloneFrame

result (cloned) frame
_eCloneType

clone's type
_fccPixelFormat

pixel's format

Example
Here is an example of how to make a full clone of a frame:

  • C#

MFFrame pFrame;
m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
MFFrame clonedFrame;
pFrame.MFClone(out clonedFrame, eMFrameClone.eMFC_Full, eMFCC.eMFCC_Default);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFConvert Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFConvert Method
required media properties
result frame (converted)
frame rest
additional parameters
ID of a converter
Converts the frame's format (include frame rate conversion) or just scale the video frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFConvert( _
   ByRef _pPropsDest As M_AV_PROPS, _
   ByRef _ppFrameRes As MFFrame, _
   ByRef _pnFrameRest As System.Integer, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsConverterID As System.String _
)

public virtual void MFConvert(
   ref M_AV_PROPS _pPropsDest,
   out MFFrame _ppFrameRes,
   out System.int _pnFrameRest,
   System.string _bsPropsList,
   System.string _bsConverterID
)

public:
virtual void MFConvert(
   M_AV_PROPS% _pPropsDest,
   [Out] MFFrame^ _ppFrameRes,
   [Out] System.int _pnFrameRest,
   System.String^ _bsPropsList,
   System.String^ _bsConverterID
)

Parameters
_pPropsDest

required media properties
_ppFrameRes

result frame (converted)
_pnFrameRest

frame rest
_bsPropsList

additional parameters
_bsConverterID

ID of a converter

Example
Here is example of how to convert a frame:

  • C#

MFFrame pFrame;
m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
M_AV_PROPS props = new M_AV_PROPS();
props.vidProps.eInterlace = eMInterlace.eMI_Field1First; // you can set any fields that you need
MFFrame convertedFrame;
int rest;
pFrame.MFConvert(ref props, out convertedFrame, out rest, "", "");

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFCut Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFCut Method
number of a field to cut (0 means both fields, 1 means the first field, 2 means the second one)
rectangle for cutting
result frame object
Cuts out part of video frame without memory copy. nFeild <= 0->both, nField=1 -> first field, nField=2 -> second field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFCut( _
   ByVal _nField As System.Integer, _
   ByRef _pRect As tagRECT, _
   ByRef _ppFrameRes As MFFrame _
)

public virtual void MFCut(
   System.int _nField,
   ref tagRECT _pRect,
   out MFFrame _ppFrameRes
)

public:
virtual void MFCut(
   System.int _nField,
   tagRECT% _pRect,
   [Out] MFFrame^ _ppFrameRes
)

Parameters
_nField

number of a field to cut (0 means both fields, 1 means the first field, 2 means the second one)
_pRect

rectangle for cutting
_ppFrameRes

result frame object

Example
Here is example of how to cut a part of a source frame and save it into file:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{
}
tagRECT rect = new tagRECT {bottom = 200, left = 150, right = 250, top = 100};
MFFrame cutFrame;
pFrame.MFCut(0, ref rect, out cutFrame);
cutFrame.MFVideoSaveToFile(@"c:\cutTest.png");

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFDataGet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFDataGet Method
four char code
ancillary data's size
ancillary data's pointer
Gets ancillary data by four char code e.g. 'C608'.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFDataGet( _
   ByVal _bsDataID As System.String, _
   ByRef _pcbANCData As System.Integer, _
   ByRef _ppbANCData As System.Long _
)

public virtual void MFDataGet(
   System.string _bsDataID,
   out System.int _pcbANCData,
   out System.long _ppbANCData
)

public:
virtual void MFDataGet(
   System.String^ _bsDataID,
   [Out] System.int _pcbANCData,
   [Out] System.int64 _ppbANCData
)

Parameters
_bsDataID

four char code
_pcbANCData

ancillary data's size
_ppbANCData

ancillary data's pointer

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFDataGetByIndex Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFDataGetByIndex Method
index of ancillary data
data ID
ancillary data's size
ancillary data's pointer
Gets ancillary data by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFDataGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsDataID As System.String, _
   ByRef _pcbANCData As System.Integer, _
   ByRef _ppbANCData As System.Long _
)

public virtual void MFDataGetByIndex(
   System.int _nIndex,
   out System.string _pbsDataID,
   out System.int _pcbANCData,
   out System.long _ppbANCData
)

public:
virtual void MFDataGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsDataID,
   [Out] System.int _pcbANCData,
   [Out] System.int64 _ppbANCData
)

Parameters
_nIndex

index of ancillary data
_pbsDataID

data ID
_pcbANCData

ancillary data's size
_ppbANCData

ancillary data's pointer

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFDataSet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFDataSet Method
four char code
ancillary data's size
ancillary data's pointer
Sets ancillary data by four char code e.g. 'C608'.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFDataSet( _
   ByVal _bsDataID As System.String, _
   ByVal _cbANCData As System.Integer, _
   ByVal _pbANCData As System.Long _
)

public virtual void MFDataSet(
   System.string _bsDataID,
   System.int _cbANCData,
   System.long _pbANCData
)

public:
virtual void MFDataSet(
   System.String^ _bsDataID,
   System.int _cbANCData,
   System.int64 _pbANCData
)

Parameters
_bsDataID

four char code
_cbANCData

ancillary data's size
_pbANCData

ancillary data's pointer

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFFlagCheck Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFFlagCheck Method
frame's flag to be checked
result value (0 means false, other values mean true)
Checks a frame's flag
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFFlagCheck( _
   ByVal _eFlagCheck As eMFrameFlags, _
   ByRef _pnRes As System.Integer _
)

public virtual void MFFlagCheck(
   eMFrameFlags _eFlagCheck,
   out System.int _pnRes
)

public:
virtual void MFFlagCheck(
   eMFrameFlags _eFlagCheck,
   [Out] System.int _pnRes
)

Parameters
_eFlagCheck

frame's flag to be checked
_pnRes

result value (0 means false, other values mean true)

Example
Here is an example of how to check flag for a frame:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{}
int flagCheck;
pFrame.MFFlagCheck(eMFrameFlags.eMFF_Break, out flagCheck);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFGetProcessID Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFGetProcessID Method
process ID
Gets frame's process ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFGetProcessID( _
   ByRef _pdwProcessID As System.UInteger _
)

public virtual void MFGetProcessID(
   out System.uint _pdwProcessID
)

public:
virtual void MFGetProcessID(
   [Out] System.uint _pdwProcessID
)

Parameters
_pdwProcessID

process ID

Example
Here is an example of how to get process ID that is used for decoding the frame:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{
}
uint processID;
pFrame.MFGetProcessID(out processID);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFLoad Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFLoad Method
size of a frame's data
pointer to frame's data
clone's type
Loads a full copy of all data (used internally for transfer data between process)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFLoad( _
   ByVal _cbData As System.UInteger, _
   ByRef _pbData As System.Byte, _
   ByVal _eLoadType As eMFrameClone _
)

public virtual void MFLoad(
   System.uint _cbData,
   ref System.byte _pbData,
   eMFrameClone _eLoadType
)

public:
virtual void MFLoad(
   System.uint _cbData,
   System.byte% _pbData,
   eMFrameClone _eLoadType
)

Parameters
_cbData

size of a frame's data
_pbData

pointer to frame's data
_eLoadType

clone's type

Example
Here is example of how to use a frame that was saved by one process in another process (see MFSave method):

  • C#

byte byteData = 0;
MFFrame loadFrame = new MFFrameClass();
loadFrame.MFLoad(data, ref byteData, eMFrameClone.eMFC_Full);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFLoadFromStream Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFLoadFromStream Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFLoadFromStream( _
   ByVal _pStream As IStream, _
   ByVal _eLoadType As eMFrameClone _
)

public virtual void MFLoadFromStream(
   IStream _pStream,
   eMFrameClone _eLoadType
)

public:
virtual void MFLoadFromStream(
   IStream^ _pStream,
   eMFrameClone _eLoadType
)

Parameters
_pStream

_eLoadType

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFObjGet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFObjGet Method
object's ID
attached object
indicates whether a frame will be made local ("1") or not ("0")
Gets an attached object by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFObjGet( _
   ByVal _bsObjID As System.String, _
   ByRef _ppObj As System.Object, _
   ByVal _bMakeFrameLocal As System.Integer _
)

public virtual void MFObjGet(
   System.string _bsObjID,
   out System.object _ppObj,
   System.int _bMakeFrameLocal
)

public:
virtual void MFObjGet(
   System.String^ _bsObjID,
   [Out] System.Object^ _ppObj,
   System.int _bMakeFrameLocal
)

Parameters
_bsObjID

object's ID
_ppObj

attached object
_bMakeFrameLocal

indicates whether a frame will be made local ("1") or not ("0")

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFObjGetByIndex Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFObjGetByIndex Method
object's index
object's ID
attached object
indicates whether a frame will be made local ("1") or not ("0")
Gets an attached object by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFObjGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsObjID As System.String, _
   ByRef _ppObj As System.Object, _
   ByVal _bMakeFrameLocal As System.Integer _
)

public virtual void MFObjGetByIndex(
   System.int _nIndex,
   out System.string _pbsObjID,
   out System.object _ppObj,
   System.int _bMakeFrameLocal
)

public:
virtual void MFObjGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsObjID,
   [Out] System.Object^ _ppObj,
   System.int _bMakeFrameLocal
)

Parameters
_nIndex

object's index
_pbsObjID

object's ID
_ppObj

attached object
_bMakeFrameLocal

indicates whether a frame will be made local ("1") or not ("0")

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFObjSet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFObjSet Method
object's ID
attached object
Sets an attached object by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFObjSet( _
   ByVal _bsObjID As System.String, _
   ByVal _pObj As System.Object _
)

public virtual void MFObjSet(
   System.string _bsObjID,
   System.object _pObj
)

public:
virtual void MFObjSet(
   System.String^ _bsObjID,
   System.Object^ _pObj
)

Parameters
_bsObjID

object's ID
_pObj

attached object

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFOverlay Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFOverlay Method
frame that is used for overlay
horizontal position of overlay
vertical position. The position is calculated from top-left corner
transparency (0 means transparent, 1.0 means solid)
additional properties
ID of audio buffer
Mixes frames: overlays _pFrameOverlay frame over this frame. By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFOverlay( _
   ByVal _pFrameOverlay As MFFrame, _
   ByVal _pFrameMask As MFFrame, _
   ByVal _nPosX As System.Integer, _
   ByVal _nPosY As System.Integer, _
   ByVal _dblAlpha As System.Double, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsAudioBufferID As System.String _
)

public virtual void MFOverlay(
   MFFrame _pFrameOverlay,
   MFFrame _pFrameMask,
   System.int _nPosX,
   System.int _nPosY,
   System.double _dblAlpha,
   System.string _bsPropsList,
   System.string _bsAudioBufferID
)

public:
virtual void MFOverlay(
   MFFrame^ _pFrameOverlay,
   MFFrame^ _pFrameMask,
   System.int _nPosX,
   System.int _nPosY,
   System.double _dblAlpha,
   System.String^ _bsPropsList,
   System.String^ _bsAudioBufferID
)

Parameters
_pFrameOverlay

frame that is used for overlay
_pFrameMask

_nPosX

horizontal position of overlay
_nPosY

vertical position. The position is calculated from top-left corner
_dblAlpha

transparency (0 means transparent, 1.0 means solid)
_bsPropsList

additional properties
_bsAudioBufferID

ID of audio buffer

Example
Here is an example of how to make an overlay from "Live input with file mixing sample":

  • C#

/// <summary>
/// make overlay on the frame
/// </summary>
/// <param name="pFrame">frame to be overlayed</param>
private void FrameOverlay(MFFrame pFrame)
{
    if (checkBox1.Checked && textBoxFilePath2.Text != "")
    {
        MFFrame ppFrame2scaled, ppFrame2;
        m_objReader.SourceFrameGetByTime(-1, -1, out ppFrame2, "");
        ppFrame2.MFResize(eMFCC.eMFCC_Default, widthScale, heightScale, -1, out ppFrame2scaled, "", "ch2");
        pFrame.MFOverlay(ppFrame2scaled, null, posXScale, posYScale, ovAlpha, "", "ch2");
        Marshal.ReleaseComObject(ppFrame2);
        Marshal.ReleaseComObject(ppFrame2scaled);
    }
}

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFOverlayRect Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFOverlayRect Method
frame for overlay
frame mask
rectangle for overlay
overlay flags
transparency: 0.0 - transparent (no mix), 1.0 - solid.
additional properties (for example, audio_gain)
audio buffer's ID
Mixes frames - overlays _pFrameOverlay frame over this frame, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horizontal position is aligned by two (e.g. 21->20). By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' props.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFOverlayRect( _
   ByVal _pFrameOverlay As MFFrame, _
   ByVal _pFrameMask As MFFrame, _
   ByRef _pRect As MF_RECT, _
   ByVal _eMFOverlayFlags As eMFOverlayFlags, _
   ByVal _dblAlpha As System.Double, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsAudioBufferID As System.String _
)

public virtual void MFOverlayRect(
   MFFrame _pFrameOverlay,
   MFFrame _pFrameMask,
   ref MF_RECT _pRect,
   eMFOverlayFlags _eMFOverlayFlags,
   System.double _dblAlpha,
   System.string _bsPropsList,
   System.string _bsAudioBufferID
)

public:
virtual void MFOverlayRect(
   MFFrame^ _pFrameOverlay,
   MFFrame^ _pFrameMask,
   MF_RECT% _pRect,
   eMFOverlayFlags _eMFOverlayFlags,
   System.double _dblAlpha,
   System.String^ _bsPropsList,
   System.String^ _bsAudioBufferID
)

Parameters
_pFrameOverlay

frame for overlay
_pFrameMask

frame mask
_pRect

rectangle for overlay
_eMFOverlayFlags

overlay flags
_dblAlpha

transparency: 0.0 - transparent (no mix), 1.0 - solid.
_bsPropsList

additional properties (for example, audio_gain)
_bsAudioBufferID

audio buffer's ID

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFPrint Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFPrint Method
text for overlay
text's size
rectangle for overlay
text flags
additional parameters
Prints text over the frame. More details are here.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFPrint( _
   ByVal _bsText As System.String, _
   ByVal _dblTextSize As System.Double, _
   ByRef _pRect As MF_RECT, _
   ByVal _eMFTextFlags As eMFTextFlags, _
   ByVal _bsExtraParam As System.String _
)

public virtual void MFPrint(
   System.string _bsText,
   System.double _dblTextSize,
   ref MF_RECT _pRect,
   eMFTextFlags _eMFTextFlags,
   System.string _bsExtraParam
)

public:
virtual void MFPrint(
   System.String^ _bsText,
   System.double _dblTextSize,
   MF_RECT% _pRect,
   eMFTextFlags _eMFTextFlags,
   System.String^ _bsExtraParam
)

Parameters
_bsText

text for overlay
_dblTextSize

text's size
_pRect

rectangle for overlay
_eMFTextFlags

text flags
_bsExtraParam

additional parameters

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFResize Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFResize Method
FCC for output frame
width
height
a number of field to be scaled (0 means both fields, 1 means the first field, 2 means the second one)
result frame
additional properties
converter's ID
Resizes the frame (just scale video frame).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFResize( _
   ByVal _fccOutput As eMFCC, _
   ByVal _nWidth As System.Integer, _
   ByVal _nHeight As System.Integer, _
   ByVal _nResizeField As System.Integer, _
   ByRef _ppFrameRes As MFFrame, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsConverterID As System.String _
)

public virtual void MFResize(
   eMFCC _fccOutput,
   System.int _nWidth,
   System.int _nHeight,
   System.int _nResizeField,
   out MFFrame _ppFrameRes,
   System.string _bsPropsList,
   System.string _bsConverterID
)

public:
virtual void MFResize(
   eMFCC _fccOutput,
   System.int _nWidth,
   System.int _nHeight,
   System.int _nResizeField,
   [Out] MFFrame^ _ppFrameRes,
   System.String^ _bsPropsList,
   System.String^ _bsConverterID
)

Parameters
_fccOutput

FCC for output frame
_nWidth

width
_nHeight

height
_nResizeField

a number of field to be scaled (0 means both fields, 1 means the first field, 2 means the second one)
_ppFrameRes

result frame
_bsPropsList

additional properties
_bsConverterID

converter's ID

Example
Here is an example of how to get a frame from a source, resize it and save it into a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview
MFFrame resizedFrame;
pFrame.MFResize(eMFCC.eMFCC_Default, 1000, 700, 0, out resizedFrame, "", "");
resizedFrame.MFVideoSaveToFile(@"c:\resizedTest.png");

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFSave Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFSave Method
size of a frame's data
pointer to frame's data
clone's type
Saves a full copy of all data (used internally for transfer data between process)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFSave( _
   ByRef _pcbData As System.UInteger, _
   ByVal _ppData As System.IntPtr, _
   ByVal _eSaveType As eMFrameClone _
)

public virtual void MFSave(
   out System.uint _pcbData,
   out System.IntPtr _ppData,
   eMFrameClone _eSaveType
)

public:
virtual void MFSave(
   [Out] System.uint _pcbData,
   [Out] System.IntPtr _ppData,
   eMFrameClone _eSaveType
)

Parameters
_pcbData

size of a frame's data
_ppData

pointer to frame's data
_eSaveType

clone's type

Example
Here is example of how to save a frame to use it in another process:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{
}
uint data;
int size;
long pointer;
pFrame.MFVideoGetBytes(out size, out pointer);
IntPtr dataPointer = (IntPtr) pointer;
pFrame.MFSave(out data, dataPointer, eMFrameClone.eMFC_Full);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFSaveToStream Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFSaveToStream Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFSaveToStream( _
   ByRef _ppStream As IStream, _
   ByVal _eSaveType As eMFrameClone _
)

public virtual void MFSaveToStream(
   out IStream _ppStream,
   eMFrameClone _eSaveType
)

public:
virtual void MFSaveToStream(
   [Out] IStream^ _ppStream,
   eMFrameClone _eSaveType
)

Parameters
_ppStream

_eSaveType

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFStrGet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFStrGet Method
string's ID
string's content
Gets a string by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFStrGet( _
   ByVal _bsStrID As System.String, _
   ByRef _pbsString As System.String _
)

public virtual void MFStrGet(
   System.string _bsStrID,
   out System.string _pbsString
)

public:
virtual void MFStrGet(
   System.String^ _bsStrID,
   [Out] System.String^ _pbsString
)

Parameters
_bsStrID

string's ID
_pbsString

string's content

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFStrGetByIndex Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFStrGetByIndex Method
string's index
string's ID
string content
Gets a string by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFStrGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsStrID As System.String, _
   ByRef _pbsString As System.String _
)

public virtual void MFStrGetByIndex(
   System.int _nIndex,
   out System.string _pbsStrID,
   out System.string _pbsString
)

public:
virtual void MFStrGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsStrID,
   [Out] System.String^ _pbsString
)

Parameters
_nIndex

string's index
_pbsStrID

string's ID
_pbsString

string content

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFStrSet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFStrSet Method
string's ID
string's content
Sets a string by its ID.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFStrSet( _
   ByVal _bsStrID As System.String, _
   ByVal _bsString As System.String _
)

public virtual void MFStrSet(
   System.string _bsStrID,
   System.string _bsString
)

public:
virtual void MFStrSet(
   System.String^ _bsStrID,
   System.String^ _bsString
)

Parameters
_bsStrID

string's ID
_bsString

string's content

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFTimeGet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFTimeGet Method
frame's time
Gets a frame's time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFTimeGet( _
   ByRef _pTime As M_TIME _
)

public virtual void MFTimeGet(
   out M_TIME _pTime
)

public:
virtual void MFTimeGet(
   [Out] M_TIME _pTime
)

Parameters
_pTime

frame's time

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFTimeSet Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFTimeSet Method
frame's time
Sets a frame's time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFTimeSet( _
   ByRef _pTime As M_TIME _
)

public virtual void MFTimeSet(
   ref M_TIME _pTime
)

public:
virtual void MFTimeSet(
   M_TIME% _pTime
)

Parameters
_pTime

frame's time

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFTransition Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFTransition Method
a frame from the transition is used
result frame
position of a transition
transition type
additional properties
converter's ID
Makes a transition between frames
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFTransition( _
   ByVal _pFrameFrom As MFFrame, _
   ByRef _ppFrameRes As MFFrame, _
   ByVal _dblPos As System.Double, _
   ByVal _bsTransition As System.String, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsConverterID As System.String _
)

public virtual void MFTransition(
   MFFrame _pFrameFrom,
   out MFFrame _ppFrameRes,
   System.double _dblPos,
   System.string _bsTransition,
   System.string _bsPropsList,
   System.string _bsConverterID
)

public:
virtual void MFTransition(
   MFFrame^ _pFrameFrom,
   [Out] MFFrame^ _ppFrameRes,
   System.double _dblPos,
   System.String^ _bsTransition,
   System.String^ _bsPropsList,
   System.String^ _bsConverterID
)

Parameters
_pFrameFrom

a frame from the transition is used
_ppFrameRes

result frame
_dblPos

position of a transition
_bsTransition

transition type
_bsPropsList

additional properties
_bsConverterID

converter's ID

Example
Here is a example of how to use a transition from File transition sample:

  • C#

/// <summary>
/// Make a transition between frames
/// </summary>
/// <param name="pFrameTo">frame to which transition is implemented</param>
/// <param name="pFrameFrom">frame from which transition is implemented</param>
/// <param name="_dblPos">transition's position</param>
/// <param name="_strConverterID">converter's ID</param>
private void FrameTransition(ref MFFrame pFrameTo, MFFrame pFrameFrom, double _dblPos, string _strConverterID)
{
    MFFrame pFrameRes = null;
    pFrameTo.MFTransition(pFrameFrom, out pFrameRes, _dblPos, "fade", "", _strConverterID);
    if (pFrameRes != null)
    {
        Marshal.ReleaseComObject(pFrameTo);
        pFrameTo = pFrameRes;
    }
}

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFVideoGetBytes Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFVideoGetBytes Method
size of video data
pointer to a video data
Gets frame's video data pointer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFVideoGetBytes( _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbVideo As System.Long _
)

public virtual void MFVideoGetBytes(
   out System.int _pcbSize,
   out System.long _ppbVideo
)

public:
virtual void MFVideoGetBytes(
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbVideo
)

Parameters
_pcbSize

size of video data
_ppbVideo

pointer to a video data

Example
Here is an example of how to get a frame and get video data's size and pointer:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
int videoSize;
long videoPointer;
pFrame.MFVideoGetBytes(out videoSize, out videoPointer);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFVideoGetBytesEx Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFVideoGetBytesEx Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFVideoGetBytesEx( _
   ByRef _pVideoPtr As MF_VID_PTR _
)

public virtual void MFVideoGetBytesEx(
   out MF_VID_PTR _pVideoPtr
)

public:
virtual void MFVideoGetBytesEx(
   [Out] MF_VID_PTR _pVideoPtr
)

Parameters
_pVideoPtr

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFVideoGetHbitmap Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFVideoGetHbitmap Method
Gets a HBitmap for a frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFVideoGetHbitmap( _
   ByRef _pllHBitmap As System.Long _
)

public virtual void MFVideoGetHbitmap(
   out System.long _pllHBitmap
)

public:
virtual void MFVideoGetHbitmap(
   [Out] System.int64 _pllHBitmap
)

Parameters
_pllHBitmap

Example
Here is an example of how to get a frame and get a HBitmap of frame's video:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
int h_bitmap;
pFrame.MFVideoGetHbitmap(out h_bitmap);

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFVideoSaveToFile Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFVideoSaveToFile Method
path to a file to save
Saves frame's video to a file. Supported formats are: PNG, JPG, BMP, TGA, TIFF
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFVideoSaveToFile( _
   ByVal _bsFileName As System.String _
)

public virtual void MFVideoSaveToFile(
   System.string _bsFileName
)

public:
virtual void MFVideoSaveToFile(
   System.String^ _bsFileName
)

Parameters
_bsFileName

path to a file to save

Example
Here is an example of how to get a frame and save its video into a file:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
pFrame.MFVideoSaveToFile(@"c:\test.png");

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MFWaitAsync Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MFWaitAsync Method
Waits until asynchronous procedure is finished
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub MFWaitAsync()

public virtual void MFWaitAsync()

public:
virtual void MFWaitAsync();

See Also
Reference
MFFrameClass Class

MFFrameClass Members


%%PageItemTitle%%

MFLiveClass Class
Members

MFORMATSLib Namespace : MFLiveClass Class
Operates live sources
See Also

Reference

MFLiveClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFLiveClass Class Members
Methods

MFORMATSLib Namespace : MFLiveClass Class

The following tables list the members exposed by MFLiveClass.

Public Methods
 | Name | Description
Public Method | DeviceClose | Closes the current device
Public Method | DeviceGet | Gets the current device of a selected type
Public Method | DeviceGetByIndex | Gets a device by its index.
Public Method | DeviceGetCount | Gets a number of available devices of the selected type
Public Method | DeviceGetInternal | gets an access to internal object. Required "device_sharing" feature disable for correct work. For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Public Method | DeviceOpen | Open a device for work
Public Method | DeviceSet | Sets a device of the specified type.
Public Method | DeviceShowProps | Shows device's property page.
Public Method | FormatAudioGet | Gets current audio format
Public Method | FormatAudioGetByIndex | Gets an audio format by its index
Public Method | FormatAudioGetCount | Gets number of available formats for selected type
Public Method | FormatAudioSet | Sets audio format
Public Method | FormatVideoGet | Gets a current video format
Public Method | FormatVideoGetByIndex | Gets the video format by its index.
Public Method | FormatVideoGetCount | Gets a number of available video formats of selected type.
Public Method | FormatVideoSet | Sets a video format
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Public Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Public Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Public Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Public Method | SourceFrameConvertedGetByTimeVB6 | Get converted frame by time (VB6 only method)
Public Method | SourceFrameGet | Gets an original next frame of a file or live source
Public Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Public Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

MFLiveClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFLiveClass Class Methods

MFORMATSLib Namespace : MFLiveClass Class

For a list of all members of this type, see MFLiveClass members.

Public Methods
 | Name | Description
Public Method | DeviceClose | Closes the current device
Public Method | DeviceGet | Gets the current device of a selected type
Public Method | DeviceGetByIndex | Gets a device by its index.
Public Method | DeviceGetCount | Gets a number of available devices of the selected type
Public Method | DeviceGetInternal | gets an access to internal object. Required "device_sharing" feature disable for correct work. For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Public Method | DeviceOpen | Open a device for work
Public Method | DeviceSet | Sets a device of the specified type.
Public Method | DeviceShowProps | Shows device's property page.
Public Method | FormatAudioGet | Gets current audio format
Public Method | FormatAudioGetByIndex | Gets an audio format by its index
Public Method | FormatAudioGetCount | Gets number of available formats for selected type
Public Method | FormatAudioSet | Sets audio format
Public Method | FormatVideoGet | Gets a current video format
Public Method | FormatVideoGetByIndex | Gets the video format by its index.
Public Method | FormatVideoGetCount | Gets a number of available video formats of selected type.
Public Method | FormatVideoSet | Sets a video format
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Public Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Public Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Public Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Public Method | SourceFrameConvertedGetByTimeVB6 | Get converted frame by time (VB6 only method)
Public Method | SourceFrameGet | Gets an original next frame of a file or live source
Public Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Public Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

MFLiveClass Class
MFORMATSLib Namespace


DeviceClose Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceClose Method
Closes the current device
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceClose()

public virtual void DeviceClose()

public:
virtual void DeviceClose();

Example
Here is an example of how to close a device:

  • C#

m_objLive.DeviceClose(); // Close the device

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceGet Method
device type
index of selected device
name of the device
Gets the current device of a selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGet( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void DeviceGet(
   eMFDeviceType _eDevType,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void DeviceGet(
   eMFDeviceType _eDevType,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eDevType

device type
_pnIndex

index of selected device
_pbsName

name of the device

Example
Here is example of how to get a current device:

  • Tab Caption

m_objLive = new MFLiveClass();
// work with the live source
// ...
//
// Get current device
int devIndex;
string devName;
m_objLive.DevideGet(eMFDeviceType.eMFDT_Video, out devIndex, out devName);

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceGetByIndex Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceGetByIndex Method
device's type
index of a device
device's name
indicates whether the device busy
Gets a device by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGetByIndex( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pbBusy As System.Integer _
)

public virtual void DeviceGetByIndex(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   out System.string _pbsName,
   out System.int _pbBusy
)

public:
virtual void DeviceGetByIndex(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] System.int _pbBusy
)

Parameters
_eDevType

device's type
_nIndex

index of a device
_pbsName

device's name
_pbBusy

indicates whether the device busy

Example
Here is an example of how to fill a combobox with all available video devices:

  • C#

comboBoxV.Items.Clear();
//Feel video devices
int vCount;
try
{
    m_objLive = new MFLiveClass();
    m_objLive.DeviceGetCount(eMFDeviceType.eMFDT_Video, out vCount);
    if (vCount > 0)
    {
        for (int i = 0; i < vCount; i++)
        {
            string strName;
            int _pbBusy;
            m_objLive.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out strName, out _pbBusy);
            comboBoxV.Items.Add(strName);
        }
        comboBoxV.SelectedIndex = 0;
    }
}
catch { }

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceGetCount Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceGetCount Method
device's type
number of available devices
Gets a number of available devices of the selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGetCount( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _pnCount As System.Integer _
)

public virtual void DeviceGetCount(
   eMFDeviceType _eDevType,
   out System.int _pnCount
)

public:
virtual void DeviceGetCount(
   eMFDeviceType _eDevType,
   [Out] System.int _pnCount
)

Parameters
_eDevType

device's type
_pnCount

number of available devices

Example
Here is an example of how to fill a combobox with all available video devices:

  • C#

comboBoxV.Items.Clear();
//Feel video devices
int vCount;
try
{
    m_objLive = new MFLiveClass();
    m_objLive.DeviceGetCount(eMFDeviceType.eMFDT_Video, out vCount);
    if (vCount > 0)
    {
        for (int i = 0; i < vCount; i++)
        {
            string strName;
            int _pbBusy;
            m_objLive.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out strName, out _pbBusy);
            comboBoxV.Items.Add(strName);
        }
        comboBoxV.SelectedIndex = 0;
    }
}
catch { }

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceGetInternal Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceGetInternal Method

device type:
eMFDT_Video - returns you video source object, for example ScreenCapture filter
eMFDT_Audio - returns audio source object
eMFDT_All - returns complete DirectShow graph

result object
gets an access to internal object. Required "device_sharing" feature disable for correct work.
For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGetInternal( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _ppObject As System.Object _
)

public virtual void DeviceGetInternal(
   eMFDeviceType _eDevType,
   out System.object _ppObject
)

public:
virtual void DeviceGetInternal(
   eMFDeviceType _eDevType,
   [Out] System.Object^ _ppObject
)

Parameters
_eDevType

device type:
eMFDT_Video - returns you video source object, for example ScreenCapture filter
eMFDT_Audio - returns audio source object
eMFDT_All - returns complete DirectShow graph
_ppObject

result object

Example

  • C#

object screenCapture;
m_objLive.DeviceGetInternal(eMFDeviceType.eMFDT_Video, out screenCapture);

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceOpen Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceOpen Method
device's configuration
additional properties
Open a device for work
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceOpen( _
   ByVal _bsDeviceConfig As System.String, _
   ByVal _bsPropsList As System.String _
)

public virtual void DeviceOpen(
   System.string _bsDeviceConfig,
   System.string _bsPropsList
)

public:
virtual void DeviceOpen(
   System.String^ _bsDeviceConfig,
   System.String^ _bsPropsList
)

Parameters
_bsDeviceConfig

device's configuration
_bsPropsList

additional properties

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceSet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceSet Method
device's type
index of a device
additional parameters
Sets a device of the specified type.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceSet( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _nIndex As System.Integer, _
   ByVal _bsParam As System.String _
)

public virtual void DeviceSet(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   System.string _bsParam
)

public:
virtual void DeviceSet(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   System.String^ _bsParam
)

Parameters
_eDevType

device's type
_nIndex

index of a device
_bsParam

additional parameters

Example
Here is an example of how to set a video device:

  • C#

m_objLive.DeviceSet(eMFDeviceType.eMFDT_Video, comboBoxV.SelectedIndex, "");

See Also
Reference
MFLiveClass Class

MFLiveClass Members


DeviceShowProps Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : DeviceShowProps Method
device's type
property's type
window handle to display a property page
Shows device's property page.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceShowProps( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _bsPropsType As System.String, _
   ByVal _lWndHandle As System.Long _
)

public virtual void DeviceShowProps(
   eMFDeviceType _eDevType,
   System.string _bsPropsType,
   System.long _lWndHandle
)

public:
virtual void DeviceShowProps(
   eMFDeviceType _eDevType,
   System.String^ _bsPropsType,
   System.int64 _lWndHandle
)

Parameters
_eDevType

device's type
_bsPropsType

property's type
_lWndHandle

window handle to display a property page

Example
Here is an example of how to show device's properties:

  • C#

m_objLive.DeviceShowProps(eMFDeviceType.eMFDT_All, "", 0);

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatAudioGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatAudioGet Method
format type
audio properties
index of the format
format's name
Gets current audio format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void FormatAudioGet(
   eMFormatType _eFormatType,
   out M_AUD_PROPS _pAudProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void FormatAudioGet(
   eMFormatType _eFormatType,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format type
_pAudProps

audio properties
_pnIndex

index of the format
_pbsName

format's name

Example
Here is an example of how to fill a combobox with all available input audio formats for a live source and select a current format:

  • C#

M_AUD_PROPS audProps;
int fCount;
m_objLive.FormatAudioGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, i, out audProps, out name);
        comboBoxAF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_AUD_PROPS _audProps;
        m_objLive.FormatAudioGet(eMFormatType.eMFT_Input, out _audProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxAF.SelectedIndex = nCurrent;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatAudioGetByIndex Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatAudioGetByIndex Method
format's type
format's index
audio properties
format's name
Gets an audio format by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pbsName As System.String _
)

public virtual void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_AUD_PROPS _pAudProps,
   out System.string _pbsName
)

public:
virtual void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format's type
_nIndex

format's index
_pAudProps

audio properties
_pbsName

format's name

Example
Here is an example of how to fill a combobox with all available input audio formats for a live source and select a current format:

  • C#

M_AUD_PROPS audProps;
int fCount;
m_objLive.FormatAudioGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, i, out audProps, out name);
        comboBoxAF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_AUD_PROPS _audProps;
        m_objLive.FormatAudioGet(eMFormatType.eMFT_Input, out _audProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxAF.SelectedIndex = nCurrent;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatAudioGetCount Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatAudioGetCount Method
format's type
number of available formats
Gets number of available formats for selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

public virtual void FormatAudioGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

public:
virtual void FormatAudioGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

format's type
_pnCount

number of available formats

Example
Here is an example of how to fill a combobox with all available input audio formats for a live source and select a current format:

  • C#

M_AUD_PROPS audProps;
int fCount;
m_objLive.FormatAudioGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, i, out audProps, out name);
        comboBoxAF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_AUD_PROPS _audProps;
        m_objLive.FormatAudioGet(eMFormatType.eMFT_Input, out _audProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxAF.SelectedIndex = nCurrent;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatAudioSet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatAudioSet Method
format type
audio properties
Sets audio format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS _
)

public virtual void FormatAudioSet(
   eMFormatType _eFormatType,
   ref M_AUD_PROPS _pAudProps
)

public:
virtual void FormatAudioSet(
   eMFormatType _eFormatType,
   M_AUD_PROPS% _pAudProps
)

Parameters
_eFormatType

format type
_pAudProps

audio properties

Example
Here is example of how to set a audio format for a live object:

  • C#

M_AUD_PROPS audProps;
string name;
m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, comboBoxAF.SelectedIndex, out audProps, out name);
m_objLive.FormatAudioSet(eMFormatType.eMFT_Input, audProps);

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatVideoGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatVideoGet Method
format type
video properties
index of current video format
name of the format
Gets a current video format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void FormatVideoGet(
   eMFormatType _eFormatType,
   out M_VID_PROPS _pVidProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void FormatVideoGet(
   eMFormatType _eFormatType,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format type
_pVidProps

video properties
_pnIndex

index of current video format
_pbsName

name of the format

Example
Here is an example of how to fill a combobox with all available input video formats for a live source and select a current format:

  • C#

M_VID_PROPS vidProps;
int fCount;
m_objLive.FormatVideoGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, i, out vidProps, out name);
        comboBoxVF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_VID_PROPS _vidProps;
        m_objLive.FormatVideoGet(eMFormatType.eMFT_Input, out _vidProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxVF.SelectedIndex = nCurrent;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatVideoGetByIndex Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatVideoGetByIndex Method
format type
index of a format
video properties
name of the format
Gets the video format by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pbsName As System.String _
)

public virtual void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_VID_PROPS _pVidProps,
   out System.string _pbsName
)

public:
virtual void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format type
_nIndex

index of a format
_pVidProps

video properties
_pbsName

name of the format

Example
Here is an example of how to fill a combobox with all available input video formats for a live source and select a current format:

  • C#

M_VID_PROPS vidProps;
int fCount;
m_objLive.FormatVideoGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, i, out vidProps, out name);
        comboBoxVF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_VID_PROPS _vidProps;
        m_objLive.FormatVideoGet(eMFormatType.eMFT_Input, out _vidProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxVF.SelectedIndex = nCurrent;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatVideoGetCount Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatVideoGetCount Method
format type
number of available formats
Gets a number of available video formats of selected type.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

public virtual void FormatVideoGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

public:
virtual void FormatVideoGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

format type
_pnCount

number of available formats

Example
Here is an example of how to fill a combobox with all available input video formats for a live source and select a current format:

  • C#

M_VID_PROPS vidProps;
int fCount;
m_objLive.FormatVideoGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, i, out vidProps, out name);
        comboBoxVF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_VID_PROPS _vidProps;
        m_objLive.FormatVideoGet(eMFormatType.eMFT_Input, out _vidProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxVF.SelectedIndex = nCurrent;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


FormatVideoSet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : FormatVideoSet Method
format type
video properties
Sets a video format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS _
)

public virtual void FormatVideoSet(
   eMFormatType _eFormatType,
   ref M_VID_PROPS _pVidProps
)

public:
virtual void FormatVideoSet(
   eMFormatType _eFormatType,
   M_VID_PROPS% _pVidProps
)

Parameters
_eFormatType

format type
_pVidProps

video properties

Example
Here is example of how to set a video format for a live object:

  • C#

M_VID_PROPS vidProps;
string name;
m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, comboBoxVF.SelectedIndex, out vidProps, out name);
m_objLive.FormatVideoSet(eMFormatType.eMFT_Input, vidProps);

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsGetByIndex Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsGetCount Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsInfoGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsOptionGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsOptionGetByIndex Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsOptionGetCount Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsOptionSetByIndex Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsRemove Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MFLiveClass Class

MFLiveClass Members


PropsSet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceAVPropsGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceAVPropsGet Method
media properties
Gets media properties (audio and video) of a source object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceAVPropsGet( _
   ByRef _pAVProps As M_AV_PROPS _
)

public virtual void SourceAVPropsGet(
   out M_AV_PROPS _pAVProps
)

public:
virtual void SourceAVPropsGet(
   [Out] M_AV_PROPS _pAVProps
)

Parameters
_pAVProps

media properties

Example
Here is example of how to get media properties of a source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // get media properties of a source file
m_objMFReader.SourceAVPropsGet(out m_avProps);
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameConvertedGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameConvertedGet Method
media properties that specify required format for a frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a next frame (that is converted to required format) from file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGet( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGet(
   ref M_AV_PROPS _pAVPropsOut,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGet(
   M_AV_PROPS% _pAVPropsOut,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties that specify required format for a frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameConvertedGetByNumber Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameConvertedGetByNumber Method
required format's properties for a frame
number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByNumber( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByNumber(
   ref M_AV_PROPS _pAVPropsOut,
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByNumber(
   M_AV_PROPS% _pAVPropsOut,
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_nFrameNo

number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByNumber(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameConvertedGetByTime Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameConvertedGetByTime Method
required format's properties for a frame
position of a frame in time. To get a next frame use "-1"
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByTime( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByTime(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByTime(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_dblTimeSec

position of a frame in time. To get a next frame use "-1"
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameConvertedGetByTimeVB6 Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameConvertedGetByTimeVB6 Method
media properties
time position to get frame
wait time
result frame
additional parameters
Get converted frame by time (VB6 only method)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByTimeVB6( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _nMaxWaitMsec As System.Integer, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByTimeVB6(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.int _nMaxWaitMsec,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByTimeVB6(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int _nMaxWaitMsec,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties
_dblTimeSec

time position to get frame
_nMaxWaitMsec

wait time
_ppFrame

result frame
_bsHints

additional parameters

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameGet Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameGet Method
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original next frame of a file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGet( _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGet(
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGet(
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGet(-1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameGetByNumber Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameGetByNumber Method
frame's number
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGetByNumber( _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_nFrameNo

frame's number
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByNumber(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


SourceFrameGetByTime Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : SourceFrameGetByTime Method
position of a frame in time. To get a next frame use "-1".
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGetByTime( _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_dblTimeSec

position of a frame in time. To get a next frame use "-1".
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByTime(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFLiveClass Class

MFLiveClass Members


%%PageItemTitle%%

MFPreviewClass Class
Members

MFORMATSLib Namespace : MFPreviewClass Class
Operates with preview of your content
See Also

Reference

MFPreviewClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFPreviewClass Class Members
Methods Events

MFORMATSLib Namespace : MFPreviewClass Class

The following tables list the members exposed by MFPreviewClass.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | PreviewAudioVolumeGet | Gets an audio volume for the preview
Public Method | PreviewAudioVolumeSet | Sets preview's audio volume for specified audio channel.
Public Method | PreviewEnable | Enables a preview (audio and video)
Public Method | PreviewFullScreen | Enables (disables) a full screen mode for preview
Public Method | PreviewIsEnabled | Gets information about whether preview is enabled
Public Method | PreviewIsFullScreen | Indicates whether a preview in full screen mode and what display is used
Public Method | PreviewSetCursor | Sets a cursor for a preview
Public Method | PreviewWindowSet | Sets a parent element for a preview.
Public Method | PreviewWindowSetVB6 | Sets a parent element for a preview. This method is for VB6 only. For other languages please use PreviewWindowSet method.
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to receiver object.
Public Method | remove_OnEventSafe |
Top
Public Events
 | Name | Description
Public Event | OnEventSafe |
Top
See Also

Reference

MFPreviewClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFPreviewClass Class Methods

MFORMATSLib Namespace : MFPreviewClass Class

For a list of all members of this type, see MFPreviewClass members.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | PreviewAudioVolumeGet | Gets an audio volume for the preview
Public Method | PreviewAudioVolumeSet | Sets preview's audio volume for specified audio channel.
Public Method | PreviewEnable | Enables a preview (audio and video)
Public Method | PreviewFullScreen | Enables (disables) a full screen mode for preview
Public Method | PreviewIsEnabled | Gets information about whether preview is enabled
Public Method | PreviewIsFullScreen | Indicates whether a preview in full screen mode and what display is used
Public Method | PreviewSetCursor | Sets a cursor for a preview
Public Method | PreviewWindowSet | Sets a parent element for a preview.
Public Method | PreviewWindowSetVB6 | Sets a parent element for a preview. This method is for VB6 only. For other languages please use PreviewWindowSet method.
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to receiver object.
Public Method | remove_OnEventSafe |
Top
See Also

Reference

MFPreviewClass Class
MFORMATSLib Namespace


add_OnEventSafe Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : add_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub add_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public virtual void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
virtual void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewAudioVolumeGet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewAudioVolumeGet Method
index of a channel. Use "-1" to get a volume for all channels.
volume in dB for the selected channel.
Gets an audio volume for the preview
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewAudioVolumeGet( _
   ByVal _bsChannelID As System.String, _
   ByVal _nChannel As System.Integer, _
   ByRef _pdblAttenuationdB As System.Double _
)

public virtual void PreviewAudioVolumeGet(
   System.string _bsChannelID,
   System.int _nChannel,
   out System.double _pdblAttenuationdB
)

public:
virtual void PreviewAudioVolumeGet(
   System.String^ _bsChannelID,
   System.int _nChannel,
   [Out] System.double _pdblAttenuationdB
)

Parameters
_bsChannelID

_nChannel

index of a channel. Use "-1" to get a volume for all channels.
_pdblAttenuationdB

volume in dB for the selected channel.

Example
Here is an example of how to get audio volume for all the channels:

  • C#

// Volume in dB
// 0 - full volume, -100 silence
double dblVol;
m_objPreview.PreviewAudioVolumeSet("", -1, out dblVol);

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewAudioVolumeSet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewAudioVolumeSet Method
channel ID. By default use empty string
number of audio channel. To set volume for all channels use "-1"
volume in dB
Sets preview's audio volume for specified audio channel.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewAudioVolumeSet( _
   ByVal _bsChannelID As System.String, _
   ByVal _nChannel As System.Integer, _
   ByVal _dblAttenuationdB As System.Double _
)

public virtual void PreviewAudioVolumeSet(
   System.string _bsChannelID,
   System.int _nChannel,
   System.double _dblAttenuationdB
)

public:
virtual void PreviewAudioVolumeSet(
   System.String^ _bsChannelID,
   System.int _nChannel,
   System.double _dblAttenuationdB
)

Parameters
_bsChannelID

channel ID. By default use empty string
_nChannel

number of audio channel. To set volume for all channels use "-1"
_dblAttenuationdB

volume in dB

Example
Here is example of how to set audio volume for preview for all channels:

  • C#

// Volume in dB
// 0 - full volume, -100 silence
double dblPos = (double)trackBarVolume.Value / trackBarVolume.Maximum;
m_objPreview.PreviewAudioVolumeSet("", -1, -60 * (1 - dblPos));

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewEnable Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewEnable Method
channel ID. By default use empty string
0 is to disable audio preview, 1 is to enable audio preview
0 is to disable video preview, 1 is to enable video preview
Enables a preview (audio and video)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewEnable( _
   ByVal _bsChannelID As System.String, _
   ByVal _bEnableAudio As System.Integer, _
   ByVal _bEnableVideo As System.Integer _
)

public virtual void PreviewEnable(
   System.string _bsChannelID,
   System.int _bEnableAudio,
   System.int _bEnableVideo
)

public:
virtual void PreviewEnable(
   System.String^ _bsChannelID,
   System.int _bEnableAudio,
   System.int _bEnableVideo
)

Parameters
_bsChannelID

channel ID. By default use empty string
_bEnableAudio

0 is to disable audio preview, 1 is to enable audio preview
_bEnableVideo

0 is to disable video preview, 1 is to enable video preview

Example
Here is example of how to initialize a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewFullScreen Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewFullScreen Method
channel ID. By default use empty string
0 is to disable full screen, 1 is to enable full screen mode
index of a display where full screen will be implemented
Enables (disables) a full screen mode for preview
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewFullScreen( _
   ByVal _bsChannelID As System.String, _
   ByVal _bFullScreen As System.Integer, _
   ByVal _nDisplay As System.Integer _
)

public virtual void PreviewFullScreen(
   System.string _bsChannelID,
   System.int _bFullScreen,
   System.int _nDisplay
)

public:
virtual void PreviewFullScreen(
   System.String^ _bsChannelID,
   System.int _bFullScreen,
   System.int _nDisplay
)

Parameters
_bsChannelID

channel ID. By default use empty string
_bFullScreen

0 is to disable full screen, 1 is to enable full screen mode
_nDisplay

index of a display where full screen will be implemented

Example
Here is example of how set preview into full screen mode on a second display:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objPreview.PreviewFullScreen("", 1, 1); // enumeration of displays starts from 0

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewIsEnabled Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewIsEnabled Method
channel ID. By default use empty string
indicates whether audio preview is enabled
indicates whether video preview is enabled
Gets information about whether preview is enabled
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewIsEnabled( _
   ByVal _bsChannelID As System.String, _
   ByRef _pbEnabledAudio As System.Integer, _
   ByRef _pbEnabledVideo As System.Integer _
)

public virtual void PreviewIsEnabled(
   System.string _bsChannelID,
   out System.int _pbEnabledAudio,
   out System.int _pbEnabledVideo
)

public:
virtual void PreviewIsEnabled(
   System.String^ _bsChannelID,
   [Out] System.int _pbEnabledAudio,
   [Out] System.int _pbEnabledVideo
)

Parameters
_bsChannelID

channel ID. By default use empty string
_pbEnabledAudio

indicates whether audio preview is enabled
_pbEnabledVideo

indicates whether video preview is enabled

Example
Here is example of how to check whether preview is enabled:

  • C#

int isAudio;
int isVideo;
m_objPreview.PreviewIsEnabled("", out isAudio, out isVideo);

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewIsFullScreen Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewIsFullScreen Method
channel ID. By default use empty string
0 means that full screen is disabled, 1 means that it is enabled
number of display
Indicates whether a preview in full screen mode and what display is used
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewIsFullScreen( _
   ByVal _bsChannelID As System.String, _
   ByRef _pbFullScreen As System.Integer, _
   ByRef _pnDisplay As System.Integer _
)

public virtual void PreviewIsFullScreen(
   System.string _bsChannelID,
   ref System.int _pbFullScreen,
   ref System.int _pnDisplay
)

public:
virtual void PreviewIsFullScreen(
   System.String^ _bsChannelID,
   System.int% _pbFullScreen,
   System.int% _pnDisplay
)

Parameters
_bsChannelID

channel ID. By default use empty string
_pbFullScreen

0 means that full screen is disabled, 1 means that it is enabled
_pnDisplay

number of display

Example
Here is example of how to check whether preview is in full screen mode:

  • C#

int isFullScreen = 0;
int nDisplay = 0;
m_objPreview.PreviewIsFullScreen("", ref isFullScreen, ref nDisplay);

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewSetCursor Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewSetCursor Method
channel ID. By default use empty string
cursor type
Sets a cursor for a preview
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewSetCursor( _
   ByVal _bsChannelID As System.String, _
   ByVal _eCursor As eMCursorType _
)

public virtual void PreviewSetCursor(
   System.string _bsChannelID,
   eMCursorType _eCursor
)

public:
virtual void PreviewSetCursor(
   System.String^ _bsChannelID,
   eMCursorType _eCursor
)

Parameters
_bsChannelID

channel ID. By default use empty string
_eCursor

cursor type

Example
Here is example of how to set a cursor for preview. Note please that it is recommended to set a cursor on each mouse action, for example use MouseMove event for it:

  • C#

private void panelPreview_MouseMove(object sender, MouseEventArgs e)
{
    m_objPreview.PreviewSetCursor("", eMCursorType.eMCT_CROSS);
}

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewWindowSet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewWindowSet Method
channel ID. By default use empty string
handle of a control where preview will be displayed
Sets a parent element for a preview.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewWindowSet( _
   ByVal _bsChannelID As System.String, _
   ByVal _hWndParent As System.Long _
)

public virtual void PreviewWindowSet(
   System.string _bsChannelID,
   System.long _hWndParent
)

public:
virtual void PreviewWindowSet(
   System.String^ _bsChannelID,
   System.int64 _hWndParent
)

Parameters
_bsChannelID

channel ID. By default use empty string
_hWndParent

handle of a control where preview will be displayed

Example
Here is example of how to initialize a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PreviewWindowSetVB6 Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PreviewWindowSetVB6 Method
channel ID. By default use empty string
handle of a control where preview will be displayed
Sets a parent element for a preview. This method is for VB6 only. For other languages please use PreviewWindowSet method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PreviewWindowSetVB6( _
   ByVal _bsChannelID As System.String, _
   ByVal _hWndParent As System.Integer _
)

public virtual void PreviewWindowSetVB6(
   System.string _bsChannelID,
   System.int _hWndParent
)

public:
virtual void PreviewWindowSetVB6(
   System.String^ _bsChannelID,
   System.int _hWndParent
)

Parameters
_bsChannelID

channel ID. By default use empty string
_hWndParent

handle of a control where preview will be displayed

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsGet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsGetByIndex Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsGetCount Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsInfoGet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsOptionGet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsOptionGetByIndex Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsOptionGetCount Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsOptionSetByIndex Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsRemove Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


PropsSet Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


ReceiverFramePut Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : ReceiverFramePut Method
frame that is used for output or for preview
maximal wait time in milliseconds. By default use "-1".
additional properties
Puts frame to receiver object.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

public virtual void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

public:
virtual void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

frame that is used for output or for preview
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_bsProps

additional properties

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


remove_OnEventSafe Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : remove_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub remove_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public virtual void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
virtual void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


%%PageItemTitle%% $$Events$$

MFPreviewClass Class Events

MFORMATSLib Namespace : MFPreviewClass Class

For a list of all members of this type, see MFPreviewClass members.

Public Events
 | Name | Description
Public Event | OnEventSafe |
Top
See Also

Reference

MFPreviewClass Class
MFORMATSLib Namespace


OnEventSafe Event (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : OnEventSafe Event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnEventSafe As IMEventsEvent_OnEventSafeEventHandler

public event IMEventsEvent_OnEventSafeEventHandler OnEventSafe

public:
event IMEventsEvent_OnEventSafeEventHandler^ OnEventSafe

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


%%PageItemTitle%%

MFReaderClass Class
Members

MFORMATSLib Namespace : MFReaderClass Class
Operates with file sources
See Also

Reference

MFReaderClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFReaderClass Class Members
Methods

MFORMATSLib Namespace : MFReaderClass Class

The following tables list the members exposed by MFReaderClass.

Public Methods
 | Name | Description
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReaderAbort | Aborts a reader process. For example to abort a process of getting a frame from file.
Public Method | ReaderClose | Closes a file source.
Public Method | ReaderDurationGet | Gets duration of a source file
Public Method | ReaderNameGet | Gets a name of source file
Public Method | ReaderOpen | Opens a source file.
Public Method | SendersGet |
Public Method | SendersGetByIndex |
Public Method | SendersGetCount |
Public Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Public Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Public Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Public Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Public Method | SourceFrameConvertedGetByTimeVB6 | Get converted frame by time (VB6 only method)
Public Method | SourceFrameGet | Gets an original next frame of a file or live source
Public Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Public Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

MFReaderClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFReaderClass Class Methods

MFORMATSLib Namespace : MFReaderClass Class

For a list of all members of this type, see MFReaderClass members.

Public Methods
 | Name | Description
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReaderAbort | Aborts a reader process. For example to abort a process of getting a frame from file.
Public Method | ReaderClose | Closes a file source.
Public Method | ReaderDurationGet | Gets duration of a source file
Public Method | ReaderNameGet | Gets a name of source file
Public Method | ReaderOpen | Opens a source file.
Public Method | SendersGet |
Public Method | SendersGetByIndex |
Public Method | SendersGetCount |
Public Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Public Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Public Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Public Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Public Method | SourceFrameConvertedGetByTimeVB6 | Get converted frame by time (VB6 only method)
Public Method | SourceFrameGet | Gets an original next frame of a file or live source
Public Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Public Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

MFReaderClass Class
MFORMATSLib Namespace


PropsGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsGetByIndex Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsGetCount Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsInfoGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsOptionGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsOptionGetByIndex Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsOptionGetCount Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsOptionSetByIndex Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsRemove Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MFReaderClass Class

MFReaderClass Members


PropsSet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MFReaderClass Class

MFReaderClass Members


ReaderAbort Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : ReaderAbort Method
Aborts a reader process. For example to abort a process of getting a frame from file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReaderAbort()

public virtual void ReaderAbort()

public:
virtual void ReaderAbort();

See Also
Reference
MFReaderClass Class

MFReaderClass Members


ReaderClose Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : ReaderClose Method
Closes a file source.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReaderClose()

public virtual void ReaderClose()

public:
virtual void ReaderClose();

Example
Here is an example of how to close a file source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview
// Close a source
m_objMFReader.ReaderClose();

See Also
Reference
MFReaderClass Class

MFReaderClass Members


ReaderDurationGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : ReaderDurationGet Method
duration
Gets duration of a source file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReaderDurationGet( _
   ByRef _pdblDuration As System.Double _
)

public virtual void ReaderDurationGet(
   out System.double _pdblDuration
)

public:
virtual void ReaderDurationGet(
   [Out] System.double _pdblDuration
)

Parameters
_pdblDuration

duration

Example
Here is an example of how to get a duration of a file:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
double dblDur;
m_objMFReader.ReaderDurationGet(out dblDur);

See Also
Reference
MFReaderClass Class

MFReaderClass Members


ReaderNameGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : ReaderNameGet Method
source file name
Gets a name of source file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReaderNameGet( _
   ByRef _pbsFileName As System.String _
)

public virtual void ReaderNameGet(
   out System.string _pbsFileName
)

public:
virtual void ReaderNameGet(
   [Out] System.String^ _pbsFileName
)

Parameters
_pbsFileName

source file name

See Also
Reference
MFReaderClass Class

MFReaderClass Members


ReaderOpen Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : ReaderOpen Method
path to a file
additional parameters
Opens a source file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReaderOpen( _
   ByVal _bsPath As System.String, _
   ByVal _bsPropsList As System.String _
)

public virtual void ReaderOpen(
   System.string _bsPath,
   System.string _bsPropsList
)

public:
virtual void ReaderOpen(
   System.String^ _bsPath,
   System.String^ _bsPropsList
)

Parameters
_bsPath

path to a file
_bsPropsList

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SendersGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SendersGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendersGet( _
   ByVal _bsName As System.String, _
   ByRef _ppSender As System.Object _
)

public virtual void SendersGet(
   System.string _bsName,
   out System.object _ppSender
)

public:
virtual void SendersGet(
   System.String^ _bsName,
   [Out] System.Object^ _ppSender
)

Parameters
_bsName

_ppSender

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SendersGetByIndex Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SendersGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendersGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pAudProps As M_AUD_PROPS _
)

public virtual void SendersGetByIndex(
   System.int _nIndex,
   out System.string _pbsName,
   out M_VID_PROPS _pVidProps,
   out M_AUD_PROPS _pAudProps
)

public:
virtual void SendersGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] M_VID_PROPS _pVidProps,
   [Out] M_AUD_PROPS _pAudProps
)

Parameters
_nIndex

_pbsName

_pVidProps

_pAudProps

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SendersGetCount Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SendersGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendersGetCount( _
   ByRef _pnCount As System.Integer _
)

public virtual void SendersGetCount(
   out System.int _pnCount
)

public:
virtual void SendersGetCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceAVPropsGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceAVPropsGet Method
media properties
Gets media properties (audio and video) of a source object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceAVPropsGet( _
   ByRef _pAVProps As M_AV_PROPS _
)

public virtual void SourceAVPropsGet(
   out M_AV_PROPS _pAVProps
)

public:
virtual void SourceAVPropsGet(
   [Out] M_AV_PROPS _pAVProps
)

Parameters
_pAVProps

media properties

Example
Here is example of how to get media properties of a source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // get media properties of a source file
m_objMFReader.SourceAVPropsGet(out m_avProps);
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameConvertedGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameConvertedGet Method
media properties that specify required format for a frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a next frame (that is converted to required format) from file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGet( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGet(
   ref M_AV_PROPS _pAVPropsOut,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGet(
   M_AV_PROPS% _pAVPropsOut,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties that specify required format for a frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameConvertedGetByNumber Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameConvertedGetByNumber Method
required format's properties for a frame
number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByNumber( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByNumber(
   ref M_AV_PROPS _pAVPropsOut,
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByNumber(
   M_AV_PROPS% _pAVPropsOut,
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_nFrameNo

number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByNumber(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameConvertedGetByTime Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameConvertedGetByTime Method
required format's properties for a frame
position of a frame in time. To get a next frame use "-1"
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByTime( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByTime(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByTime(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_dblTimeSec

position of a frame in time. To get a next frame use "-1"
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameConvertedGetByTimeVB6 Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameConvertedGetByTimeVB6 Method
media properties
time position to get frame
wait time
result frame
additional parameters
Get converted frame by time (VB6 only method)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByTimeVB6( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _nMaxWaitMsec As System.Integer, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByTimeVB6(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.int _nMaxWaitMsec,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByTimeVB6(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int _nMaxWaitMsec,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties
_dblTimeSec

time position to get frame
_nMaxWaitMsec

wait time
_ppFrame

result frame
_bsHints

additional parameters

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameGet Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameGet Method
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original next frame of a file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGet( _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGet(
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGet(
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGet(-1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameGetByNumber Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameGetByNumber Method
frame's number
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGetByNumber( _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_nFrameNo

frame's number
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByNumber(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


SourceFrameGetByTime Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : SourceFrameGetByTime Method
position of a frame in time. To get a next frame use "-1".
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGetByTime( _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_dblTimeSec

position of a frame in time. To get a next frame use "-1".
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByTime(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFReaderClass Class

MFReaderClass Members


%%PageItemTitle%%

MFRendererClass Class
Members

MFORMATSLib Namespace : MFRendererClass Class
Operates with output devices
See Also

Reference

MFRendererClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFRendererClass Class Members
Methods

MFORMATSLib Namespace : MFRendererClass Class

The following tables list the members exposed by MFRendererClass.

Public Methods
 | Name | Description
Public Method | DeviceClose | Closes the current device
Public Method | DeviceGet | Gets the current device of a selected type
Public Method | DeviceGetByIndex | Gets a device by its index.
Public Method | DeviceGetCount | Gets a number of available devices of the selected type
Public Method | DeviceGetInternal | gets an access to internal object. Required "device_sharing" feature disable for correct work. For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Public Method | DeviceOpen | Open a device for work
Public Method | DeviceSet | Sets a device of the specified type.
Public Method | DeviceShowProps | Shows device's property page.
Public Method | FormatAudioGet |
Public Method | FormatAudioGetByIndex |
Public Method | FormatAudioGetCount |
Public Method | FormatAudioSet |
Public Method | FormatVideoGet |
Public Method | FormatVideoGetByIndex |
Public Method | FormatVideoGetCount |
Public Method | FormatVideoSet |
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to receiver object.
Top
See Also

Reference

MFRendererClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFRendererClass Class Methods

MFORMATSLib Namespace : MFRendererClass Class

For a list of all members of this type, see MFRendererClass members.

Public Methods
 | Name | Description
Public Method | DeviceClose | Closes the current device
Public Method | DeviceGet | Gets the current device of a selected type
Public Method | DeviceGetByIndex | Gets a device by its index.
Public Method | DeviceGetCount | Gets a number of available devices of the selected type
Public Method | DeviceGetInternal | gets an access to internal object. Required "device_sharing" feature disable for correct work. For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Public Method | DeviceOpen | Open a device for work
Public Method | DeviceSet | Sets a device of the specified type.
Public Method | DeviceShowProps | Shows device's property page.
Public Method | FormatAudioGet |
Public Method | FormatAudioGetByIndex |
Public Method | FormatAudioGetCount |
Public Method | FormatAudioSet |
Public Method | FormatVideoGet |
Public Method | FormatVideoGetByIndex |
Public Method | FormatVideoGetCount |
Public Method | FormatVideoSet |
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to receiver object.
Top
See Also

Reference

MFRendererClass Class
MFORMATSLib Namespace


DeviceClose Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceClose Method
Closes the current device
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceClose()

public virtual void DeviceClose()

public:
virtual void DeviceClose();

Example
Here is an example of how to close a device:

  • C#

m_objLive.DeviceClose(); // Close the device

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceGet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceGet Method
device type
index of selected device
name of the device
Gets the current device of a selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGet( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void DeviceGet(
   eMFDeviceType _eDevType,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void DeviceGet(
   eMFDeviceType _eDevType,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eDevType

device type
_pnIndex

index of selected device
_pbsName

name of the device

Example
Here is example of how to get a current device:

  • Tab Caption

m_objLive = new MFLiveClass();
// work with the live source
// ...
//
// Get current device
int devIndex;
string devName;
m_objLive.DevideGet(eMFDeviceType.eMFDT_Video, out devIndex, out devName);

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceGetByIndex Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceGetByIndex Method
device's type
index of a device
device's name
indicates whether the device busy
Gets a device by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGetByIndex( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pbBusy As System.Integer _
)

public virtual void DeviceGetByIndex(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   out System.string _pbsName,
   out System.int _pbBusy
)

public:
virtual void DeviceGetByIndex(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] System.int _pbBusy
)

Parameters
_eDevType

device's type
_nIndex

index of a device
_pbsName

device's name
_pbBusy

indicates whether the device busy

Example
Here is an example of how to fill a combobox with all available video devices:

  • C#

comboBoxV.Items.Clear();
//Feel video devices
int vCount;
try
{
    m_objLive = new MFLiveClass();
    m_objLive.DeviceGetCount(eMFDeviceType.eMFDT_Video, out vCount);
    if (vCount > 0)
    {
        for (int i = 0; i < vCount; i++)
        {
            string strName;
            int _pbBusy;
            m_objLive.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out strName, out _pbBusy);
            comboBoxV.Items.Add(strName);
        }
        comboBoxV.SelectedIndex = 0;
    }
}
catch { }

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceGetCount Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceGetCount Method
device's type
number of available devices
Gets a number of available devices of the selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGetCount( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _pnCount As System.Integer _
)

public virtual void DeviceGetCount(
   eMFDeviceType _eDevType,
   out System.int _pnCount
)

public:
virtual void DeviceGetCount(
   eMFDeviceType _eDevType,
   [Out] System.int _pnCount
)

Parameters
_eDevType

device's type
_pnCount

number of available devices

Example
Here is an example of how to fill a combobox with all available video devices:

  • C#

comboBoxV.Items.Clear();
//Feel video devices
int vCount;
try
{
    m_objLive = new MFLiveClass();
    m_objLive.DeviceGetCount(eMFDeviceType.eMFDT_Video, out vCount);
    if (vCount > 0)
    {
        for (int i = 0; i < vCount; i++)
        {
            string strName;
            int _pbBusy;
            m_objLive.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out strName, out _pbBusy);
            comboBoxV.Items.Add(strName);
        }
        comboBoxV.SelectedIndex = 0;
    }
}
catch { }

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceGetInternal Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceGetInternal Method

device type:
eMFDT_Video - returns you video source object, for example ScreenCapture filter
eMFDT_Audio - returns audio source object
eMFDT_All - returns complete DirectShow graph

result object
gets an access to internal object. Required "device_sharing" feature disable for correct work.
For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceGetInternal( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _ppObject As System.Object _
)

public virtual void DeviceGetInternal(
   eMFDeviceType _eDevType,
   out System.object _ppObject
)

public:
virtual void DeviceGetInternal(
   eMFDeviceType _eDevType,
   [Out] System.Object^ _ppObject
)

Parameters
_eDevType

device type:
eMFDT_Video - returns you video source object, for example ScreenCapture filter
eMFDT_Audio - returns audio source object
eMFDT_All - returns complete DirectShow graph
_ppObject

result object

Example

  • C#

object screenCapture;
m_objLive.DeviceGetInternal(eMFDeviceType.eMFDT_Video, out screenCapture);

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceOpen Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceOpen Method
device's configuration
additional properties
Open a device for work
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceOpen( _
   ByVal _bsDeviceConfig As System.String, _
   ByVal _bsPropsList As System.String _
)

public virtual void DeviceOpen(
   System.string _bsDeviceConfig,
   System.string _bsPropsList
)

public:
virtual void DeviceOpen(
   System.String^ _bsDeviceConfig,
   System.String^ _bsPropsList
)

Parameters
_bsDeviceConfig

device's configuration
_bsPropsList

additional properties

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceSet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceSet Method
device's type
index of a device
additional parameters
Sets a device of the specified type.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceSet( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _nIndex As System.Integer, _
   ByVal _bsParam As System.String _
)

public virtual void DeviceSet(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   System.string _bsParam
)

public:
virtual void DeviceSet(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   System.String^ _bsParam
)

Parameters
_eDevType

device's type
_nIndex

index of a device
_bsParam

additional parameters

Example
Here is an example of how to set a video device:

  • C#

m_objLive.DeviceSet(eMFDeviceType.eMFDT_Video, comboBoxV.SelectedIndex, "");

See Also
Reference
MFRendererClass Class

MFRendererClass Members


DeviceShowProps Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : DeviceShowProps Method
device's type
property's type
window handle to display a property page
Shows device's property page.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DeviceShowProps( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _bsPropsType As System.String, _
   ByVal _lWndHandle As System.Long _
)

public virtual void DeviceShowProps(
   eMFDeviceType _eDevType,
   System.string _bsPropsType,
   System.long _lWndHandle
)

public:
virtual void DeviceShowProps(
   eMFDeviceType _eDevType,
   System.String^ _bsPropsType,
   System.int64 _lWndHandle
)

Parameters
_eDevType

device's type
_bsPropsType

property's type
_lWndHandle

window handle to display a property page

Example
Here is an example of how to show device's properties:

  • C#

m_objLive.DeviceShowProps(eMFDeviceType.eMFDT_All, "", 0);

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatAudioGet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatAudioGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void FormatAudioGet(
   eMFormatType _eFormatType,
   out M_AUD_PROPS _pAudProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void FormatAudioGet(
   eMFormatType _eFormatType,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_pAudProps

_pnIndex

_pbsName

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatAudioGetByIndex Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatAudioGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pbsName As System.String _
)

public virtual void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_AUD_PROPS _pAudProps,
   out System.string _pbsName
)

public:
virtual void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_nIndex

_pAudProps

_pbsName

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatAudioGetCount Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatAudioGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

public virtual void FormatAudioGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

public:
virtual void FormatAudioGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

_pnCount

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatAudioSet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatAudioSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS _
)

public virtual void FormatAudioSet(
   eMFormatType _eFormatType,
   ref M_AUD_PROPS _pAudProps
)

public:
virtual void FormatAudioSet(
   eMFormatType _eFormatType,
   M_AUD_PROPS% _pAudProps
)

Parameters
_eFormatType

_pAudProps

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatVideoGet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatVideoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void FormatVideoGet(
   eMFormatType _eFormatType,
   out M_VID_PROPS _pVidProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void FormatVideoGet(
   eMFormatType _eFormatType,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_pVidProps

_pnIndex

_pbsName

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatVideoGetByIndex Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatVideoGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pbsName As System.String _
)

public virtual void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_VID_PROPS _pVidProps,
   out System.string _pbsName
)

public:
virtual void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_nIndex

_pVidProps

_pbsName

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatVideoGetCount Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatVideoGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

public virtual void FormatVideoGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

public:
virtual void FormatVideoGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

_pnCount

See Also
Reference
MFRendererClass Class

MFRendererClass Members


FormatVideoSet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : FormatVideoSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS _
)

public virtual void FormatVideoSet(
   eMFormatType _eFormatType,
   ref M_VID_PROPS _pVidProps
)

public:
virtual void FormatVideoSet(
   eMFormatType _eFormatType,
   M_VID_PROPS% _pVidProps
)

Parameters
_eFormatType

_pVidProps

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsGet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsGetByIndex Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsGetCount Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsInfoGet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsOptionGet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsOptionGetByIndex Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsOptionGetCount Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsOptionSetByIndex Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsRemove Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MFRendererClass Class

MFRendererClass Members


PropsSet Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MFRendererClass Class

MFRendererClass Members


ReceiverFramePut Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : ReceiverFramePut Method
frame that is used for output or for preview
maximal wait time in milliseconds. By default use "-1".
additional properties
Puts frame to receiver object.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

public virtual void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

public:
virtual void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

frame that is used for output or for preview
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_bsProps

additional properties

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MFRendererClass Class

MFRendererClass Members


%%PageItemTitle%%

MFSinkClass Class
Members

MFORMATSLib Namespace : MFSinkClass Class
See Also

Reference

MFSinkClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFSinkClass Class Members
Methods

MFORMATSLib Namespace : MFSinkClass Class

The following tables list the members exposed by MFSinkClass.

Public Constructors
 | Name | Description
Public Constructor | MFSinkClass Constructor |
Top
Public Methods
 | Name | Description
Public Method | IMFReceiver_ReceiverFramePut |
Public Method | PropsGet |
Public Method | PropsGetByIndex |
Public Method | PropsGetCount |
Public Method | PropsInfoGet |
Public Method | PropsOptionGet |
Public Method | PropsOptionGetByIndex |
Public Method | PropsOptionGetCount |
Public Method | PropsOptionSetByIndex |
Public Method | PropsRemove |
Public Method | PropsSet |
Public Method | ReceiverFramePut |
Public Method | SinkClose |
Public Method | SinkInit |
Top
See Also

Reference

MFSinkClass Class
MFORMATSLib Namespace


%%PageItemTitle%%

MFSinkClass Constructor

MFORMATSLib Namespace > MFSinkClass Class : MFSinkClass Constructor
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function New()

public MFSinkClass()

public:
MFSinkClass();

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
MFSinkClass Class

MFSinkClass Members


%%PageItemTitle%% $$Methods$$

MFSinkClass Class Methods

MFORMATSLib Namespace : MFSinkClass Class

For a list of all members of this type, see MFSinkClass members.

Public Methods
 | Name | Description
Public Method | IMFReceiver_ReceiverFramePut |
Public Method | PropsGet |
Public Method | PropsGetByIndex |
Public Method | PropsGetCount |
Public Method | PropsInfoGet |
Public Method | PropsOptionGet |
Public Method | PropsOptionGetByIndex |
Public Method | PropsOptionGetCount |
Public Method | PropsOptionSetByIndex |
Public Method | PropsRemove |
Public Method | PropsSet |
Public Method | ReceiverFramePut |
Public Method | SinkClose |
Public Method | SinkInit |
Top
See Also

Reference

MFSinkClass Class
MFORMATSLib Namespace


IMFReceiver_ReceiverFramePut Method

MFORMATSLib Namespace > MFSinkClass Class : IMFReceiver_ReceiverFramePut Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IMFReceiver_ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

public virtual void IMFReceiver_ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

public:
virtual void IMFReceiver_ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

_rtMaxWait

_bsProps

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsGet Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

_pbsPropValue

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsGetByIndex Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

_nIndex

_pbsPropName

_pbsPropValue

_pbNode

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsGetCount Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

_pnCount

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsInfoGet Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsInfoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

_eType

_pbsInfo

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsOptionGet Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsOptionGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_pnOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsOptionGetByIndex Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsOptionGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_nOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsOptionGetCount Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsOptionGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

_pnOptionCount

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsOptionSetByIndex Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsOptionSetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

_nOptionInx

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsRemove Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsRemove Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

See Also
Reference
MFSinkClass Class

MFSinkClass Members


PropsSet Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : PropsSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

_bsPropValue

See Also
Reference
MFSinkClass Class

MFSinkClass Members


ReceiverFramePut Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : ReceiverFramePut Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

public virtual void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

public:
virtual void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

_rtMaxWait

_bsProps

See Also
Reference
MFSinkClass Class

MFSinkClass Members


SinkClose Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : SinkClose Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SinkClose()

public virtual void SinkClose()

public:
virtual void SinkClose();

See Also
Reference
MFSinkClass Class

MFSinkClass Members


SinkInit Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : SinkInit Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SinkInit( _
   ByVal _bsSinkName As System.String, _
   ByVal _bsVirtualSourceName As System.String, _
   ByVal _bsProps As System.String _
)

public virtual void SinkInit(
   System.string _bsSinkName,
   System.string _bsVirtualSourceName,
   System.string _bsProps
)

public:
virtual void SinkInit(
   System.String^ _bsSinkName,
   System.String^ _bsVirtualSourceName,
   System.String^ _bsProps
)

Parameters
_bsSinkName

_bsVirtualSourceName

_bsProps

See Also
Reference
MFSinkClass Class

MFSinkClass Members


%%PageItemTitle%%

MFWriterClass Class
Members

MFORMATSLib Namespace : MFWriterClass Class
Operates capturing
See Also

Reference

MFWriterClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFWriterClass Class Members
Methods Events

MFORMATSLib Namespace : MFWriterClass Class

The following tables list the members exposed by MFWriterClass.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | FormatAudioGet |
Public Method | FormatAudioGetByIndex |
Public Method | FormatAudioGetCount |
Public Method | FormatAudioSet |
Public Method | FormatVideoGet |
Public Method | FormatVideoGetByIndex |
Public Method | FormatVideoGetCount |
Public Method | FormatVideoSet |
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to encoding process
Public Method | remove_OnEventSafe |
Public Method | WriterClose | Closes writer's object and encoding process
Public Method | WriterGet | Returns target path of encoding and full encoding's configuration
Public Method | WriterOptionGet | Gets currently set configuration's option (format, video or audio codec)
Public Method | WriterOptionGetByIndex | Gets a writer's option by its index.
Public Method | WriterOptionGetCount | Gets a number of available options (number of available formats, audio or video codecs)
Public Method | WriterOptionSet | Sets writer's option by its name
Public Method | WriterOptionSetByIndex | Sets writer's option by its index
Public Method | WriterSet | Sets target path and configuration for encoding. Also turns on writer's object to be ready to receive frames.
Top
Public Events
 | Name | Description
Public Event | OnEventSafe |
Top
See Also

Reference

MFWriterClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MFWriterClass Class Methods

MFORMATSLib Namespace : MFWriterClass Class

For a list of all members of this type, see MFWriterClass members.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | FormatAudioGet |
Public Method | FormatAudioGetByIndex |
Public Method | FormatAudioGetCount |
Public Method | FormatAudioSet |
Public Method | FormatVideoGet |
Public Method | FormatVideoGetByIndex |
Public Method | FormatVideoGetCount |
Public Method | FormatVideoSet |
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to encoding process
Public Method | remove_OnEventSafe |
Public Method | WriterClose | Closes writer's object and encoding process
Public Method | WriterGet | Returns target path of encoding and full encoding's configuration
Public Method | WriterOptionGet | Gets currently set configuration's option (format, video or audio codec)
Public Method | WriterOptionGetByIndex | Gets a writer's option by its index.
Public Method | WriterOptionGetCount | Gets a number of available options (number of available formats, audio or video codecs)
Public Method | WriterOptionSet | Sets writer's option by its name
Public Method | WriterOptionSetByIndex | Sets writer's option by its index
Public Method | WriterSet | Sets target path and configuration for encoding. Also turns on writer's object to be ready to receive frames.
Top
See Also

Reference

MFWriterClass Class
MFORMATSLib Namespace


add_OnEventSafe Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : add_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub add_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public virtual void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
virtual void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatAudioGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatAudioGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void FormatAudioGet(
   eMFormatType _eFormatType,
   out M_AUD_PROPS _pAudProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void FormatAudioGet(
   eMFormatType _eFormatType,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_pAudProps

_pnIndex

_pbsName

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatAudioGetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatAudioGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pbsName As System.String _
)

public virtual void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_AUD_PROPS _pAudProps,
   out System.string _pbsName
)

public:
virtual void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_nIndex

_pAudProps

_pbsName

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatAudioGetCount Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatAudioGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

public virtual void FormatAudioGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

public:
virtual void FormatAudioGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

_pnCount

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatAudioSet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatAudioSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatAudioSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS _
)

public virtual void FormatAudioSet(
   eMFormatType _eFormatType,
   ref M_AUD_PROPS _pAudProps
)

public:
virtual void FormatAudioSet(
   eMFormatType _eFormatType,
   M_AUD_PROPS% _pAudProps
)

Parameters
_eFormatType

_pAudProps

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatVideoGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatVideoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

public virtual void FormatVideoGet(
   eMFormatType _eFormatType,
   out M_VID_PROPS _pVidProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

public:
virtual void FormatVideoGet(
   eMFormatType _eFormatType,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_pVidProps

_pnIndex

_pbsName

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatVideoGetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatVideoGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pbsName As System.String _
)

public virtual void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_VID_PROPS _pVidProps,
   out System.string _pbsName
)

public:
virtual void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

_nIndex

_pVidProps

_pbsName

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatVideoGetCount Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatVideoGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

public virtual void FormatVideoGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

public:
virtual void FormatVideoGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

_pnCount

See Also
Reference
MFWriterClass Class

MFWriterClass Members


FormatVideoSet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : FormatVideoSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FormatVideoSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS _
)

public virtual void FormatVideoSet(
   eMFormatType _eFormatType,
   ref M_VID_PROPS _pVidProps
)

public:
virtual void FormatVideoSet(
   eMFormatType _eFormatType,
   M_VID_PROPS% _pVidProps
)

Parameters
_eFormatType

_pVidProps

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsGetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsGetCount Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsInfoGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsOptionGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsOptionGetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsOptionGetCount Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsOptionSetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsRemove Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MFWriterClass Class

MFWriterClass Members


PropsSet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MFWriterClass Class

MFWriterClass Members


ReceiverFramePut Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : ReceiverFramePut Method
frame for encoding
max wait time for encoding (by default use -1)
additional properties
Puts frame to encoding process
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

public virtual void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

public:
virtual void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

frame for encoding
_rtMaxWait

max wait time for encoding (by default use -1)
_bsProps

additional properties

Example
Here is example of how set writer's configuration and encode a received frame:

  • C#

MFWriterClass m_objWriter = new MFWriterClass();
// Configure writer
m_objWriter.WriterSet(targetPath, 1, "format='mp4' play_while_rec='true' video::codec='mpeg4' audio::codec='aac'");
// Get frame from source
MFFrame pFrame = null;
m_objLive.SourceFrameGet(-1, out pFrame, "");
// Encode the frame
m_objWriter.ReceiverFramePut(pFrame, -1, "");
// Release frame from memory
Marshal.ReleaseComObject(pFrame);

See Also
Reference
MFWriterClass Class

MFWriterClass Members


remove_OnEventSafe Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : remove_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub remove_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public virtual void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
virtual void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterClose Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterClose Method
Closes writer's object and encoding process
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterClose( _
   ByVal _bAsync As System.Integer _
)

public virtual void WriterClose(
   System.int _bAsync
)

public:
virtual void WriterClose(
   System.int _bAsync
)

Parameters
_bAsync

Example
Here is example of how to close encoding:

  • C#

m_objWriter.WriterClose();

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterGet Method
Returns target path of encoding and full encoding's configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterGet( _
   ByRef _pbsTargetPath As System.String, _
   ByRef _pbsOptionsList As System.String _
)

public virtual void WriterGet(
   out System.string _pbsTargetPath,
   out System.string _pbsOptionsList
)

public:
virtual void WriterGet(
   [Out] System.String^ _pbsTargetPath,
   [Out] System.String^ _pbsOptionsList
)

Parameters
_pbsTargetPath

_pbsOptionsList

Example
Here is example of how to set an audio codec and get a full configuration for encoding:

  • C#

IMFProps props;
m_objWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_AudioCodec, 2, out props); // to set 3rd available audio codec
string tPath, options;
m_objWriter.WriterGet(out tPath, out options);

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterOptionGet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterOptionGet Method
type of option (format, video or audio codec)
option's name
properties of the option (internal attributes)
Gets currently set configuration's option (format, video or audio codec)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterOptionGet( _
   ByVal _eType As eMFWriterOption, _
   ByRef _pbsName As System.String, _
   ByRef _ppProps As IMFProps _
)

public virtual void WriterOptionGet(
   eMFWriterOption _eType,
   out System.string _pbsName,
   out IMFProps _ppProps
)

public:
virtual void WriterOptionGet(
   eMFWriterOption _eType,
   [Out] System.String^ _pbsName,
   [Out] IMFProps^ _ppProps
)

Parameters
_eType

type of option (format, video or audio codec)
_pbsName

option's name
_ppProps

properties of the option (internal attributes)

Example
Here is example of how get currently specified video codec:

  • C#

string codecName;
IMFProps videoProps;
m_objWriter.WriterOptionGet(eMFWriterOption.eMFWO_VideoCodec, out codecName, out videoProps);

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterOptionGetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterOptionGetByIndex Method
option's type (format, video or audio codec)
option's index
short name (ID) of option (for example, 'mp4')
full name of the option (for example, 'MPEG-4 part 2 Video')
Gets a writer's option by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterOptionGetByIndex( _
   ByVal _eType As eMFWriterOption, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsShortName As System.String, _
   ByRef _pbsLongName As System.String _
)

public virtual void WriterOptionGetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   out System.string _pbsShortName,
   out System.string _pbsLongName
)

public:
virtual void WriterOptionGetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   [Out] System.String^ _pbsShortName,
   [Out] System.String^ _pbsLongName
)

Parameters
_eType

option's type (format, video or audio codec)
_nIndex

option's index
_pbsShortName

short name (ID) of option (for example, 'mp4')
_pbsLongName

full name of the option (for example, 'MPEG-4 part 2 Video')

Example
Here is example of how to fill a combobox with available formats:

  • C#

int nCount;
m_objWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_Format, out nCount); // get number of capturing formats (eMFWriterOption.eMFWO_Format)
for (int i = 0; i < nCount; i++)
{
    string myName, longName;
    m_objWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_Format, i, out myName, out longName); // get short (ID) and long names of capturing format (eMFWriterOption.eMFWO_Format)
    formatcombo.Items.Add(longName); // add a format's name into combobox's list
}

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterOptionGetCount Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterOptionGetCount Method
option's type(format, audio or video codec)
number of available options
Gets a number of available options (number of available formats, audio or video codecs)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterOptionGetCount( _
   ByVal _eType As eMFWriterOption, _
   ByRef _pnCount As System.Integer _
)

public virtual void WriterOptionGetCount(
   eMFWriterOption _eType,
   out System.int _pnCount
)

public:
virtual void WriterOptionGetCount(
   eMFWriterOption _eType,
   [Out] System.int _pnCount
)

Parameters
_eType

option's type(format, audio or video codec)
_pnCount

number of available options

Example
Here is example of how to fill a combobox with available formats:

  • C#

int nCount;
m_objWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_Format, out nCount); // get number of capturing formats (eMFWriterOption.eMFWO_Format)
for (int i = 0; i < nCount; i++)
{
    string myName, longName;
    m_objWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_Format, i, out myName, out longName); // get short (ID) and long names of capturing format (eMFWriterOption.eMFWO_Format)
    formatcombo.Items.Add(longName); // add a format's name into combobox's list
}

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterOptionSet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterOptionSet Method
option's type (format, video or audio codec)
option's name (full or short name)
properties of the option (attributes for configuration)
Sets writer's option by its name
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterOptionSet( _
   ByVal _eType As eMFWriterOption, _
   ByVal _bsName As System.String, _
   ByRef _ppProps As IMFProps _
)

public virtual void WriterOptionSet(
   eMFWriterOption _eType,
   System.string _bsName,
   out IMFProps _ppProps
)

public:
virtual void WriterOptionSet(
   eMFWriterOption _eType,
   System.String^ _bsName,
   [Out] IMFProps^ _ppProps
)

Parameters
_eType

option's type (format, video or audio codec)
_bsName

option's name (full or short name)
_ppProps

properties of the option (attributes for configuration)

Example
Here is example of how set video codec by its name:

  • C#

IMFProps props;
m_objWriter.WriterOptionSet(eMFWriterOption.eMFWO_VideoCodec, "mp4", out props);

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterOptionSetByIndex Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterOptionSetByIndex Method
option's type (format, video or audio codec)
option's index
properties of the option (attributes for configuration)
Sets writer's option by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterOptionSetByIndex( _
   ByVal _eType As eMFWriterOption, _
   ByVal _nIndex As System.Integer, _
   ByRef _ppProps As IMFProps _
)

public virtual void WriterOptionSetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   out IMFProps _ppProps
)

public:
virtual void WriterOptionSetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   [Out] IMFProps^ _ppProps
)

Parameters
_eType

option's type (format, video or audio codec)
_nIndex

option's index
_ppProps

properties of the option (attributes for configuration)

Example
Here is example of how set audio codec by selected index:

  • C#

IMFProps props;
m_objWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_AudioCodec, audiocodec.SelectedIndex, out props);
Marshal.ReleaseComObject(props); // release props if you don't need to use it

See Also
Reference
MFWriterClass Class

MFWriterClass Members


WriterSet Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : WriterSet Method
target path for encoding
indicates whether previous configuration will be reset
configuration for encoding
Sets target path and configuration for encoding. Also turns on writer's object to be ready to receive frames.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub WriterSet( _
   ByVal _bsTargetPath As System.String, _
   ByVal _bResetOption As System.Integer, _
   ByVal _bsOptionsList As System.String _
)

public virtual void WriterSet(
   System.string _bsTargetPath,
   System.int _bResetOption,
   System.string _bsOptionsList
)

public:
virtual void WriterSet(
   System.String^ _bsTargetPath,
   System.int _bResetOption,
   System.String^ _bsOptionsList
)

Parameters
_bsTargetPath

target path for encoding
_bResetOption

indicates whether previous configuration will be reset
_bsOptionsList

configuration for encoding

Example
Here is example of how set writer's configuration and encode a received frame:

  • C#

MFWriterClass m_objWriter = new MFWriterClass();
// Configure writer
m_objWriter.WriterSet(targetPath, 1, "format='mp4' play_while_rec='true' video::codec='mpeg4' audio::codec='aac'");
// Get frame from source
MFFrame pFrame = null;
m_objLive.SourceFrameGet(-1, out pFrame, "");
// Encode the frame
m_objWriter.ReceiverFramePut(pFrame, -1, "");
// Release frame from memory
Marshal.ReleaseComObject(pFrame);

See Also
Reference
MFWriterClass Class

MFWriterClass Members


%%PageItemTitle%% $$Events$$

MFWriterClass Class Events

MFORMATSLib Namespace : MFWriterClass Class

For a list of all members of this type, see MFWriterClass members.

Public Events
 | Name | Description
Public Event | OnEventSafe |
Top
See Also

Reference

MFWriterClass Class
MFORMATSLib Namespace


OnEventSafe Event (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : OnEventSafe Event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnEventSafe As IMEventsEvent_OnEventSafeEventHandler

public event IMEventsEvent_OnEventSafeEventHandler OnEventSafe

public:
event IMEventsEvent_OnEventSafeEventHandler^ OnEventSafe

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
MFWriterClass Class

MFWriterClass Members


%%PageItemTitle%%

MWebRTCClass Class
Members

MFORMATSLib Namespace : MWebRTCClass Class
Operates WebRTC functionality
See Also

Reference

MWebRTCClass Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MWebRTCClass Class Members
Methods Events

MFORMATSLib Namespace : MWebRTCClass Class

The following tables list the members exposed by MWebRTCClass.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | add_OnFrameSafe |
Public Method | ConnectToPeer | Connects to peer
Public Method | DisconnectPeer | Disconnects from peer
Public Method | GetPeerByIndex | Gets peer by its index
Public Method | GetPeersCount | Gets peer count
Public Method | Login | Login to signaling server
Public Method | Logout | Logout from signaling server
Public Method | ObjectCallbackSet | Sets callback for events usage (see IMCallback interface)
Public Method | ObjectCallbackSetFunc | Sets callback function
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to receiver object.
Public Method | remove_OnEventSafe |
Public Method | remove_OnFrameSafe |
Public Method | SendMessageToPeer | Sends message to a peer
Public Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Public Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Public Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Public Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Public Method | SourceFrameGet | Gets an original next frame of a file or live source
Public Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Public Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
Public Events
 | Name | Description
Public Event | OnEventSafe |
Public Event | OnFrameSafe |
Top
See Also

Reference

MWebRTCClass Class
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

MWebRTCClass Class Methods

MFORMATSLib Namespace : MWebRTCClass Class

For a list of all members of this type, see MWebRTCClass members.

Public Methods
 | Name | Description
Public Method | add_OnEventSafe |
Public Method | add_OnFrameSafe |
Public Method | ConnectToPeer | Connects to peer
Public Method | DisconnectPeer | Disconnects from peer
Public Method | GetPeerByIndex | Gets peer by its index
Public Method | GetPeersCount | Gets peer count
Public Method | Login | Login to signaling server
Public Method | Logout | Logout from signaling server
Public Method | ObjectCallbackSet | Sets callback for events usage (see IMCallback interface)
Public Method | ObjectCallbackSetFunc | Sets callback function
Public Method | PropsGet | Gets object's property.
Public Method | PropsGetByIndex | Gets a property's name and value by property's index.
Public Method | PropsGetCount | Gets count of properties in a selected node
Public Method | PropsInfoGet | Gets information of required type about a selected property
Public Method | PropsOptionGet | Gets property option
Public Method | PropsOptionGetByIndex | Gets an option for a property
Public Method | PropsOptionGetCount | Gets a number of available option for a selected property
Public Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Public Method | PropsRemove | Removes a selected property
Public Method | PropsSet | Sets a current property's value
Public Method | ReceiverFramePut | Puts frame to receiver object.
Public Method | remove_OnEventSafe |
Public Method | remove_OnFrameSafe |
Public Method | SendMessageToPeer | Sends message to a peer
Public Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Public Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Public Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Public Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Public Method | SourceFrameGet | Gets an original next frame of a file or live source
Public Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Public Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

MWebRTCClass Class
MFORMATSLib Namespace


add_OnEventSafe Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : add_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub add_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public virtual void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
virtual void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


add_OnFrameSafe Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : add_OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub add_OnFrameSafe( _
   ByVal param1 As IMEventsFrame_OnFrameSafeEventHandler _
)

public virtual void add_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler param1
)

public:
virtual void add_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


ConnectToPeer Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : ConnectToPeer Method
peer ID
Connects to peer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ConnectToPeer( _
   ByVal _bsPeerID As System.String _
)

public virtual void ConnectToPeer(
   System.string _bsPeerID
)

public:
virtual void ConnectToPeer(
   System.String^ _bsPeerID
)

Parameters
_bsPeerID

peer ID

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


DisconnectPeer Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : DisconnectPeer Method
peer ID
Disconnects from peer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub DisconnectPeer( _
   ByVal _bsPeerID As System.String _
)

public virtual void DisconnectPeer(
   System.string _bsPeerID
)

public:
virtual void DisconnectPeer(
   System.String^ _bsPeerID
)

Parameters
_bsPeerID

peer ID

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


GetPeerByIndex Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : GetPeerByIndex Method
peer index
peer ID
Gets peer by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetPeerByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsAccessName As System.String, _
   ByRef _pbsPeerID As System.String _
)

public virtual void GetPeerByIndex(
   System.int _nIndex,
   out System.string _pbsAccessName,
   out System.string _pbsPeerID
)

public:
virtual void GetPeerByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsAccessName,
   [Out] System.String^ _pbsPeerID
)

Parameters
_nIndex

peer index
_pbsAccessName

_pbsPeerID

peer ID

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


GetPeersCount Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : GetPeersCount Method
number of peers connected
Gets peer count
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetPeersCount( _
   ByRef _pnCount As System.Integer _
)

public virtual void GetPeersCount(
   out System.int _pnCount
)

public:
virtual void GetPeersCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

number of peers connected

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


Login Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : Login Method
peer ID
Login to signaling server
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub Login( _
   ByVal _bsSigServerURL As System.String, _
   ByVal _bsAccessName As System.String, _
   ByRef _pbsPeerID As System.String _
)

public virtual void Login(
   System.string _bsSigServerURL,
   System.string _bsAccessName,
   out System.string _pbsPeerID
)

public:
virtual void Login(
   System.String^ _bsSigServerURL,
   System.String^ _bsAccessName,
   [Out] System.String^ _pbsPeerID
)

Parameters
_bsSigServerURL

_bsAccessName

_pbsPeerID

peer ID

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


Logout Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : Logout Method
Logout from signaling server
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub Logout()

public virtual void Logout()

public:
virtual void Logout();

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


ObjectCallbackSet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : ObjectCallbackSet Method
callback function
callback user data
Sets callback for events usage (see IMCallback interface)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ObjectCallbackSet( _
   ByVal _pCallback As IMCallback, _
   ByVal _llCallbackUserData As System.Long _
)

public virtual void ObjectCallbackSet(
   IMCallback _pCallback,
   System.long _llCallbackUserData
)

public:
virtual void ObjectCallbackSet(
   IMCallback^ _pCallback,
   System.int64 _llCallbackUserData
)

Parameters
_pCallback

callback function
_llCallbackUserData

callback user data

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


ObjectCallbackSetFunc Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : ObjectCallbackSetFunc Method
pointer to OnEvent event
pointer to OnFrame event
callback user data
Sets callback function
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ObjectCallbackSetFunc( _
   ByVal _lpPFOnEvent As System.Long, _
   ByVal _lpPFOnFrame As System.Long, _
   ByVal _llCallbackUserData As System.Long _
)

public virtual void ObjectCallbackSetFunc(
   System.long _lpPFOnEvent,
   System.long _lpPFOnFrame,
   System.long _llCallbackUserData
)

public:
virtual void ObjectCallbackSetFunc(
   System.int64 _lpPFOnEvent,
   System.int64 _lpPFOnFrame,
   System.int64 _llCallbackUserData
)

Parameters
_lpPFOnEvent

pointer to OnEvent event
_lpPFOnFrame

pointer to OnFrame event
_llCallbackUserData

callback user data

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsGet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsGetByIndex Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

public virtual void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

public:
virtual void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsGetCount Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

public:
virtual void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsInfoGet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

public virtual void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

public:
virtual void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsOptionGet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsOptionGetByIndex Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

public virtual void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

public:
virtual void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsOptionGetCount Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

public virtual void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

public:
virtual void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsOptionSetByIndex Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

public virtual void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

public:
virtual void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsRemove Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

public virtual void PropsRemove(
   System.string _bsPropName
)

public:
virtual void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


PropsSet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


ReceiverFramePut Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : ReceiverFramePut Method
frame that is used for output or for preview
maximal wait time in milliseconds. By default use "-1".
additional properties
Puts frame to receiver object.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

public virtual void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

public:
virtual void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

frame that is used for output or for preview
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_bsProps

additional properties

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


remove_OnEventSafe Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : remove_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub remove_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

public virtual void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

public:
virtual void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


remove_OnFrameSafe Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : remove_OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub remove_OnFrameSafe( _
   ByVal param1 As IMEventsFrame_OnFrameSafeEventHandler _
)

public virtual void remove_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler param1
)

public:
virtual void remove_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SendMessageToPeer Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SendMessageToPeer Method
peer ID
message body
Sends message to a peer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SendMessageToPeer( _
   ByVal _bsPeerID As System.String, _
   ByVal _bsMessage As System.String _
)

public virtual void SendMessageToPeer(
   System.string _bsPeerID,
   System.string _bsMessage
)

public:
virtual void SendMessageToPeer(
   System.String^ _bsPeerID,
   System.String^ _bsMessage
)

Parameters
_bsPeerID

peer ID
_bsMessage

message body

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceAVPropsGet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceAVPropsGet Method
media properties
Gets media properties (audio and video) of a source object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceAVPropsGet( _
   ByRef _pAVProps As M_AV_PROPS _
)

public virtual void SourceAVPropsGet(
   out M_AV_PROPS _pAVProps
)

public:
virtual void SourceAVPropsGet(
   [Out] M_AV_PROPS _pAVProps
)

Parameters
_pAVProps

media properties

Example
Here is example of how to get media properties of a source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // get media properties of a source file
m_objMFReader.SourceAVPropsGet(out m_avProps);
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceFrameConvertedGet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceFrameConvertedGet Method
media properties that specify required format for a frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a next frame (that is converted to required format) from file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGet( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGet(
   ref M_AV_PROPS _pAVPropsOut,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGet(
   M_AV_PROPS% _pAVPropsOut,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties that specify required format for a frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceFrameConvertedGetByNumber Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceFrameConvertedGetByNumber Method
required format's properties for a frame
number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByNumber( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByNumber(
   ref M_AV_PROPS _pAVPropsOut,
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByNumber(
   M_AV_PROPS% _pAVPropsOut,
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_nFrameNo

number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByNumber(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceFrameConvertedGetByTime Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceFrameConvertedGetByTime Method
required format's properties for a frame
position of a frame in time. To get a next frame use "-1"
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameConvertedGetByTime( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameConvertedGetByTime(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameConvertedGetByTime(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_dblTimeSec

position of a frame in time. To get a next frame use "-1"
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceFrameGet Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceFrameGet Method
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original next frame of a file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGet( _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGet(
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGet(
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGet(-1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceFrameGetByNumber Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceFrameGetByNumber Method
frame's number
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGetByNumber( _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_nFrameNo

frame's number
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByNumber(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


SourceFrameGetByTime Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : SourceFrameGetByTime Method
position of a frame in time. To get a next frame use "-1".
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SourceFrameGetByTime( _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

public virtual void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

public:
virtual void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_dblTimeSec

position of a frame in time. To get a next frame use "-1".
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByTime(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


%%PageItemTitle%% $$Events$$

MWebRTCClass Class Events

MFORMATSLib Namespace : MWebRTCClass Class

For a list of all members of this type, see MWebRTCClass members.

Public Events
 | Name | Description
Public Event | OnEventSafe |
Public Event | OnFrameSafe |
Top
See Also

Reference

MWebRTCClass Class
MFORMATSLib Namespace


OnEventSafe Event (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : OnEventSafe Event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnEventSafe As IMEventsEvent_OnEventSafeEventHandler

public event IMEventsEvent_OnEventSafeEventHandler OnEventSafe

public:
event IMEventsEvent_OnEventSafeEventHandler^ OnEventSafe

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


OnFrameSafe Event (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : OnFrameSafe Event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnFrameSafe As IMEventsFrame_OnFrameSafeEventHandler

public event IMEventsFrame_OnFrameSafeEventHandler OnFrameSafe

public:
event IMEventsFrame_OnFrameSafeEventHandler^ OnFrameSafe

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


%%PageItemTitle%%

eM3DFormat Enumeration

MFORMATSLib Namespace : eM3DFormat Enumeration
Specifies 3D format types.
Members
Member | Description
eM3D_Auto | Auto detection of 3D format
eM3D_FullFlag | Full 3D
eM3D_FullSideBySide | Full 3D Horizontal stereopair
eM3D_FullTopAndBottom | Full 3D Vertical stereopair
eM3D_None | 2D format
eM3D_SideBySide | Horizontal stereopair
eM3D_Tile | Tile format
eM3D_TopAndBottom | Vertical stereopair
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMANCFlags Enumeration

MFORMATSLib Namespace : eMANCFlags Enumeration

Contains the information if the audio loudness values are correct.

The audio loudness values can be icorrect. when the frame was just created and the loudness values were not calculaded yet.

To force the frame to calculate the audio loudness values please call the MFAudioGain method like this:

  • C#
pFrame.MFAudioGain("", 0, 0);

Members
Member | Description
eMAF_AL_Valid | Audio loudness values are valid
eMAF_None | Audio loudness values are not valid
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMCursorType Enumeration

MFORMATSLib Namespace : eMCursorType Enumeration
Specifies cursor type
Members
Member | Description
eMCT_APPSTARTING |
eMCT_ARROW |
eMCT_CROSS |
eMCT_HAND |
eMCT_IBEAM |
eMCT_ICON |
eMCT_NO |
eMCT_NOCURSOR | No cursor
eMCT_SIZE |
eMCT_SIZEALL |
eMCT_SIZENESW |
eMCT_SIZENS |
eMCT_SIZENWSE |
eMCT_SIZEWE |
eMCT_UPARROW |
eMCT_WAIT |
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFCC Enumeration

MFORMATSLib Namespace : eMFCC Enumeration
Specifies the video colorspace
Members
Member | Description
eMFCC_ARGB32 | RGB 4:4:4 colorspace with alpha (8-bit per pixel)
eMFCC_Default | Default value is usual the same as input or not defined
eMFCC_HDYC | YUV for HD video (CCIR 709) - similar to UYVY (CCIR 601)
eMFCC_I420 | YUV 4:2:0 colorspace (8-bit per pixel)
eMFCC_NV12 | YUV 4:2:0 colorspace, packed in two planes: Y & UV (8-bit per pixel)
eMFCC_RGB24 | RGB 4:4:4 colorspace (24-bit per pixel)
eMFCC_RGB32 | RGB 4:4:4 colorspace (32-bit per pixel)
eMFCC_RGB8 | RGB 4:4:4 colorspace (8-bit per pixel)
eMFCC_UYVY | YUV 4:2:2 colorspace (8-bit per pixel)
eMFCC_v210 | 4:2:2 10 bit (YUV) packed format
eMFCC_YUY2 | YUV 4:2:2 colorspace (8-bit per pixel)
eMFCC_YV12 | YUV 4:2:0 colorspace (8-bit per pixel)
eMFCC_YVYU | YUV 4:2:2 colorspace (8-bit per pixel)
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFDeviceType Enumeration

MFORMATSLib Namespace : eMFDeviceType Enumeration
Specifies types of divices
Members
Member | Description
eMFDT_All | Audio and video device
eMFDT_Audio | Audio device
eMFDT_ExtAudio | External audio device
eMFDT_ExtAudio_2 |
eMFDT_ExtAudio_3 |
eMFDT_ExtAudio_4 |
eMFDT_Video | Video device
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFormatType Enumeration

MFORMATSLib Namespace : eMFormatType Enumeration
Specifies the format types
Members
Member | Description
eMFT_Convert | Converts stream's properties
eMFT_Input | Returns input stream's properties
eMFT_Output | Returns output stream's properties
eMFT_Override | Overrides input stream's properties
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFOverlayFlags Enumeration

MFORMATSLib Namespace : eMFOverlayFlags Enumeration
Specifies overlay's flags
Members
Member | Description
eMFOF_Crop | crop scaling
eMFOF_FirstField | first-field only
eMFOF_LetterBox | letter-box scaling
eMFOF_NoAR | no-aspect-ratio scaling
eMFOF_NoScale | no-scale scaling
eMFOF_ScaleMask | mask the scale
eMFOF_SecondField | second-field only
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFrameClone Enumeration

MFORMATSLib Namespace : eMFrameClone Enumeration
Specifies a types of frame's clone
Members
Member | Description
eMFC_Audio | Copy only audio and properties, video is null (it is NOT possible to add video later to this frame)
eMFC_Data | Copy only data and properties (video is null, audio is null)
eMFC_Data_Audio | Copy only audio and data (video is null)
eMFC_Full | Audio and video are copied (to modify data)
eMFC_Obj | Copy only object data
eMFC_ObjData_Audio | Copy only audio part of object data
eMFC_Props | Copy only frame properties (M_TIME & M_AV_PROPS), video and audio data is null (e.g. for events)
eMFC_Reference | Audio and video references
eMFC_Video | Copy only video and properties, audio is null (it is possible to add audio later to this frame)
eMFC_VideoRef | Keep reference to video block and copy properties, audio is null (it is possible to add audio later to this frame)
eMFC_VideoRef_Audio | Copy audio and keep reference to video block and copy properties
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFrameFlags Enumeration

MFORMATSLib Namespace : eMFrameFlags Enumeration
Specifies the frame position and frame type
Members
Member | Description
eMFF_BI | BI Type (BI-frame)
eMFF_Bidir_Predicted | Bi-dir predicted type
eMFF_Break | Stream break flag (for example, first sample or first after seeking)
eMFF_Break_BI | BI type for break frame
eMFF_Break_Bidir_Predicted | Bi-dir type for break frame
eMFF_Break_Intra | Intra-frame for break
eMFF_Break_Predicted | Predicted type for break frame
eMFF_Break_S_GMC_VOP_MPEG4 | S_GMC_VOP_MPEG4 break flag
eMFF_Break_Switching_Intra | Switching Intra type for break frame
eMFF_Break_Switching_Predicted | Switching Predicted
eMFF_Dup | Duplicate
eMFF_Intra | Intra type (I-Frame)
eMFF_Last | Last frame in stream flag (for example, last frame in file).
eMFF_Last_Break | Last Break frame
eMFF_Last_Dup | Last duplicated frame
eMFF_Last_Pause | Last pause frame
eMFF_Live | Source is Live flag
eMFF_Live_Break | Live stream break flag
eMFF_Live_Last | Last frame in live stream flag
eMFF_Live_Last_Break | Last break frame for live stream
eMFF_Main_Mask | Flag's mask
eMFF_Net | Source is Network stream
eMFF_Net_BI | BI type for network frame
eMFF_Net_Bidir_Predicted | Bi-dir predicted type for network frame
eMFF_Net_Break | Network stream break flag
eMFF_Net_Break_BI | BI type for network break frame
eMFF_Net_Break_Bidir_Predicted | Bi-dir predicted type for network break frame
eMFF_Net_Break_Intra | Intra type for network break frame
eMFF_Net_Break_Predicted | Predicted type for network break frame
eMFF_Net_Break_S_GMC_VOP_MPEG4 | S_GMC_VOP_MPEG4 network break flag
eMFF_Net_Break_Switching_Intra | Switching Intra type for network break frame
eMFF_Net_Break_Switching_Predicted | Switching Predicted type for network break frame
eMFF_Net_Intra | Intra type for network frame
eMFF_Net_Last | Network stream last frame flag
eMFF_Net_Last_Break | Last Break frame for network stream
eMFF_Net_Predicted | Predicted type for network frame
eMFF_Net_S_GMC_VOP_MPEG4 | S_GMC_VOP_MPEG4 network flag
eMFF_Net_Switching_Intra | Switching Intra type for network frame
eMFF_Net_Switching_Predicted | Switching predicted type for network frame
eMFF_None | Empty flags
eMFF_Pause | Pause flags
eMFF_Predicted | Predicted type (P-frame)
eMFF_Reverse | Reverse flag
eMFF_Reverse_BI | reverse BI-frame
eMFF_Reverse_Bidir_Predicted | Reverse bi-dir P-frame
eMFF_Reverse_Break | Reverse Break frame
eMFF_Reverse_Break_BI | Reverse Break BI-frame
eMFF_Reverse_Break_Bidir_Predicted | Reverse Break bi-dir P-frame
eMFF_Reverse_Break_Intra | Reverse Break I-frame
eMFF_Reverse_Break_Predicted | Reverse Break P-frame
eMFF_Reverse_Break_S_GMC_VOP_MPEG4 | Reverse Break frame in S GMC VOP MPEG4 standard
eMFF_Reverse_Break_Switching_Intra | Reverse Break Switching I-frame
eMFF_Reverse_Break_Switching_Predicted | Reverse Break Switching P-frame
eMFF_Reverse_Intra | Reverse I-frame
eMFF_Reverse_Last | Reverse Last Frame
eMFF_Reverse_Pause | Reverse Pause Frame
eMFF_Reverse_Predicted | Reverse P-frame
eMFF_Reverse_S_GMC_VOP_MPEG4 | Reverse frame in S GMC VOP MPEG4 standard
eMFF_Reverse_Switching_Intra | Reverse Switching I-frame
eMFF_Reverse_Switching_Predicted | Reverse Swtiching P-frame
eMFF_S_GMC_VOP_MPEG4 | S_GMC_VOP_MPEG4
eMFF_Switching_Intra | Switching Intra type
eMFF_Switching_Predicted | Switching Predicted type
eMFF_Type_Mask | Type flags' mask
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFRectType Enumeration

MFORMATSLib Namespace : eMFRectType Enumeration
Specifies type of rectangle
Members
Member | Description
eMFRT_Absolute | Absolute positions in pixels
eMFRT_Fixed14 | Fixed 14 rows (exclude overscan 7%)
eMFRT_Fixed20 | Fixed 20 rows (exclude overscan 7%)
eMFRT_Fixed24 | Fixed 24 rows (exclude overscan 7%)
eMFRT_Fixed32 | Fixed 32 rows (exclude overscan 7%)
eMFRT_Fixed40 | Fixed 40 rows (exclude overscan 7%)
eMFRT_FixedCC_15x32 |
eMFRT_Relative | Relative positions [0.0..1.0]
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFTextFlags Enumeration

MFORMATSLib Namespace : eMFTextFlags Enumeration
Specifies options for text overlay
Members
Member | Description
eMFT_RightToLeft | right-to-left text
eMFT_Vertical | vertical text
eMFT_WordBreaks | word-breaks
eMFTF_BottomCenter | bottom-center alignment
eMFTF_BottomJustify | bottom-justify alignment
eMFTF_BottomLeft | bottom-left alignment
eMFTF_BottomRight | bottom-right alignment
eMFTF_Center | center alignment
eMFTF_CenterJustify | center-justify alignment
eMFTF_CenterLeft | center-left alignment
eMFTF_CenterRight | center-right alignment
eMFTF_FirstField | first field-only
eMFTF_HPos_Mask | horizontal position of mask
eMFTF_SecondField | second field-only
eMFTF_TopCenter | top-center alignment
eMFTF_TopJustify | top-justify alignment
eMFTF_TopLeft | top-left alignment
eMFTF_TopRight | top-right alignment
eMFTF_VPos_Mask | vertical position of mask
eMFTF_WB_BottomCenter | word-break's bottom-center alignment
eMFTF_WB_BottomJustify | word-break's bottom-justify alignment
eMFTF_WB_BottomLeft | word-break's bottom-left alignment
eMFTF_WB_BottomRight | word-break's bottom-right alignment
eMFTF_WB_Center | word-break's center alignment
eMFTF_WB_CenterJustify | word-break's center justify alignment
eMFTF_WB_CenterLeft | word-break's center-left alignment
eMFTF_WB_CenterRight | word-break's center-right alignment
eMFTF_WB_TopCenter | word-break's top-center alignment
eMFTF_WB_TopJustify | word-break's top-justify alignment
eMFTF_WB_TopLeft | word-break's top-left alignment
eMFTF_WB_TopRight | word-break's top-right alignment
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMFWriterOption Enumeration

MFORMATSLib Namespace : eMFWriterOption Enumeration
Enumerate type of writer's configuratio
Members
Member | Description
eMFWO_AudioCodec | audio codec's configuration
eMFWO_Format | container (format) configuration
eMFWO_VideoCodec | video codec's configuration
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMInfoType Enumeration

MFORMATSLib Namespace : eMInfoType Enumeration
Specifies type of XML attributes' information
Members
Member | Description
eMIT_Default | Default value
eMIT_Dynamic | Dynamic info
eMIT_Help | Help string with description
eMIT_Max | Maximal value
eMIT_Min | Minimal value
eMIT_Type | Type of attribute (integer, double, string, flag, option)
eMIT_Values | Available values for flags and options that are separated by commas
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMInterlace Enumeration

MFORMATSLib Namespace : eMInterlace Enumeration
Specifies the interlacing type
Members
Member | Description
eMI_Default | Default of unknown value
eMI_DeinterlaceF1 | Deinterlace top field
eMI_DeinterlaceF2 | Deinterlace bottom field
eMI_Field1First | Top field first
eMI_Field2First | Bottom field first
eMI_Inverse | Inverse interlacing
eMI_OneField | One field only
eMI_Progressive | Progressive type
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMScaleType Enumeration

MFORMATSLib Namespace : eMScaleType Enumeration
Specifies the scaling type.
Members
Member | Description
eMST_Crop | Crops image
eMST_Default | Default correction
eMST_IgnoreAR | Ignore Aspect ratio
eMST_LetterBox | Letter-Box or Pilar-Box correction
eMST_NoScale | No scaling (1:1)
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMTimecodeFlags Enumeration

MFORMATSLib Namespace : eMTimecodeFlags Enumeration
Specifies timecode flags
Members
Member | Description
eMTCF_DropFrame | Drop frame (DF) timecode is valid only for 29.97 and 59.94i/p timecoded, for 23.98 NDF is used. Used to compensate timecode and clock deviation - drop 2 timecode labels every minute except 10 minutes.
eMTCF_Invalid | Timecode is not set
eMTCF_LocalTimeTC | Local timecode
eMTCF_NonDropFrame | Non drop frame (NDF) timecode
eMTCF_Progressive_3th_Frame | Progressive timecode with 3rd frame-based
eMTCF_Progressive_4th_Frame | Progressive timecode with 4th frame-based
eMTCF_Progressive_5th_Frame | Progressive timecode with 5th frame-based
eMTCF_Progressive_6th_Frame | Progressive timecode with 6th frame-based
eMTCF_Progressive_7th_Frame | Progressive timecode with 7th frame-based
eMTCF_Progressive_8th_Frame | Progressive timecode with 8th frame-based
eMTCF_Progressive_Even_Frame | Flag for progressive (50p, 59.94p, 60p) rates - even frame
eMTCF_Progressive_Odd_Frame | Flag for progressive (50p, 59.94p, 60p) rates - odd frame
eMTCF_Rate | Default rate
eMTCF_Rate_24 | Film 24 or 23.98 rate
eMTCF_Rate_25 | PAL rate or 25 fps
eMTCF_Rate_30 | NTSC Not Drop Frame
eMTCF_Rate_30_DF | NTSC Drop Frame (DF) timecode (29.97 fps)
eMTCF_Rate_50 | 50p rate or 50 fps
eMTCF_Rate_50_Odd | 50p rate odd-based
eMTCF_Rate_60 | 60p Not Drop Frame
eMTCF_Rate_60_DF | 59.94 timecode (59.94 fps)
eMTCF_Rate_60_DF_Odd | 59.94 timecode odd-based
eMTCF_Rate_60_Odd | 60p odd-based timecode
eMTCF_SrcTC | This flags mean that File/Live/Network have timecode stream, in other case, timecode calculated from file position or current time in live case.
eMTCF_SrcTC_DropFrame | Drop frame (DF) timecode from source
eMTCF_SrcTC_Progressive_Even_Frame | Flag for source progressive (50p, 59.94p, 60p) rates - even frame (timecode stream)
eMTCF_SrcTC_Progressive_Odd_Frame | Flag for progressive (50p, 59.94p, 60p) rates - odd frame (timecode stream)
eMTCF_SrcTC_Rate_24 | Film 24 or 23.98 rate (timecode stream)
eMTCF_SrcTC_Rate_25 | PAL rate or 25 fps (timecode stream)
eMTCF_SrcTC_Rate_30 | Not Drop Frame (timecode stream)
eMTCF_SrcTC_Rate_30_DF | NTSC Drop Frame (DF) timecode or 29.97 fps (timecode stream)
eMTCF_SrcTC_Rate_50 | 50p rate or 50 fps (timecode stream)
eMTCF_SrcTC_Rate_50_Odd | source timecode for 50p odd-based
eMTCF_SrcTC_Rate_60 | 60p source timecode
eMTCF_SrcTC_Rate_60_DF | 59.94 source timecode or 59.94 fps (timecode stream)
eMTCF_SrcTC_Rate_60_DF_Odd | 59.94 source timecode odd-based
eMTCF_SrcTC_Rate_60_Odd | 60p source timecode odd-based
eMTCF_UserTC | This flags mean that File/Live/Network have user timecode.
eMTCF_UserTC_DropFrame | Drop frame (DF) timecode (user timecode)
eMTCF_UserTC_Progressive_Even_Frame | Flag for progressive (50p, 59.94p, 60p) rates - even frame (user timecode)
eMTCF_UserTC_Progressive_Odd_Frame | Flag for progressive (50p, 59.94p, 60p) rates - odd frame (user timecode)
eMTCF_UserTC_Rate_24 | Film 24 or 23.98 rate (user timecode)
eMTCF_UserTC_Rate_25 | PAL rate or 25 fps (user timecode)
eMTCF_UserTC_Rate_30 | Not Drop Frame (user timecode)
eMTCF_UserTC_Rate_30_DF | NTSC Drop Frame (DF) timecode or 29.97 fps (user timecode)
eMTCF_UserTC_Rate_50 | 50p rate or 50 fps (user timecode)
eMTCF_UserTC_Rate_50_Odd | 50p user timecode odd-based
eMTCF_UserTC_Rate_60 | 60p Not Drop Frame (user timecode)
eMTCF_UserTC_Rate_60_DF | 59.94 user timecode
eMTCF_UserTC_Rate_60_DF_Odd | 59.94 user timecode odd-based
eMTCF_UserTC_Rate_60_Odd | 60p user timecode odd-based
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

eMVideoFormat Enumeration

MFORMATSLib Namespace : eMVideoFormat Enumeration
Specifies the video format.
Members
Member | Description
eMVF_2K_2398p | 2K Resolution 2048x1556 @ 24/1001 Hz
eMVF_2K_24p | 2K Resolution 2048x1556 @ 24 Hz
eMVF_2K_25p | 2K Resolution 2048x1556 @ 25 Hz
eMVF_2K_DCI_2398p |
eMVF_2K_DCI_24p |
eMVF_2K_DCI_25p |
eMVF_2K_DCI_50p |
eMVF_2K_DCI_5994p |
eMVF_2K_DCI_60p |
eMVF_3D_Full_SbS_1080_2398p | eMVF_1080_2398p video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_24p | eMVF_1080_24p video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_25p | eMVF_1080_25p video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_2997p | eMVF_1080_2997p video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_30p | eMVF_1080_30p video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_50i | eMVF_1080_50i video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_5994i | eMVF_1080_5994i video format with Full side by side 3D format
eMVF_3D_Full_SbS_1080_60i | eMVF_1080_60i video format with Full side by side 3D format
eMVF_3D_Full_SbS_720_50p | eMVF_720_50p video format with Full side by side 3D format
eMVF_3D_Full_SbS_720_5994p | eMVF_720_5994p video format with Full side by side 3D format
eMVF_3D_Full_SbS_720_60p | eMVF_720_60p video format with Full side by side 3D format
eMVF_3D_Full_TnB_1080_2398p | eMVF_1080_2398p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_24p | eMVF_1080_24p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_25p | eMVF_1080_25p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_2997p | eMVF_1080_2997p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_30p | eMVF_1080_30p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_50i | eMVF_1080_50i video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_5994i | eMVF_1080_5994i video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_1080_60i | eMVF_1080_60i video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_720_50p | eMVF_720_50p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_720_5994p | eMVF_720_5994p video format with Full top and bottom 3D format
eMVF_3D_Full_TnB_720_60p | eMVF_720_60p video format with Full top and bottom 3D format
eMVF_3D_SbS_1080_2398p | eMVF_1080_2398p video format with side by side 3D format
eMVF_3D_SbS_1080_24p | eMVF_1080_24p video format with side by side 3D format
eMVF_3D_SbS_1080_25p | eMVF_1080_25p video format with side by side 3D format
eMVF_3D_SbS_1080_2997p | eMVF_1080_2997p video format with side by side 3D format
eMVF_3D_SbS_1080_30p | eMVF_1080_30p video format with side by side 3D format
eMVF_3D_SbS_1080_50i | eMVF_1080_50i video format with side by side 3D format
eMVF_3D_SbS_1080_50p | eMVF_1080_50p video format with side by side 3D format
eMVF_3D_SbS_1080_5994i | eMVF_1080_5994i video format with side by side 3D format
eMVF_3D_SbS_1080_5994p | eMVF_1080_5994p video format with side by side 3D format
eMVF_3D_SbS_1080_60i | eMVF_1080_60i video format with side by side 3D format
eMVF_3D_SbS_1080_60p | eMVF_1080_60p video format with side by side 3D format
eMVF_3D_SbS_720_50p | eMVF_720_50p video format with side by side 3D format
eMVF_3D_SbS_720_5994p | eMVF_720_5994p video format with side by side 3D format
eMVF_3D_SbS_720_60p | eMVF_720_60p video format with side by side 3D format
eMVF_3D_TnB_1080_2398p | eMVF_1080_2398p video format with top and bottom 3D format
eMVF_3D_TnB_1080_24p | eMVF_1080_24p video format with top and bottom 3D format
eMVF_3D_TnB_1080_25p | eMVF_1080_25p video format with top and bottom 3D format
eMVF_3D_TnB_1080_2997p | eMVF_1080_2997p video format with top and bottom 3D format
eMVF_3D_TnB_1080_30p | eMVF_1080_30p video format with top and bottom 3D format
eMVF_3D_TnB_1080_50p | eMVF_1080_50p video format with top and bottom 3D format
eMVF_3D_TnB_1080_5994p | eMVF_1080_5994p video format with top and bottom 3D format
eMVF_3D_TnB_1080_60p | eMVF_1080_60p video format with top and bottom 3D format
eMVF_3D_TnB_720_50p | eMVF_720_50p video format with top and bottom 3D format
eMVF_3D_TnB_720_5994p | eMVF_720_5994p video format with top and bottom 3D format
eMVF_3D_TnB_720_60p | eMVF_720_60p video format with top and bottom 3D format
eMVF_4K_DCI_2398p | 4K DCI video format 23.98p
eMVF_4K_DCI_24p | 4K DCI video format 24p
eMVF_4K_DCI_25p | 4K DCI video format 25p
eMVF_4K_DCI_50p | 4K DCI 50p video
eMVF_4K_DCI_5994p | 4K DCI 59.94p video
eMVF_4K_DCI_60p | 4K DCI 60p video
eMVF_4K_UHD_2398p | 4K UHD video format 23.98p
eMVF_4K_UHD_24p | 4K UHD video format 24p
eMVF_4K_UHD_25p | 4K UHD video format 25p
eMVF_4K_UHD_2997p | 4K UHD video format 29.97p
eMVF_4K_UHD_30p | 4K UHD video format 30p
eMVF_4K_UHD_50i | 4K UHD 50i format
eMVF_4K_UHD_50p | 4K UHD 50p video
eMVF_4K_UHD_5994i | 4K UHD 5994i format
eMVF_4K_UHD_5994p | 4K UHD 59.94p video
eMVF_4K_UHD_60i | 4K UHD 60i format
eMVF_4K_UHD_60p | 4K UHD 60p video
eMVF_Custom | Custom video format
eMVF_Disabled | Video format is disabled
eMVF_HD1080_2398p | SMPTE 274M - HD 1080i @ 24/1001Hz standard
eMVF_HD1080_24p | SMPTE 274M - HD 1080i @ 24Hz standard
eMVF_HD1080_25p | SMPTE 274M - HD 1080p @ 25Hz standard
eMVF_HD1080_2997p | SMPTE 274M - HD 1080p @ 30/1001Hz standard
eMVF_HD1080_30p | SMPTE 274M - HD 1080p @ 30Hz standard
eMVF_HD1080_50i | SMPTE 274M - HD 1080i @ 50Hz standard
eMVF_HD1080_50p | SMPTE 274M - HD 1080p @ 50Hz standard
eMVF_HD1080_5994i | SMPTE 274M - HD 1080i @ 60/1001Hz standard
eMVF_HD1080_5994p | SMPTE 274M - HD 1080i @ 60/1001Hz standard
eMVF_HD1080_60i | SMPTE 274M - HD 1080i @ 60Hz standard
eMVF_HD1080_60p | SMPTE 274M - HD 1080p @ 60Hz standard
eMVF_HD720_50p | SMPTE 296M - HD 720p @ 50Hz standard
eMVF_HD720_5994p | SMPTE 296M - HD 720p @ 60/1001Hz standard
eMVF_HD720_60p | SMPTE 296M - HD 720p @ 60Hz standard
eMVF_NTSC | SMPTE 259M - SD NTSC standard (720x486 @ 59.94i)
eMVF_NTSC_16x9 | NTSC 16:9
eMVF_NTSC_2398 | NTSC with 24/1001 rate (FPS)
eMVF_PAL | SMPTE 259M - SD PAL standard (720x576 @ 50i)
eMVF_PAL_16x9 | PAL 16:9
See Also

Reference

MFORMATSLib Namespace


%%PageItemTitle%%

_FILETIME Structure
Members

MFORMATSLib Namespace : _FILETIME Structure
See Also

Reference

_FILETIME Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

_FILETIME Structure Members
Fields

MFORMATSLib Namespace : _FILETIME Structure

The following tables list the members exposed by _FILETIME.

Public Fields
 | Name | Description
Public Field | dwHighDateTime |
Public Field | dwLowDateTime |
Top
See Also

Reference

_FILETIME Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

_FILETIME Structure Fields

MFORMATSLib Namespace : _FILETIME Structure

For a list of all members of this type, see _FILETIME members.

Public Fields
 | Name | Description
Public Field | dwHighDateTime |
Public Field | dwLowDateTime |
Top
See Also

Reference

_FILETIME Structure
MFORMATSLib Namespace


dwHighDateTime Field

MFORMATSLib Namespace > _FILETIME Structure : dwHighDateTime Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dwHighDateTime As System.UInteger

public System.uint dwHighDateTime

public:
System.uint dwHighDateTime

See Also
Reference
_FILETIME Structure

_FILETIME Members


dwLowDateTime Field

MFORMATSLib Namespace > _FILETIME Structure : dwLowDateTime Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dwLowDateTime As System.UInteger

public System.uint dwLowDateTime

public:
System.uint dwLowDateTime

See Also
Reference
_FILETIME Structure

_FILETIME Members


%%PageItemTitle%%

_LARGE_INTEGER Structure
Members

MFORMATSLib Namespace : _LARGE_INTEGER Structure
See Also

Reference

_LARGE_INTEGER Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

_LARGE_INTEGER Structure Members
Fields

MFORMATSLib Namespace : _LARGE_INTEGER Structure

The following tables list the members exposed by _LARGE_INTEGER.

Public Fields
 | Name | Description
Public Field | QuadPart |
Top
See Also

Reference

_LARGE_INTEGER Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

_LARGE_INTEGER Structure Fields

MFORMATSLib Namespace : _LARGE_INTEGER Structure

For a list of all members of this type, see _LARGE_INTEGER members.

Public Fields
 | Name | Description
Public Field | QuadPart |
Top
See Also

Reference

_LARGE_INTEGER Structure
MFORMATSLib Namespace


QuadPart Field (_LARGE_INTEGER)

MFORMATSLib Namespace > _LARGE_INTEGER Structure : QuadPart Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public QuadPart As System.Long

public System.long QuadPart

public:
System.int64 QuadPart

See Also
Reference
_LARGE_INTEGER Structure

_LARGE_INTEGER Members


%%PageItemTitle%%

_ULARGE_INTEGER Structure
Members

MFORMATSLib Namespace : _ULARGE_INTEGER Structure
See Also

Reference

_ULARGE_INTEGER Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

_ULARGE_INTEGER Structure Members
Fields

MFORMATSLib Namespace : _ULARGE_INTEGER Structure

The following tables list the members exposed by _ULARGE_INTEGER.

Public Fields
 | Name | Description
Public Field | QuadPart |
Top
See Also

Reference

_ULARGE_INTEGER Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

_ULARGE_INTEGER Structure Fields

MFORMATSLib Namespace : _ULARGE_INTEGER Structure

For a list of all members of this type, see _ULARGE_INTEGER members.

Public Fields
 | Name | Description
Public Field | QuadPart |
Top
See Also

Reference

_ULARGE_INTEGER Structure
MFORMATSLib Namespace


QuadPart Field (_ULARGE_INTEGER)

MFORMATSLib Namespace > _ULARGE_INTEGER Structure : QuadPart Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public QuadPart As System.ULong

public System.ulong QuadPart

public:
System.ulong QuadPart

See Also
Reference
_ULARGE_INTEGER Structure

_ULARGE_INTEGER Members


%%PageItemTitle%%

M_ANC_DATA Structure
Members

MFORMATSLib Namespace : M_ANC_DATA Structure
Contains the audio monitoring data: the RMS, the VU meter, and the VU Meter peaks displaying.
See Also

Reference

M_ANC_DATA Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_ANC_DATA Structure Members
Fields

MFORMATSLib Namespace : M_ANC_DATA Structure

The following tables list the members exposed by M_ANC_DATA.

Public Fields
Name | Description
Public Field | audOriginal | The original (before applying the audio gain) audio loudness values.
Public Field | audOutput | The ouput (after applying the audio gain) audio loudness values.
Public Field eFlags

Set of eMANCFlags containing the information if the audio loudness values are correct.

The audio loudness values can be icorrect. when the frame was just created and the loudness values were not calculaded yet.

To force the frame to calculate the audio loudness values please call the MFAudioGain method like this:

  • C#
pFrame.MFAudioGain("", 0, 0);

Top
See Also

Reference

M_ANC_DATA Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_ANC_DATA Structure Fields

MFORMATSLib Namespace : M_ANC_DATA Structure

For a list of all members of this type, see M_ANC_DATA members.

Public Fields
Name | Description
Public Field | audOriginal | The original (before applying the audio gain) audio loudness values.
Public Field | audOutput | The ouput (after applying the audio gain) audio loudness values.
Public Field eFlags

Set of eMANCFlags containing the information if the audio loudness values are correct.

The audio loudness values can be icorrect. when the frame was just created and the loudness values were not calculaded yet.

To force the frame to calculate the audio loudness values please call the MFAudioGain method like this:

  • C#
pFrame.MFAudioGain("", 0, 0);

Top
See Also

Reference

M_ANC_DATA Structure
MFORMATSLib Namespace


audOriginal Field

MFORMATSLib Namespace > M_ANC_DATA Structure : audOriginal Field
The original (before applying the audio gain) audio loudness values.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public audOriginal As M_AUDIO_LOUDNESS

public M_AUDIO_LOUDNESS audOriginal

public:
M_AUDIO_LOUDNESS audOriginal

See Also
Reference
M_ANC_DATA Structure

M_ANC_DATA Members


audOutput Field

MFORMATSLib Namespace > M_ANC_DATA Structure : audOutput Field
The ouput (after applying the audio gain) audio loudness values.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public audOutput As M_AUDIO_LOUDNESS

public M_AUDIO_LOUDNESS audOutput

public:
M_AUDIO_LOUDNESS audOutput

See Also
Reference
M_ANC_DATA Structure

M_ANC_DATA Members


eFlags Field

MFORMATSLib Namespace > M_ANC_DATA Structure : eFlags Field

Set of eMANCFlags containing the information if the audio loudness values are correct.

The audio loudness values can be icorrect. when the frame was just created and the loudness values were not calculaded yet.

To force the frame to calculate the audio loudness values please call the MFAudioGain method like this:

  • C#
pFrame.MFAudioGain("", 0, 0);

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eFlags As eMANCFlags

public eMANCFlags eFlags

public:
eMANCFlags eFlags

See Also
Reference
M_ANC_DATA Structure

M_ANC_DATA Members


%%PageItemTitle%%

M_AUD_PROPS Structure
Members

MFORMATSLib Namespace : M_AUD_PROPS Structure
Contains the audio properties of the frame.
See Also

Reference

M_AUD_PROPS Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_AUD_PROPS Structure Members
Fields

MFORMATSLib Namespace : M_AUD_PROPS Structure

The following tables list the members exposed by M_AUD_PROPS.

Public Fields
 | Name | Description
Public Field | nBitsPerSample | Number of bits per audio sample.
Public Field | nChannels | Number of audio channels.
Public Field | nSamplesPerSec | Number of audio samples per second.
Public Field | nTrackSplitBits | The bits mask demonstrating the separation of channels into tracks.
Top
See Also

Reference

M_AUD_PROPS Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_AUD_PROPS Structure Fields

MFORMATSLib Namespace : M_AUD_PROPS Structure

For a list of all members of this type, see M_AUD_PROPS members.

Public Fields
 | Name | Description
Public Field | nBitsPerSample | Number of bits per audio sample.
Public Field | nChannels | Number of audio channels.
Public Field | nSamplesPerSec | Number of audio samples per second.
Public Field | nTrackSplitBits | The bits mask demonstrating the separation of channels into tracks.
Top
See Also

Reference

M_AUD_PROPS Structure
MFORMATSLib Namespace


nBitsPerSample Field

MFORMATSLib Namespace > M_AUD_PROPS Structure : nBitsPerSample Field
Number of bits per audio sample.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nBitsPerSample As System.Integer

public System.int nBitsPerSample

public:
System.int nBitsPerSample

See Also
Reference
M_AUD_PROPS Structure

M_AUD_PROPS Members


nChannels Field

MFORMATSLib Namespace > M_AUD_PROPS Structure : nChannels Field
Number of audio channels.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nChannels As System.Integer

public System.int nChannels

public:
System.int nChannels

See Also
Reference
M_AUD_PROPS Structure

M_AUD_PROPS Members


nSamplesPerSec Field

MFORMATSLib Namespace > M_AUD_PROPS Structure : nSamplesPerSec Field
Number of audio samples per second.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nSamplesPerSec As System.Integer

public System.int nSamplesPerSec

public:
System.int nSamplesPerSec

See Also
Reference
M_AUD_PROPS Structure

M_AUD_PROPS Members


nTrackSplitBits Field

MFORMATSLib Namespace > M_AUD_PROPS Structure : nTrackSplitBits Field
The bits mask demonstrating the separation of channels into tracks.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nTrackSplitBits As System.Integer

public System.int nTrackSplitBits

public:
System.int nTrackSplitBits

See Also
Reference
M_AUD_PROPS Structure

M_AUD_PROPS Members


%%PageItemTitle%%

M_AUDIO_LOUDNESS Structure
Members

MFORMATSLib Namespace : M_AUDIO_LOUDNESS Structure
Contains information about the audio loudness
See Also

Reference

M_AUDIO_LOUDNESS Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_AUDIO_LOUDNESS Structure Members
Fields

MFORMATSLib Namespace : M_AUDIO_LOUDNESS Structure

The following tables list the members exposed by M_AUDIO_LOUDNESS.

Public Fields
 | Name | Description
Public Field | arrEBUMode_I | (not implemented yet) Intermediate (from start) ‘EBU Mode’ metering, original and output audio.
Public Field | arrEBUMode_M | (not implemented yet) Moment (400 msec) ‘EBU Mode’ metering, original and output audio.
Public Field | arrEBUMode_S | (not implemented yet) Short (3000 msec) ‘EBU Mode’ metering, original and output audio.
Public Field | arrPeaks_QPPM | (not implemented yet) QPPM (Quasi Peak Programme Meter) peaks (10 msec integration) for one frame.
Public Field | arrPeaks_TPL | (not implemented yet) EBU TPL (True Peak Level) peaks for one frame.
Public Field | arrRMS | The RMS loudless for the frame in dBFS (sin).
Public Field | arrVUMeter | ANSI C 16.5 IEC 268-17 VU Meter level in dBFS (sin): -90 dB is silence, 0 dB is max audio (300 msec / 90% attack, 300 msec / 10% release).
Public Field | arrVUPeaks | VU Meter peaks in dBFS (sin): -90 dB is silence, 0 dB is max audio.
Public Field | nTracksSplitBit | (not implemented yet) Track split bits.
Public Field | nValidChannels | (not implemented yet) Number of valid channels.
Public Field | nValidTracks | (not implemented yet) Number of valid tracks.
Top
See Also

Reference

M_AUDIO_LOUDNESS Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_AUDIO_LOUDNESS Structure Fields

MFORMATSLib Namespace : M_AUDIO_LOUDNESS Structure

For a list of all members of this type, see M_AUDIO_LOUDNESS members.

Public Fields
 | Name | Description
Public Field | arrEBUMode_I | (not implemented yet) Intermediate (from start) ‘EBU Mode’ metering, original and output audio.
Public Field | arrEBUMode_M | (not implemented yet) Moment (400 msec) ‘EBU Mode’ metering, original and output audio.
Public Field | arrEBUMode_S | (not implemented yet) Short (3000 msec) ‘EBU Mode’ metering, original and output audio.
Public Field | arrPeaks_QPPM | (not implemented yet) QPPM (Quasi Peak Programme Meter) peaks (10 msec integration) for one frame.
Public Field | arrPeaks_TPL | (not implemented yet) EBU TPL (True Peak Level) peaks for one frame.
Public Field | arrRMS | The RMS loudless for the frame in dBFS (sin).
Public Field | arrVUMeter | ANSI C 16.5 IEC 268-17 VU Meter level in dBFS (sin): -90 dB is silence, 0 dB is max audio (300 msec / 90% attack, 300 msec / 10% release).
Public Field | arrVUPeaks | VU Meter peaks in dBFS (sin): -90 dB is silence, 0 dB is max audio.
Public Field | nTracksSplitBit | (not implemented yet) Track split bits.
Public Field | nValidChannels | (not implemented yet) Number of valid channels.
Public Field | nValidTracks | (not implemented yet) Number of valid tracks.
Top
See Also

Reference

M_AUDIO_LOUDNESS Structure
MFORMATSLib Namespace


arrEBUMode_I Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrEBUMode_I Field

(not implemented yet)

Intermediate (from start) ‘EBU Mode’ metering, original and output audio.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrEBUMode_I As System.Single()

public System.float[] arrEBUMode_I

public:
System.array<float>^ arrEBUMode_I

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrEBUMode_M Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrEBUMode_M Field

(not implemented yet)

Moment (400 msec) ‘EBU Mode’ metering, original and output audio.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrEBUMode_M As System.Single()

public System.float[] arrEBUMode_M

public:
System.array<float>^ arrEBUMode_M

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrEBUMode_S Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrEBUMode_S Field

(not implemented yet)

Short (3000 msec) ‘EBU Mode’ metering, original and output audio.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrEBUMode_S As System.Single()

public System.float[] arrEBUMode_S

public:
System.array<float>^ arrEBUMode_S

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrPeaks_QPPM Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrPeaks_QPPM Field

(not implemented yet)

QPPM (Quasi Peak Programme Meter) peaks (10 msec integration) for one frame.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrPeaks_QPPM As System.Single()

public System.float[] arrPeaks_QPPM

public:
System.array<float>^ arrPeaks_QPPM

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrPeaks_TPL Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrPeaks_TPL Field

(not implemented yet)

EBU TPL (True Peak Level) peaks for one frame.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrPeaks_TPL As System.Single()

public System.float[] arrPeaks_TPL

public:
System.array<float>^ arrPeaks_TPL

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrRMS Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrRMS Field
The RMS loudless for the frame in dBFS (sin).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrRMS As System.Single()

public System.float[] arrRMS

public:
System.array<float>^ arrRMS

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrVUMeter Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrVUMeter Field
ANSI C 16.5 IEC 268-17 VU Meter level in dBFS (sin): -90 dB is silence, 0 dB is max audio (300 msec / 90% attack, 300 msec / 10% release).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrVUMeter As System.Single()

public System.float[] arrVUMeter

public:
System.array<float>^ arrVUMeter

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


arrVUPeaks Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : arrVUPeaks Field
VU Meter peaks in dBFS (sin): -90 dB is silence, 0 dB is max audio.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public arrVUPeaks As System.Single()

public System.float[] arrVUPeaks

public:
System.array<float>^ arrVUPeaks

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


nTracksSplitBit Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : nTracksSplitBit Field

(not implemented yet)

Track split bits.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nTracksSplitBit As System.Integer

public System.int nTracksSplitBit

public:
System.int nTracksSplitBit

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


nValidChannels Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : nValidChannels Field

(not implemented yet)

Number of valid channels.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nValidChannels As System.Integer

public System.int nValidChannels

public:
System.int nValidChannels

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


nValidTracks Field

MFORMATSLib Namespace > M_AUDIO_LOUDNESS Structure : nValidTracks Field

(not implemented yet)

Number of valid tracks.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nValidTracks As System.Integer

public System.int nValidTracks

public:
System.int nValidTracks

See Also
Reference
M_AUDIO_LOUDNESS Structure

M_AUDIO_LOUDNESS Members


%%PageItemTitle%%

M_AV_PROPS Structure
Members

MFORMATSLib Namespace : M_AV_PROPS Structure
Contains the information about the audio and video properties
See Also

Reference

M_AV_PROPS Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_AV_PROPS Structure Members
Fields

MFORMATSLib Namespace : M_AV_PROPS Structure

The following tables list the members exposed by M_AV_PROPS.

Public Fields
Name | Description
Public Field | ancData | Contains the audio monitoring data: the RMS, the VU meter, and the VU Meter peaks displaying.
Public Field | audProps | Structure containing the frame audio properties.
Public Field bLocked

This property is valid for live sources only. It indicates when the audio and video datas of the frame are locked together.

The audio and video datas are considered are "locked" when it was received form the syncronous source, like the SDI input of capture card.

In opposite, the unstable sources like web cameras can provide the audio and video data separately. In this case the audio and video datas of the frame are not "locked".

That flag is mostly for service needs so you can ignore it.

Public Field | vidProps | The video properties structure.
Top
See Also

Reference

M_AV_PROPS Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_AV_PROPS Structure Fields

MFORMATSLib Namespace : M_AV_PROPS Structure

For a list of all members of this type, see M_AV_PROPS members.

Public Fields
Name | Description
Public Field | ancData | Contains the audio monitoring data: the RMS, the VU meter, and the VU Meter peaks displaying.
Public Field | audProps | Structure containing the frame audio properties.
Public Field bLocked

This property is valid for live sources only. It indicates when the audio and video datas of the frame are locked together.

The audio and video datas are considered are "locked" when it was received form the syncronous source, like the SDI input of capture card.

In opposite, the unstable sources like web cameras can provide the audio and video data separately. In this case the audio and video datas of the frame are not "locked".

That flag is mostly for service needs so you can ignore it.

Public Field | vidProps | The video properties structure.
Top
See Also

Reference

M_AV_PROPS Structure
MFORMATSLib Namespace


ancData Field

MFORMATSLib Namespace > M_AV_PROPS Structure : ancData Field
Contains the audio monitoring data: the RMS, the VU meter, and the VU Meter peaks displaying.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public ancData As M_ANC_DATA

public M_ANC_DATA ancData

public:
M_ANC_DATA ancData

See Also
Reference
M_AV_PROPS Structure

M_AV_PROPS Members


audProps Field

MFORMATSLib Namespace > M_AV_PROPS Structure : audProps Field
Structure containing the frame audio properties.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public audProps As M_AUD_PROPS

public M_AUD_PROPS audProps

public:
M_AUD_PROPS audProps

See Also
Reference
M_AV_PROPS Structure

M_AV_PROPS Members


bLocked Field

MFORMATSLib Namespace > M_AV_PROPS Structure : bLocked Field

This property is valid for live sources only. It indicates when the audio and video datas of the frame are locked together.

The audio and video datas are considered are "locked" when it was received form the syncronous source, like the SDI input of capture card.

In opposite, the unstable sources like web cameras can provide the audio and video data separately. In this case the audio and video datas of the frame are not "locked".

That flag is mostly for service needs so you can ignore it.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bLocked As System.Integer

public System.int bLocked

public:
System.int bLocked

See Also
Reference
M_AV_PROPS Structure

M_AV_PROPS Members


vidProps Field

MFORMATSLib Namespace > M_AV_PROPS Structure : vidProps Field
The video properties structure.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public vidProps As M_VID_PROPS

public M_VID_PROPS vidProps

public:
M_VID_PROPS vidProps

See Also
Reference
M_AV_PROPS Structure

M_AV_PROPS Members


%%PageItemTitle%%

M_TIME Structure
Members

MFORMATSLib Namespace : M_TIME Structure
Contains information about the duration of event (from the start time to the end time).
See Also

Reference

M_TIME Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_TIME Structure Members
Fields

MFORMATSLib Namespace : M_TIME Structure

The following tables list the members exposed by M_TIME.

Public Fields
 | Name | Description
Public Field | eFFlags | Break, Live, Network etc. flags (see eMFrameFlags for details).
Public Field | rtEndTime | The end frame time (position in file).
Public Field | rtStartTime | The start frame time (position in file).
Public Field | tcFrame | Timecode of frame (if there is no timecode then the position will be converted to drop frame timecode, but eMAF_TC_Valid flag will not be set).
Top
See Also

Reference

M_TIME Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_TIME Structure Fields

MFORMATSLib Namespace : M_TIME Structure

For a list of all members of this type, see M_TIME members.

Public Fields
 | Name | Description
Public Field | eFFlags | Break, Live, Network etc. flags (see eMFrameFlags for details).
Public Field | rtEndTime | The end frame time (position in file).
Public Field | rtStartTime | The start frame time (position in file).
Public Field | tcFrame | Timecode of frame (if there is no timecode then the position will be converted to drop frame timecode, but eMAF_TC_Valid flag will not be set).
Top
See Also

Reference

M_TIME Structure
MFORMATSLib Namespace


eFFlags Field

MFORMATSLib Namespace > M_TIME Structure : eFFlags Field
Break, Live, Network etc. flags (see eMFrameFlags for details).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eFFlags As eMFrameFlags

public eMFrameFlags eFFlags

public:
eMFrameFlags eFFlags

See Also
Reference
M_TIME Structure

M_TIME Members


rtEndTime Field

MFORMATSLib Namespace > M_TIME Structure : rtEndTime Field
The end frame time (position in file).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public rtEndTime As System.Long

public System.long rtEndTime

public:
System.int64 rtEndTime

See Also
Reference
M_TIME Structure

M_TIME Members


rtStartTime Field

MFORMATSLib Namespace > M_TIME Structure : rtStartTime Field
The start frame time (position in file).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public rtStartTime As System.Long

public System.long rtStartTime

public:
System.int64 rtStartTime

See Also
Reference
M_TIME Structure

M_TIME Members


tcFrame Field

MFORMATSLib Namespace > M_TIME Structure : tcFrame Field
Timecode of frame (if there is no timecode then the position will be converted to drop frame timecode, but eMAF_TC_Valid flag will not be set).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public tcFrame As M_TIMECODE

public M_TIMECODE tcFrame

public:
M_TIMECODE tcFrame

See Also
Reference
M_TIME Structure

M_TIME Members


%%PageItemTitle%%

M_TIMECODE Structure
Members

MFORMATSLib Namespace : M_TIMECODE Structure
Contains information about a timecode
See Also

Reference

M_TIMECODE Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_TIMECODE Structure Members
Fields

MFORMATSLib Namespace : M_TIMECODE Structure

The following tables list the members exposed by M_TIMECODE.

Public Fields
 | Name | Description
Public Field | eTCFlags | Timecode flags (drop frame timecode, frame rate, progressive rates - see eMTimecodeFlags for details)
Public Field | nExtraCounter | Timestamp
Public Field | nFrames | Frames
Public Field | nHours | Hours
Public Field | nMinutes | Minutes
Public Field | nSeconds | Seconds
Top
See Also

Reference

M_TIMECODE Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_TIMECODE Structure Fields

MFORMATSLib Namespace : M_TIMECODE Structure

For a list of all members of this type, see M_TIMECODE members.

Public Fields
 | Name | Description
Public Field | eTCFlags | Timecode flags (drop frame timecode, frame rate, progressive rates - see eMTimecodeFlags for details)
Public Field | nExtraCounter | Timestamp
Public Field | nFrames | Frames
Public Field | nHours | Hours
Public Field | nMinutes | Minutes
Public Field | nSeconds | Seconds
Top
See Also

Reference

M_TIMECODE Structure
MFORMATSLib Namespace


eTCFlags Field

MFORMATSLib Namespace > M_TIMECODE Structure : eTCFlags Field
Timecode flags (drop frame timecode, frame rate, progressive rates - see eMTimecodeFlags for details)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eTCFlags As eMTimecodeFlags

public eMTimecodeFlags eTCFlags

public:
eMTimecodeFlags eTCFlags

See Also
Reference
M_TIMECODE Structure

M_TIMECODE Members


nExtraCounter Field

MFORMATSLib Namespace > M_TIMECODE Structure : nExtraCounter Field
Timestamp
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nExtraCounter As System.Integer

public System.int nExtraCounter

public:
System.int nExtraCounter

See Also
Reference
M_TIMECODE Structure

M_TIMECODE Members


nFrames Field

MFORMATSLib Namespace > M_TIMECODE Structure : nFrames Field
Frames
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nFrames As System.Integer

public System.int nFrames

public:
System.int nFrames

See Also
Reference
M_TIMECODE Structure

M_TIMECODE Members


nHours Field

MFORMATSLib Namespace > M_TIMECODE Structure : nHours Field
Hours
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nHours As System.Integer

public System.int nHours

public:
System.int nHours

See Also
Reference
M_TIMECODE Structure

M_TIMECODE Members


nMinutes Field

MFORMATSLib Namespace > M_TIMECODE Structure : nMinutes Field
Minutes
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMinutes As System.Integer

public System.int nMinutes

public:
System.int nMinutes

See Also
Reference
M_TIMECODE Structure

M_TIMECODE Members


nSeconds Field

MFORMATSLib Namespace > M_TIMECODE Structure : nSeconds Field
Seconds
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nSeconds As System.Integer

public System.int nSeconds

public:
System.int nSeconds

See Also
Reference
M_TIMECODE Structure

M_TIMECODE Members


%%PageItemTitle%%

M_VID_PROPS Structure
Members

MFORMATSLib Namespace : M_VID_PROPS Structure
Specifies the video properties
See Also

Reference

M_VID_PROPS Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

M_VID_PROPS Structure Members
Fields

MFORMATSLib Namespace : M_VID_PROPS Structure

The following tables list the members exposed by M_VID_PROPS.

Public Fields
 | Name | Description
Public Field | dblRate | frame rate
Public Field | e3DFormat | 3D format
Public Field | eInterlace | interlace type
Public Field | eScaleType | scale type
Public Field | eVideoFormat | video format type
Public Field | fccType | FCC type
Public Field | nAspectX | horizontal aspect ratio
Public Field | nAspectY | vertical aspect ratio
Public Field | nHeight | frame's height
Public Field | nRowBytes | row bytes for a frame
Public Field | nWidth | frame's width
Top
See Also

Reference

M_VID_PROPS Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

M_VID_PROPS Structure Fields

MFORMATSLib Namespace : M_VID_PROPS Structure

For a list of all members of this type, see M_VID_PROPS members.

Public Fields
 | Name | Description
Public Field | dblRate | frame rate
Public Field | e3DFormat | 3D format
Public Field | eInterlace | interlace type
Public Field | eScaleType | scale type
Public Field | eVideoFormat | video format type
Public Field | fccType | FCC type
Public Field | nAspectX | horizontal aspect ratio
Public Field | nAspectY | vertical aspect ratio
Public Field | nHeight | frame's height
Public Field | nRowBytes | row bytes for a frame
Public Field | nWidth | frame's width
Top
See Also

Reference

M_VID_PROPS Structure
MFORMATSLib Namespace


dblRate Field

MFORMATSLib Namespace > M_VID_PROPS Structure : dblRate Field
frame rate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblRate As System.Double

public System.double dblRate

public:
System.double dblRate

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


e3DFormat Field

MFORMATSLib Namespace > M_VID_PROPS Structure : e3DFormat Field
3D format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public e3DFormat As eM3DFormat

public eM3DFormat e3DFormat

public:
eM3DFormat e3DFormat

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


eInterlace Field (M_VID_PROPS)

MFORMATSLib Namespace > M_VID_PROPS Structure : eInterlace Field
interlace type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eInterlace As eMInterlace

public eMInterlace eInterlace

public:
eMInterlace eInterlace

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


eScaleType Field

MFORMATSLib Namespace > M_VID_PROPS Structure : eScaleType Field
scale type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eScaleType As eMScaleType

public eMScaleType eScaleType

public:
eMScaleType eScaleType

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


eVideoFormat Field

MFORMATSLib Namespace > M_VID_PROPS Structure : eVideoFormat Field
video format type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eVideoFormat As eMVideoFormat

public eMVideoFormat eVideoFormat

public:
eMVideoFormat eVideoFormat

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


fccType Field

MFORMATSLib Namespace > M_VID_PROPS Structure : fccType Field
FCC type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public fccType As eMFCC

public eMFCC fccType

public:
eMFCC fccType

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


nAspectX Field

MFORMATSLib Namespace > M_VID_PROPS Structure : nAspectX Field
horizontal aspect ratio
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nAspectX As System.Short

public System.short nAspectX

public:
System.short nAspectX

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


nAspectY Field

MFORMATSLib Namespace > M_VID_PROPS Structure : nAspectY Field
vertical aspect ratio
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nAspectY As System.Short

public System.short nAspectY

public:
System.short nAspectY

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


nHeight Field (M_VID_PROPS)

MFORMATSLib Namespace > M_VID_PROPS Structure : nHeight Field
frame's height
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nHeight As System.Integer

public System.int nHeight

public:
System.int nHeight

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


nRowBytes Field

MFORMATSLib Namespace > M_VID_PROPS Structure : nRowBytes Field
row bytes for a frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nRowBytes As System.Integer

public System.int nRowBytes

public:
System.int nRowBytes

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


nWidth Field (M_VID_PROPS)

MFORMATSLib Namespace > M_VID_PROPS Structure : nWidth Field
frame's width
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nWidth As System.Integer

public System.int nWidth

public:
System.int nWidth

See Also
Reference
M_VID_PROPS Structure

M_VID_PROPS Members


%%PageItemTitle%%

MF_FRAME_INFO Structure
Members

MFORMATSLib Namespace : MF_FRAME_INFO Structure
Specifies information about a frame
See Also

Reference

MF_FRAME_INFO Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MF_FRAME_INFO Structure Members
Fields

MFORMATSLib Namespace : MF_FRAME_INFO Structure

The following tables list the members exposed by MF_FRAME_INFO.

Public Fields
 | Name | Description
Public Field | avProps | media (audio and video) properties
Public Field | cbAudio | size of audio data
Public Field | cbVideo | size of video data
Public Field | dwProcessID | process ID
Public Field | lAudioSamples | number of audio samples
Public Field | llVideoID | ID of video
Public Field | lpAudio | pointer to audio data
Public Field | lpVideo | pointer to video data
Public Field | mTime | frame's time
Public Field | nDataCount | number of data
Public Field | nObjCount | number of objects
Public Field | nStrCount | number of strings
Top
See Also

Reference

MF_FRAME_INFO Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

MF_FRAME_INFO Structure Fields

MFORMATSLib Namespace : MF_FRAME_INFO Structure

For a list of all members of this type, see MF_FRAME_INFO members.

Public Fields
 | Name | Description
Public Field | avProps | media (audio and video) properties
Public Field | cbAudio | size of audio data
Public Field | cbVideo | size of video data
Public Field | dwProcessID | process ID
Public Field | lAudioSamples | number of audio samples
Public Field | llVideoID | ID of video
Public Field | lpAudio | pointer to audio data
Public Field | lpVideo | pointer to video data
Public Field | mTime | frame's time
Public Field | nDataCount | number of data
Public Field | nObjCount | number of objects
Public Field | nStrCount | number of strings
Top
See Also

Reference

MF_FRAME_INFO Structure
MFORMATSLib Namespace


avProps Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : avProps Field
media (audio and video) properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public avProps As M_AV_PROPS

public M_AV_PROPS avProps

public:
M_AV_PROPS avProps

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


cbAudio Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : cbAudio Field
size of audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cbAudio As System.UInteger

public System.uint cbAudio

public:
System.uint cbAudio

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


cbVideo Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : cbVideo Field
size of video data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cbVideo As System.UInteger

public System.uint cbVideo

public:
System.uint cbVideo

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


dwProcessID Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : dwProcessID Field
process ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dwProcessID As System.UInteger

public System.uint dwProcessID

public:
System.uint dwProcessID

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


lAudioSamples Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : lAudioSamples Field
number of audio samples
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public lAudioSamples As System.Integer

public System.int lAudioSamples

public:
System.int lAudioSamples

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


llVideoID Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : llVideoID Field
ID of video
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public llVideoID As System.Long

public System.long llVideoID

public:
System.int64 llVideoID

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


lpAudio Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : lpAudio Field
pointer to audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public lpAudio As System.Long

public System.long lpAudio

public:
System.int64 lpAudio

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


lpVideo Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : lpVideo Field
pointer to video data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public lpVideo As System.Long

public System.long lpVideo

public:
System.int64 lpVideo

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


mTime Field (MF_FRAME_INFO)

MFORMATSLib Namespace > MF_FRAME_INFO Structure : mTime Field
frame's time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public mTime As M_TIME

public M_TIME mTime

public:
M_TIME mTime

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


nDataCount Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : nDataCount Field
number of data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nDataCount As System.Integer

public System.int nDataCount

public:
System.int nDataCount

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


nObjCount Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : nObjCount Field
number of objects
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nObjCount As System.Integer

public System.int nObjCount

public:
System.int nObjCount

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


nStrCount Field

MFORMATSLib Namespace > MF_FRAME_INFO Structure : nStrCount Field
number of strings
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nStrCount As System.Integer

public System.int nStrCount

public:
System.int nStrCount

See Also
Reference
MF_FRAME_INFO Structure

MF_FRAME_INFO Members


%%PageItemTitle%%

MF_RECT Structure
Members

MFORMATSLib Namespace : MF_RECT Structure
Specifies rectangle for overlays
See Also

Reference

MF_RECT Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MF_RECT Structure Members
Fields

MFORMATSLib Namespace : MF_RECT Structure

The following tables list the members exposed by MF_RECT.

Public Fields
 | Name | Description
Public Field | dblHeight | rectangle height
Public Field | dblPosX | horizontal position
Public Field | dblPosY | vertical position
Public Field | dblWidth | rectangle width
Public Field | eRectType | type of rectangle
Top
See Also

Reference

MF_RECT Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

MF_RECT Structure Fields

MFORMATSLib Namespace : MF_RECT Structure

For a list of all members of this type, see MF_RECT members.

Public Fields
 | Name | Description
Public Field | dblHeight | rectangle height
Public Field | dblPosX | horizontal position
Public Field | dblPosY | vertical position
Public Field | dblWidth | rectangle width
Public Field | eRectType | type of rectangle
Top
See Also

Reference

MF_RECT Structure
MFORMATSLib Namespace


dblHeight Field

MFORMATSLib Namespace > MF_RECT Structure : dblHeight Field
rectangle height
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblHeight As System.Double

public System.double dblHeight

public:
System.double dblHeight

See Also
Reference
MF_RECT Structure

MF_RECT Members


dblPosX Field

MFORMATSLib Namespace > MF_RECT Structure : dblPosX Field
horizontal position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblPosX As System.Double

public System.double dblPosX

public:
System.double dblPosX

See Also
Reference
MF_RECT Structure

MF_RECT Members


dblPosY Field

MFORMATSLib Namespace > MF_RECT Structure : dblPosY Field
vertical position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblPosY As System.Double

public System.double dblPosY

public:
System.double dblPosY

See Also
Reference
MF_RECT Structure

MF_RECT Members


dblWidth Field

MFORMATSLib Namespace > MF_RECT Structure : dblWidth Field
rectangle width
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblWidth As System.Double

public System.double dblWidth

public:
System.double dblWidth

See Also
Reference
MF_RECT Structure

MF_RECT Members


eRectType Field

MFORMATSLib Namespace > MF_RECT Structure : eRectType Field
type of rectangle
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eRectType As eMFRectType

public eMFRectType eRectType

public:
eMFRectType eRectType

See Also
Reference
MF_RECT Structure

MF_RECT Members


%%PageItemTitle%%

MF_VID_PTR Structure
Members

MFORMATSLib Namespace : MF_VID_PTR Structure
See Also

Reference

MF_VID_PTR Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MF_VID_PTR Structure Members
Fields

MFORMATSLib Namespace : MF_VID_PTR Structure

The following tables list the members exposed by MF_VID_PTR.

Public Fields
 | Name | Description
Public Field | cbVideoRowBytes |
Public Field | lpVideoPlanes |
Public Field | szVideoPlanes |
Top
See Also

Reference

MF_VID_PTR Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

MF_VID_PTR Structure Fields

MFORMATSLib Namespace : MF_VID_PTR Structure

For a list of all members of this type, see MF_VID_PTR members.

Public Fields
 | Name | Description
Public Field | cbVideoRowBytes |
Public Field | lpVideoPlanes |
Public Field | szVideoPlanes |
Top
See Also

Reference

MF_VID_PTR Structure
MFORMATSLib Namespace


cbVideoRowBytes Field

MFORMATSLib Namespace > MF_VID_PTR Structure : cbVideoRowBytes Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cbVideoRowBytes As System.Integer()

public System.int[] cbVideoRowBytes

public:
System.array<int>^ cbVideoRowBytes

See Also
Reference
MF_VID_PTR Structure

MF_VID_PTR Members


lpVideoPlanes Field

MFORMATSLib Namespace > MF_VID_PTR Structure : lpVideoPlanes Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public lpVideoPlanes As System.Long()

public System.long[] lpVideoPlanes

public:
System.array<int64>^ lpVideoPlanes

See Also
Reference
MF_VID_PTR Structure

MF_VID_PTR Members


szVideoPlanes Field

MFORMATSLib Namespace > MF_VID_PTR Structure : szVideoPlanes Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public szVideoPlanes As tagSIZE()

public tagSIZE[] szVideoPlanes

public:
array<tagSIZE>^ szVideoPlanes

See Also
Reference
MF_VID_PTR Structure

MF_VID_PTR Members


%%PageItemTitle%%

tagRECT Structure
Members

MFORMATSLib Namespace : tagRECT Structure
Specifies rectangle structure
See Also

Reference

tagRECT Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

tagRECT Structure Members
Fields

MFORMATSLib Namespace : tagRECT Structure

The following tables list the members exposed by tagRECT.

Public Fields
 | Name | Description
Public Field | bottom | bottom position
Public Field | left | left position
Public Field | right | right position
Public Field | top | top position
Top
See Also

Reference

tagRECT Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

tagRECT Structure Fields

MFORMATSLib Namespace : tagRECT Structure

For a list of all members of this type, see tagRECT members.

Public Fields
 | Name | Description
Public Field | bottom | bottom position
Public Field | left | left position
Public Field | right | right position
Public Field | top | top position
Top
See Also

Reference

tagRECT Structure
MFORMATSLib Namespace


bottom Field (tagRECT)

MFORMATSLib Namespace > tagRECT Structure : bottom Field
bottom position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bottom As System.Integer

public System.int bottom

public:
System.int bottom

See Also
Reference
tagRECT Structure

tagRECT Members


left Field (tagRECT)

MFORMATSLib Namespace > tagRECT Structure : left Field
left position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public left As System.Integer

public System.int left

public:
System.int left

See Also
Reference
tagRECT Structure

tagRECT Members


right Field (tagRECT)

MFORMATSLib Namespace > tagRECT Structure : right Field
right position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public right As System.Integer

public System.int right

public:
System.int right

See Also
Reference
tagRECT Structure

tagRECT Members


top Field (tagRECT)

MFORMATSLib Namespace > tagRECT Structure : top Field
top position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public top As System.Integer

public System.int top

public:
System.int top

See Also
Reference
tagRECT Structure

tagRECT Members


%%PageItemTitle%%

tagSIZE Structure
Members

MFORMATSLib Namespace : tagSIZE Structure
See Also

Reference

tagSIZE Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

tagSIZE Structure Members
Fields

MFORMATSLib Namespace : tagSIZE Structure

The following tables list the members exposed by tagSIZE.

Public Fields
 | Name | Description
Public Field | cx |
Public Field | cy |
Top
See Also

Reference

tagSIZE Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

tagSIZE Structure Fields

MFORMATSLib Namespace : tagSIZE Structure

For a list of all members of this type, see tagSIZE members.

Public Fields
 | Name | Description
Public Field | cx |
Public Field | cy |
Top
See Also

Reference

tagSIZE Structure
MFORMATSLib Namespace


cx Field (tagSIZE)

MFORMATSLib Namespace > tagSIZE Structure : cx Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cx As System.Integer

public System.int cx

public:
System.int cx

See Also
Reference
tagSIZE Structure

tagSIZE Members


cy Field (tagSIZE)

MFORMATSLib Namespace > tagSIZE Structure : cy Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cy As System.Integer

public System.int cy

public:
System.int cy

See Also
Reference
tagSIZE Structure

tagSIZE Members


%%PageItemTitle%%

tagSTATSTG Structure
Members

MFORMATSLib Namespace : tagSTATSTG Structure
See Also

Reference

tagSTATSTG Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

tagSTATSTG Structure Members
Fields

MFORMATSLib Namespace : tagSTATSTG Structure

The following tables list the members exposed by tagSTATSTG.

Public Fields
 | Name | Description
Public Field | atime |
Public Field | cbSize |
Public Field | clsid |
Public Field | ctime |
Public Field | grfLocksSupported |
Public Field | grfMode |
Public Field | grfStateBits |
Public Field | mTime |
Public Field | pwcsName |
Public Field | reserved |
Public Field | type |
Top
See Also

Reference

tagSTATSTG Structure
MFORMATSLib Namespace


%%PageItemTitle%% $$Fields$$

tagSTATSTG Structure Fields

MFORMATSLib Namespace : tagSTATSTG Structure

For a list of all members of this type, see tagSTATSTG members.

Public Fields
 | Name | Description
Public Field | atime |
Public Field | cbSize |
Public Field | clsid |
Public Field | ctime |
Public Field | grfLocksSupported |
Public Field | grfMode |
Public Field | grfStateBits |
Public Field | mTime |
Public Field | pwcsName |
Public Field | reserved |
Public Field | type |
Top
See Also

Reference

tagSTATSTG Structure
MFORMATSLib Namespace


atime Field

MFORMATSLib Namespace > tagSTATSTG Structure : atime Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public atime As _FILETIME

public _FILETIME atime

public:
_FILETIME atime

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


cbSize Field

MFORMATSLib Namespace > tagSTATSTG Structure : cbSize Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cbSize As _ULARGE_INTEGER

public _ULARGE_INTEGER cbSize

public:
_ULARGE_INTEGER cbSize

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


clsid Field

MFORMATSLib Namespace > tagSTATSTG Structure : clsid Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public clsid As System.Guid

public System.Guid clsid

public:
System.Guid clsid

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


ctime Field

MFORMATSLib Namespace > tagSTATSTG Structure : ctime Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public ctime As _FILETIME

public _FILETIME ctime

public:
_FILETIME ctime

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


grfLocksSupported Field

MFORMATSLib Namespace > tagSTATSTG Structure : grfLocksSupported Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public grfLocksSupported As System.UInteger

public System.uint grfLocksSupported

public:
System.uint grfLocksSupported

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


grfMode Field

MFORMATSLib Namespace > tagSTATSTG Structure : grfMode Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public grfMode As System.UInteger

public System.uint grfMode

public:
System.uint grfMode

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


grfStateBits Field

MFORMATSLib Namespace > tagSTATSTG Structure : grfStateBits Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public grfStateBits As System.UInteger

public System.uint grfStateBits

public:
System.uint grfStateBits

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


mTime Field (tagSTATSTG)

MFORMATSLib Namespace > tagSTATSTG Structure : mTime Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public mTime As _FILETIME

public _FILETIME mTime

public:
_FILETIME mTime

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


pwcsName Field

MFORMATSLib Namespace > tagSTATSTG Structure : pwcsName Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public pwcsName As System.String

public System.string pwcsName

public:
System.String^ pwcsName

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


reserved Field

MFORMATSLib Namespace > tagSTATSTG Structure : reserved Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public reserved As System.UInteger

public System.uint reserved

public:
System.uint reserved

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


type Field

MFORMATSLib Namespace > tagSTATSTG Structure : type Field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public type As System.UInteger

public System.uint type

public:
System.uint type

See Also
Reference
tagSTATSTG Structure

tagSTATSTG Members


%%PageItemTitle%%

IMCallback Interface
Members

MFORMATSLib Namespace : IMCallback Interface
Operates callback events - required for WebRTC feature
See Also

Reference

IMCallback Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMCallback Interface Members
Methods

MFORMATSLib Namespace : IMCallback Interface

The following tables list the members exposed by IMCallback.

Public Methods
 | Name | Description
Method | OnEvent | Raises on each received event
Method | OnFrame | Raises on each received frame
Top
See Also

Reference

IMCallback Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMCallback Interface Methods

MFORMATSLib Namespace : IMCallback Interface

For a list of all members of this type, see IMCallback members.

Public Methods
 | Name | Description
Method | OnEvent | Raises on each received event
Method | OnFrame | Raises on each received frame
Top
See Also

Reference

IMCallback Interface
MFORMATSLib Namespace


OnEvent Method (IMCallback)

MFORMATSLib Namespace > IMCallback Interface : OnEvent Method
callback user data
source object name
event name
event parameters
event object
Raises on each received event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnEvent( _
   ByVal llCallbackUserData As System.Long, _
   ByVal bsName As System.String, _
   ByVal bsEventName As System.String, _
   ByVal bsEventParam As System.String, _
   ByVal pEventObject As System.Object _
)

void OnEvent(
   System.long llCallbackUserData,
   System.string bsName,
   System.string bsEventName,
   System.string bsEventParam,
   System.object pEventObject
)

void OnEvent(
   System.int64 llCallbackUserData,
   System.String^ bsName,
   System.String^ bsEventName,
   System.String^ bsEventParam,
   System.Object^ pEventObject
)

Parameters
llCallbackUserData

callback user data
bsName

source object name
bsEventName

event name
bsEventParam

event parameters
pEventObject

event object

See Also
Reference
IMCallback Interface

IMCallback Members


OnFrame Method (IMCallback)

MFORMATSLib Namespace > IMCallback Interface : OnFrame Method
user callback data
source object name
frame object
Raises on each received frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFrame( _
   ByVal llCallbackUserData As System.Long, _
   ByVal bsName As System.String, _
   ByVal pMFrame As System.Object _
)

void OnFrame(
   System.long llCallbackUserData,
   System.string bsName,
   System.object pMFrame
)

void OnFrame(
   System.int64 llCallbackUserData,
   System.String^ bsName,
   System.Object^ pMFrame
)

Parameters
llCallbackUserData

user callback data
bsName

source object name
pMFrame

frame object

See Also
Reference
IMCallback Interface

IMCallback Members


%%PageItemTitle%%

IMEvents Interface
Members

MFORMATSLib Namespace : IMEvents Interface
Operates events
See Also

Reference

IMEvents Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEvents Interface Members
Methods

MFORMATSLib Namespace : IMEvents Interface

The following tables list the members exposed by IMEvents.

Public Methods
 | Name | Description
Method | OnEvent | Raises on every received event
Method | OnFrame | Raises on each frame
Top
See Also

Reference

IMEvents Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEvents Interface Methods

MFORMATSLib Namespace : IMEvents Interface

For a list of all members of this type, see IMEvents members.

Public Methods
 | Name | Description
Method | OnEvent | Raises on every received event
Method | OnFrame | Raises on each frame
Top
See Also

Reference

IMEvents Interface
MFORMATSLib Namespace


OnEvent Method (IMEvents)

MFORMATSLib Namespace > IMEvents Interface : OnEvent Method
source object name
event name
event parameters
source event object
Raises on every received event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnEvent( _
   ByVal bsName As System.String, _
   ByVal bsEventName As System.String, _
   ByVal bsEventParam As System.String, _
   ByVal pEventObject As System.Object _
)

void OnEvent(
   System.string bsName,
   System.string bsEventName,
   System.string bsEventParam,
   System.object pEventObject
)

void OnEvent(
   System.String^ bsName,
   System.String^ bsEventName,
   System.String^ bsEventParam,
   System.Object^ pEventObject
)

Parameters
bsName

source object name
bsEventName

event name
bsEventParam

event parameters
pEventObject

source event object

See Also
Reference
IMEvents Interface

IMEvents Members


OnFrame Method (IMEvents)

MFORMATSLib Namespace > IMEvents Interface : OnFrame Method
source object name
frame object
Raises on each frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFrame( _
   ByVal bsName As System.String, _
   ByVal pMFrame As System.Object _
)

void OnFrame(
   System.string bsName,
   System.object pMFrame
)

void OnFrame(
   System.String^ bsName,
   System.Object^ pMFrame
)

Parameters
bsName

source object name
pMFrame

frame object

See Also
Reference
IMEvents Interface

IMEvents Members


%%PageItemTitle%%

IMEventsEvent Interface
Members

MFORMATSLib Namespace : IMEventsEvent Interface
See Also

Reference

IMEventsEvent Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsEvent Interface Members
Methods

MFORMATSLib Namespace : IMEventsEvent Interface

The following tables list the members exposed by IMEventsEvent.

Public Methods
 | Name | Description
Method | OnEventSafe |
Top
See Also

Reference

IMEventsEvent Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEventsEvent Interface Methods

MFORMATSLib Namespace : IMEventsEvent Interface

For a list of all members of this type, see IMEventsEvent members.

Public Methods
 | Name | Description
Method | OnEventSafe |
Top
See Also

Reference

IMEventsEvent Interface
MFORMATSLib Namespace


OnEventSafe Method (IMEventsEvent)

MFORMATSLib Namespace > IMEventsEvent Interface : OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnEventSafe( _
   ByVal bsChannelID As System.String, _
   ByVal bsEventName As System.String, _
   ByVal bsEventParam As System.String, _
   ByVal pEventObject As System.Object _
)

void OnEventSafe(
   System.string bsChannelID,
   System.string bsEventName,
   System.string bsEventParam,
   System.object pEventObject
)

void OnEventSafe(
   System.String^ bsChannelID,
   System.String^ bsEventName,
   System.String^ bsEventParam,
   System.Object^ pEventObject
)

Parameters
bsChannelID

bsEventName

bsEventParam

pEventObject

See Also
Reference
IMEventsEvent Interface

IMEventsEvent Members


%%PageItemTitle%%

IMEventsEvent_Event Interface
Members

MFORMATSLib Namespace : IMEventsEvent_Event Interface
See Also

Reference

IMEventsEvent_Event Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsEvent_Event Interface Members
Methods Events

MFORMATSLib Namespace : IMEventsEvent_Event Interface

The following tables list the members exposed by IMEventsEvent_Event.

Public Methods
 | Name | Description
Method | add_OnEventSafe |
Method | remove_OnEventSafe |
Top
Public Events
 | Name | Description
Event | OnEventSafe |
Top
See Also

Reference

IMEventsEvent_Event Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEventsEvent_Event Interface Methods

MFORMATSLib Namespace : IMEventsEvent_Event Interface

For a list of all members of this type, see IMEventsEvent_Event members.

Public Methods
 | Name | Description
Method | add_OnEventSafe |
Method | remove_OnEventSafe |
Top
See Also

Reference

IMEventsEvent_Event Interface
MFORMATSLib Namespace


add_OnEventSafe Method (IMEventsEvent_Event)

MFORMATSLib Namespace > IMEventsEvent_Event Interface : add_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub add_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

void add_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsEvent_Event Interface

IMEventsEvent_Event Members


remove_OnEventSafe Method (IMEventsEvent_Event)

MFORMATSLib Namespace > IMEventsEvent_Event Interface : remove_OnEventSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub remove_OnEventSafe( _
   ByVal param1 As IMEventsEvent_OnEventSafeEventHandler _
)

void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler param1
)

void remove_OnEventSafe(
   IMEventsEvent_OnEventSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsEvent_Event Interface

IMEventsEvent_Event Members


%%PageItemTitle%% $$Events$$

IMEventsEvent_Event Interface Events

MFORMATSLib Namespace : IMEventsEvent_Event Interface

For a list of all members of this type, see IMEventsEvent_Event members.

Public Events
 | Name | Description
Event | OnEventSafe |
Top
See Also

Reference

IMEventsEvent_Event Interface
MFORMATSLib Namespace


OnEventSafe Event (IMEventsEvent_Event)

MFORMATSLib Namespace > IMEventsEvent_Event Interface : OnEventSafe Event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Event OnEventSafe As IMEventsEvent_OnEventSafeEventHandler

event IMEventsEvent_OnEventSafeEventHandler OnEventSafe

event IMEventsEvent_OnEventSafeEventHandler^ OnEventSafe

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
IMEventsEvent_Event Interface

IMEventsEvent_Event Members


%%PageItemTitle%%

IMEventsFrame Interface
Members

MFORMATSLib Namespace : IMEventsFrame Interface
See Also

Reference

IMEventsFrame Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsFrame Interface Members
Methods

MFORMATSLib Namespace : IMEventsFrame Interface

The following tables list the members exposed by IMEventsFrame.

Public Methods
 | Name | Description
Method | OnFrameSafe |
Top
See Also

Reference

IMEventsFrame Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEventsFrame Interface Methods

MFORMATSLib Namespace : IMEventsFrame Interface

For a list of all members of this type, see IMEventsFrame members.

Public Methods
 | Name | Description
Method | OnFrameSafe |
Top
See Also

Reference

IMEventsFrame Interface
MFORMATSLib Namespace


OnFrameSafe Method (IMEventsFrame)

MFORMATSLib Namespace > IMEventsFrame Interface : OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFrameSafe( _
   ByVal bsChannelID As System.String, _
   ByVal pMFrame As System.Object _
)

void OnFrameSafe(
   System.string bsChannelID,
   System.object pMFrame
)

void OnFrameSafe(
   System.String^ bsChannelID,
   System.Object^ pMFrame
)

Parameters
bsChannelID

pMFrame

See Also
Reference
IMEventsFrame Interface

IMEventsFrame Members


%%PageItemTitle%%

IMEventsFrame_Event Interface
Members

MFORMATSLib Namespace : IMEventsFrame_Event Interface
See Also

Reference

IMEventsFrame_Event Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMEventsFrame_Event Interface Members
Methods Events

MFORMATSLib Namespace : IMEventsFrame_Event Interface

The following tables list the members exposed by IMEventsFrame_Event.

Public Methods
 | Name | Description
Method | add_OnFrameSafe |
Method | remove_OnFrameSafe |
Top
Public Events
 | Name | Description
Event | OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_Event Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMEventsFrame_Event Interface Methods

MFORMATSLib Namespace : IMEventsFrame_Event Interface

For a list of all members of this type, see IMEventsFrame_Event members.

Public Methods
 | Name | Description
Method | add_OnFrameSafe |
Method | remove_OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_Event Interface
MFORMATSLib Namespace


add_OnFrameSafe Method (IMEventsFrame_Event)

MFORMATSLib Namespace > IMEventsFrame_Event Interface : add_OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub add_OnFrameSafe( _
   ByVal param1 As IMEventsFrame_OnFrameSafeEventHandler _
)

void add_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler param1
)

void add_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsFrame_Event Interface

IMEventsFrame_Event Members


remove_OnFrameSafe Method (IMEventsFrame_Event)

MFORMATSLib Namespace > IMEventsFrame_Event Interface : remove_OnFrameSafe Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub remove_OnFrameSafe( _
   ByVal param1 As IMEventsFrame_OnFrameSafeEventHandler _
)

void remove_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler param1
)

void remove_OnFrameSafe(
   IMEventsFrame_OnFrameSafeEventHandler^ param1
)

Parameters
param1

See Also
Reference
IMEventsFrame_Event Interface

IMEventsFrame_Event Members


%%PageItemTitle%% $$Events$$

IMEventsFrame_Event Interface Events

MFORMATSLib Namespace : IMEventsFrame_Event Interface

For a list of all members of this type, see IMEventsFrame_Event members.

Public Events
 | Name | Description
Event | OnFrameSafe |
Top
See Also

Reference

IMEventsFrame_Event Interface
MFORMATSLib Namespace


OnFrameSafe Event (IMEventsFrame_Event)

MFORMATSLib Namespace > IMEventsFrame_Event Interface : OnFrameSafe Event
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Event OnFrameSafe As IMEventsFrame_OnFrameSafeEventHandler

event IMEventsFrame_OnFrameSafeEventHandler OnFrameSafe

event IMEventsFrame_OnFrameSafeEventHandler^ OnFrameSafe

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
IMEventsFrame_Event Interface

IMEventsFrame_Event Members


%%PageItemTitle%%

IMFAudioBuffer Interface
Members

MFORMATSLib Namespace : IMFAudioBuffer Interface
Operates an audio buffer.
See Also

Reference

IMFAudioBuffer Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFAudioBuffer Interface Members
Methods

MFORMATSLib Namespace : IMFAudioBuffer Interface

The following tables list the members exposed by IMFAudioBuffer.

Public Methods
 | Name | Description
Method | BufferFrameChannelsAppend | Appends audio channels from buffer to a specified frame, the number of samples retrieved from specified frame
Method | BufferFrameFill | Reads audio from buffer to frame. If _nSamples = 0 then the audio duration calculated from frame rate, if _nSamples < 0 then whole buffer is used.
Method | BufferFrameMix | Mixes audio from buffer with specified frame, the number of samples retrieved from specified frame. Note: The audio can be insufficient. In this case use two lines for mixing.
Method | BufferFramePut | Puts audio from a frame to the buffer.
Method | BufferGet |
Method | BufferLinesMix | Mixes audio from buffer lines
Method | BufferLinesRemove | Removes line from buffer
Method | BufferLoadFromFile | Loads audio form file to a buffer.
Method | BufferPropsGet | Gets buffer's audio props
Method | BufferPropsSet | Sets buffer's audio properties
Method | BufferPutPtr | Puts audio data to a buffer. If _pbAudio is NULL then the buffer is filled with silence
Method | BufferPutPtrEx |
Method | BufferRemove | Removes audio data from the buffer
Method | BufferTimesEnable |
Method | BufferTimesGet |
Method | BufferTimesIsEnabled |
Method | BufferTimesSet |
Top
See Also

Reference

IMFAudioBuffer Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFAudioBuffer Interface Methods

MFORMATSLib Namespace : IMFAudioBuffer Interface

For a list of all members of this type, see IMFAudioBuffer members.

Public Methods
 | Name | Description
Method | BufferFrameChannelsAppend | Appends audio channels from buffer to a specified frame, the number of samples retrieved from specified frame
Method | BufferFrameFill | Reads audio from buffer to frame. If _nSamples = 0 then the audio duration calculated from frame rate, if _nSamples < 0 then whole buffer is used.
Method | BufferFrameMix | Mixes audio from buffer with specified frame, the number of samples retrieved from specified frame. Note: The audio can be insufficient. In this case use two lines for mixing.
Method | BufferFramePut | Puts audio from a frame to the buffer.
Method | BufferGet |
Method | BufferLinesMix | Mixes audio from buffer lines
Method | BufferLinesRemove | Removes line from buffer
Method | BufferLoadFromFile | Loads audio form file to a buffer.
Method | BufferPropsGet | Gets buffer's audio props
Method | BufferPropsSet | Sets buffer's audio properties
Method | BufferPutPtr | Puts audio data to a buffer. If _pbAudio is NULL then the buffer is filled with silence
Method | BufferPutPtrEx |
Method | BufferRemove | Removes audio data from the buffer
Method | BufferTimesEnable |
Method | BufferTimesGet |
Method | BufferTimesIsEnabled |
Method | BufferTimesSet |
Top
See Also

Reference

IMFAudioBuffer Interface
MFORMATSLib Namespace


BufferFrameChannelsAppend Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferFrameChannelsAppend Method
buffer's line
frame from audio channels will be appended
samples appended
channels' list, for example "0,1,2,3"
Appends audio channels from buffer to a specified frame, the number of samples retrieved from specified frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferFrameChannelsAppend( _
   ByVal _bsLine As System.String, _
   ByVal _pFrame As MFFrame, _
   ByRef _plSamplesAppend As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

void BufferFrameChannelsAppend(
   System.string _bsLine,
   MFFrame _pFrame,
   out System.int _plSamplesAppend,
   System.string _bsChannelsList
)

void BufferFrameChannelsAppend(
   System.String^ _bsLine,
   MFFrame^ _pFrame,
   [Out] System.int _plSamplesAppend,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pFrame

frame from audio channels will be appended
_plSamplesAppend

samples appended
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferFrameFill Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferFrameFill Method
buffer's line
frame to be filled from buffer
number of audio samples
channels' list, for example "0,1,2,3"
Reads audio from buffer to frame. If _nSamples = 0 then the audio duration calculated from frame rate, if _nSamples < 0 then whole buffer is used.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferFrameFill( _
   ByVal _bsLine As System.String, _
   ByVal _pFrame As MFFrame, _
   ByRef _plSamples As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

void BufferFrameFill(
   System.string _bsLine,
   MFFrame _pFrame,
   out System.int _plSamples,
   System.string _bsChannelsList
)

void BufferFrameFill(
   System.String^ _bsLine,
   MFFrame^ _pFrame,
   [Out] System.int _plSamples,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pFrame

frame to be filled from buffer
_plSamples

number of audio samples
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferFrameMix Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferFrameMix Method
buffer's line from which audio will be mixed
frame to which mixed audio will be implemented
mixed samples
start gain in dB
end gain in dB
input channels' list, for example "0,1,2,3"
output channels' list, for example "0,2,1,3"
Mixes audio from buffer with specified frame, the number of samples retrieved from specified frame.
Note: The audio can be insufficient. In this case use two lines for mixing.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferFrameMix( _
   ByVal _bsLineFrom As System.String, _
   ByVal _pFrameTo As MFFrame, _
   ByRef _plSamplesMix As System.Integer, _
   ByVal _dblGainFromStartDb As System.Double, _
   ByVal _dblGainFromEndDb As System.Double, _
   ByVal _bsChannelsListIn As System.String, _
   ByVal _bsChannelsListOut As System.String _
)

void BufferFrameMix(
   System.string _bsLineFrom,
   MFFrame _pFrameTo,
   out System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.string _bsChannelsListIn,
   System.string _bsChannelsListOut
)

void BufferFrameMix(
   System.String^ _bsLineFrom,
   MFFrame^ _pFrameTo,
   [Out] System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.String^ _bsChannelsListIn,
   System.String^ _bsChannelsListOut
)

Parameters
_bsLineFrom

buffer's line from which audio will be mixed
_pFrameTo

frame to which mixed audio will be implemented
_plSamplesMix

mixed samples
_dblGainFromStartDb

start gain in dB
_dblGainFromEndDb

end gain in dB
_bsChannelsListIn

input channels' list, for example "0,1,2,3"
_bsChannelsListOut

output channels' list, for example "0,2,1,3"

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferFramePut Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferFramePut Method
buffer's line
source frame
channels' list, for example "0,1,2,3"
Puts audio from a frame to the buffer.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferFramePut( _
   ByVal _bsLine As System.String, _
   ByVal _pFrame As MFFrame, _
   ByVal _bsChannelsList As System.String _
)

void BufferFramePut(
   System.string _bsLine,
   MFFrame _pFrame,
   System.string _bsChannelsList
)

void BufferFramePut(
   System.String^ _bsLine,
   MFFrame^ _pFrame,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pFrame

source frame
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferGet Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferGet( _
   ByVal _bsLine As System.String, _
   ByRef _plSamples As System.Integer, _
   ByRef _ppbAudio As System.Long, _
   ByVal _cbAudioPlane As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

void BufferGet(
   System.string _bsLine,
   out System.int _plSamples,
   out System.long _ppbAudio,
   System.int _cbAudioPlane,
   System.string _bsChannelsList
)

void BufferGet(
   System.String^ _bsLine,
   [Out] System.int _plSamples,
   [Out] System.int64 _ppbAudio,
   System.int _cbAudioPlane,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

_plSamples

_ppbAudio

_cbAudioPlane

_bsChannelsList

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferLinesMix Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferLinesMix Method
line from which audio is mixed
line to which audio is mixed
mixed samples
start gain in dB for "from" line
end gain in dB for "from" line
start gain in dB for "to" line
end gain in dB for "to" line
list of input audio channels, for example "0,1,2,3"
list of output audio channels, for example "0,3,2,1"
Mixes audio from buffer lines
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferLinesMix( _
   ByVal _bsLineFrom As System.String, _
   ByVal _bsLineTo As System.String, _
   ByRef _plSamplesMix As System.Integer, _
   ByVal _dblGainFromStartDb As System.Double, _
   ByVal _dblGainFromEndDb As System.Double, _
   ByVal _dblGainToStartDb As System.Double, _
   ByVal _dblGainToEndDb As System.Double, _
   ByVal _bsChannelsListIn As System.String, _
   ByVal _bsChannelsListOut As System.String _
)

void BufferLinesMix(
   System.string _bsLineFrom,
   System.string _bsLineTo,
   out System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.double _dblGainToStartDb,
   System.double _dblGainToEndDb,
   System.string _bsChannelsListIn,
   System.string _bsChannelsListOut
)

void BufferLinesMix(
   System.String^ _bsLineFrom,
   System.String^ _bsLineTo,
   [Out] System.int _plSamplesMix,
   System.double _dblGainFromStartDb,
   System.double _dblGainFromEndDb,
   System.double _dblGainToStartDb,
   System.double _dblGainToEndDb,
   System.String^ _bsChannelsListIn,
   System.String^ _bsChannelsListOut
)

Parameters
_bsLineFrom

line from which audio is mixed
_bsLineTo

line to which audio is mixed
_plSamplesMix

mixed samples
_dblGainFromStartDb

start gain in dB for "from" line
_dblGainFromEndDb

end gain in dB for "from" line
_dblGainToStartDb

start gain in dB for "to" line
_dblGainToEndDb

end gain in dB for "to" line
_bsChannelsListIn

list of input audio channels, for example "0,1,2,3"
_bsChannelsListOut

list of output audio channels, for example "0,3,2,1"

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferLinesRemove Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferLinesRemove Method
buffer's line
Removes line from buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferLinesRemove( _
   ByVal _bsLine As System.String _
)

void BufferLinesRemove(
   System.string _bsLine
)

void BufferLinesRemove(
   System.String^ _bsLine
)

Parameters
_bsLine

buffer's line

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferLoadFromFile Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferLoadFromFile Method
buffer's line
full path to a source file
number of audio samples to be loaded. If _lSamplesLoad <= 0 then try to load whole file.
Loads audio form file to a buffer.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferLoadFromFile( _
   ByVal _bsLine As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _lSamplesOffset As System.Integer, _
   ByVal _lSamplesLoad As System.Integer _
)

void BufferLoadFromFile(
   System.string _bsLine,
   System.string _bsFileName,
   System.int _lSamplesOffset,
   System.int _lSamplesLoad
)

void BufferLoadFromFile(
   System.String^ _bsLine,
   System.String^ _bsFileName,
   System.int _lSamplesOffset,
   System.int _lSamplesLoad
)

Parameters
_bsLine

buffer's line
_bsFileName

full path to a source file
_lSamplesOffset

_lSamplesLoad

number of audio samples to be loaded. If _lSamplesLoad <= 0 then try to load whole file.

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferPropsGet Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferPropsGet Method
buffer's line
audio properties
number of audio samples
Gets buffer's audio props
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferPropsGet( _
   ByVal _bsLine As System.String, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _plSamples As System.Integer _
)

void BufferPropsGet(
   System.string _bsLine,
   out M_AUD_PROPS _pAudProps,
   out System.int _plSamples
)

void BufferPropsGet(
   System.String^ _bsLine,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.int _plSamples
)

Parameters
_bsLine

buffer's line
_pAudProps

audio properties
_plSamples

number of audio samples

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferPropsSet Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferPropsSet Method
buffer's line
audio properties
whether buffer will be reset ("1") or not ("0")
Sets buffer's audio properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferPropsSet( _
   ByVal _bsLine As System.String, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _bResetBuffer As System.Integer _
)

void BufferPropsSet(
   System.string _bsLine,
   ref M_AUD_PROPS _pAudProps,
   System.int _bResetBuffer
)

void BufferPropsSet(
   System.String^ _bsLine,
   M_AUD_PROPS% _pAudProps,
   System.int _bResetBuffer
)

Parameters
_bsLine

buffer's line
_pAudProps

audio properties
_bResetBuffer

whether buffer will be reset ("1") or not ("0")

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferPutPtr Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferPutPtr Method
buffer's line
audio properties
number of audio samples
pointer to audio data
channels' list, for example "0,1,2,3"
Puts audio data to a buffer. If _pbAudio is NULL then the buffer is filled with silence
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferPutPtr( _
   ByVal _bsLine As System.String, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _lSamples As System.Integer, _
   ByVal _pbAudio As System.Long, _
   ByVal _bsChannelsList As System.String _
)

void BufferPutPtr(
   System.string _bsLine,
   ref M_AUD_PROPS _pAudProps,
   System.int _lSamples,
   System.long _pbAudio,
   System.string _bsChannelsList
)

void BufferPutPtr(
   System.String^ _bsLine,
   M_AUD_PROPS% _pAudProps,
   System.int _lSamples,
   System.int64 _pbAudio,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

buffer's line
_pAudProps

audio properties
_lSamples

number of audio samples
_pbAudio

pointer to audio data
_bsChannelsList

channels' list, for example "0,1,2,3"

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferPutPtrEx Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferPutPtrEx Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferPutPtrEx( _
   ByVal _bsLine As System.String, _
   ByVal _rtTime As System.Long, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _lSamples As System.Integer, _
   ByVal _pbAudio As System.Long, _
   ByVal _cbAudioPlane As System.Integer, _
   ByVal _bsChannelsList As System.String _
)

void BufferPutPtrEx(
   System.string _bsLine,
   System.long _rtTime,
   ref M_AUD_PROPS _pAudProps,
   System.int _lSamples,
   System.long _pbAudio,
   System.int _cbAudioPlane,
   System.string _bsChannelsList
)

void BufferPutPtrEx(
   System.String^ _bsLine,
   System.int64 _rtTime,
   M_AUD_PROPS% _pAudProps,
   System.int _lSamples,
   System.int64 _pbAudio,
   System.int _cbAudioPlane,
   System.String^ _bsChannelsList
)

Parameters
_bsLine

_rtTime

_pAudProps

_lSamples

_pbAudio

_cbAudioPlane

_bsChannelsList

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferRemove Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferRemove Method
audio line
audio samples
Removes audio data from the buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferRemove( _
   ByVal _bsLine As System.String, _
   ByRef _plSamples As System.Integer _
)

void BufferRemove(
   System.string _bsLine,
   out System.int _plSamples
)

void BufferRemove(
   System.String^ _bsLine,
   [Out] System.int _plSamples
)

Parameters
_bsLine

audio line
_plSamples

audio samples

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferTimesEnable Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferTimesEnable Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferTimesEnable( _
   ByVal _bsLine As System.String, _
   ByVal _bEnable As System.Integer, _
   ByVal _prtMinDiff As System.Long, _
   ByVal _prtMaxDiff As System.Long _
)

void BufferTimesEnable(
   System.string _bsLine,
   System.int _bEnable,
   System.long _prtMinDiff,
   System.long _prtMaxDiff
)

void BufferTimesEnable(
   System.String^ _bsLine,
   System.int _bEnable,
   System.int64 _prtMinDiff,
   System.int64 _prtMaxDiff
)

Parameters
_bsLine

_bEnable

_prtMinDiff

_prtMaxDiff

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferTimesGet Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferTimesGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferTimesGet( _
   ByVal _bsLine As System.String, _
   ByRef _prtStartTime As System.Long, _
   ByRef _prtEndTime As System.Long _
)

void BufferTimesGet(
   System.string _bsLine,
   out System.long _prtStartTime,
   out System.long _prtEndTime
)

void BufferTimesGet(
   System.String^ _bsLine,
   [Out] System.int64 _prtStartTime,
   [Out] System.int64 _prtEndTime
)

Parameters
_bsLine

_prtStartTime

_prtEndTime

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferTimesIsEnabled Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferTimesIsEnabled Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferTimesIsEnabled( _
   ByVal _bsLine As System.String, _
   ByRef _pbEnabled As System.Integer, _
   ByRef _prtMinDiff As System.Long, _
   ByRef _prtMaxDiff As System.Long _
)

void BufferTimesIsEnabled(
   System.string _bsLine,
   out System.int _pbEnabled,
   out System.long _prtMinDiff,
   out System.long _prtMaxDiff
)

void BufferTimesIsEnabled(
   System.String^ _bsLine,
   [Out] System.int _pbEnabled,
   [Out] System.int64 _prtMinDiff,
   [Out] System.int64 _prtMaxDiff
)

Parameters
_bsLine

_pbEnabled

_prtMinDiff

_prtMaxDiff

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


BufferTimesSet Method (IMFAudioBuffer)

MFORMATSLib Namespace > IMFAudioBuffer Interface : BufferTimesSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub BufferTimesSet( _
   ByVal _bsLine As System.String, _
   ByVal _rtStartTime As System.Long, _
   ByVal _rtMinEndTime As System.Long _
)

void BufferTimesSet(
   System.string _bsLine,
   System.long _rtStartTime,
   System.long _rtMinEndTime
)

void BufferTimesSet(
   System.String^ _bsLine,
   System.int64 _rtStartTime,
   System.int64 _rtMinEndTime
)

Parameters
_bsLine

_rtStartTime

_rtMinEndTime

See Also
Reference
IMFAudioBuffer Interface

IMFAudioBuffer Members


%%PageItemTitle%%

IMFConverter Interface
Members

MFORMATSLib Namespace : IMFConverter Interface
Operates a frame's conversion
See Also

Reference

IMFConverter Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFConverter Interface Members
Methods

MFORMATSLib Namespace : IMFConverter Interface

The following tables list the members exposed by IMFConverter.

Public Methods
 | Name | Description
Method | ConverterFrameConvert | Converts a source frame to required format
Method | ConverterReset | Resets a converter. Call this method after conversion.
Top
See Also

Reference

IMFConverter Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFConverter Interface Methods

MFORMATSLib Namespace : IMFConverter Interface

For a list of all members of this type, see IMFConverter members.

Public Methods
 | Name | Description
Method | ConverterFrameConvert | Converts a source frame to required format
Method | ConverterReset | Resets a converter. Call this method after conversion.
Top
See Also

Reference

IMFConverter Interface
MFORMATSLib Namespace


ConverterFrameConvert Method (IMFConverter)

MFORMATSLib Namespace > IMFConverter Interface : ConverterFrameConvert Method
line
source frame
media properties for output frame
result frame
additional properties
Converts a source frame to required format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ConverterFrameConvert( _
   ByVal _bsLine As System.String, _
   ByVal _pFrameIn As MFFrame, _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByRef _ppFrameOut As MFFrame, _
   ByRef _pnFramesRest As System.Integer, _
   ByVal _bsPropsList As System.String _
)

void ConverterFrameConvert(
   System.string _bsLine,
   MFFrame _pFrameIn,
   ref M_AV_PROPS _pAVPropsOut,
   out MFFrame _ppFrameOut,
   out System.int _pnFramesRest,
   System.string _bsPropsList
)

void ConverterFrameConvert(
   System.String^ _bsLine,
   MFFrame^ _pFrameIn,
   M_AV_PROPS% _pAVPropsOut,
   [Out] MFFrame^ _ppFrameOut,
   [Out] System.int _pnFramesRest,
   System.String^ _bsPropsList
)

Parameters
_bsLine

line
_pFrameIn

source frame
_pAVPropsOut

media properties for output frame
_ppFrameOut

result frame
_pnFramesRest

_bsPropsList

additional properties

See Also
Reference
IMFConverter Interface

IMFConverter Members


ConverterReset Method (IMFConverter)

MFORMATSLib Namespace > IMFConverter Interface : ConverterReset Method
line
Resets a converter. Call this method after conversion.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ConverterReset( _
   ByVal _bsLine As System.String _
)

void ConverterReset(
   System.string _bsLine
)

void ConverterReset(
   System.String^ _bsLine
)

Parameters
_bsLine

line

See Also
Reference
IMFConverter Interface

IMFConverter Members


%%PageItemTitle%%

IMFDevice Interface
Members

MFORMATSLib Namespace : IMFDevice Interface
Operates with devices (input and output)
See Also

Reference

IMFDevice Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFDevice Interface Members
Methods

MFORMATSLib Namespace : IMFDevice Interface

The following tables list the members exposed by IMFDevice.

Public Methods
 | Name | Description
Method | DeviceClose | Closes the current device
Method | DeviceGet | Gets the current device of a selected type
Method | DeviceGetByIndex | Gets a device by its index.
Method | DeviceGetCount | Gets a number of available devices of the selected type
Method | DeviceGetInternal | gets an access to internal object. Required "device_sharing" feature disable for correct work. For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Method | DeviceOpen | Open a device for work
Method | DeviceSet | Sets a device of the specified type.
Method | DeviceShowProps | Shows device's property page.
Top
See Also

Reference

IMFDevice Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFDevice Interface Methods

MFORMATSLib Namespace : IMFDevice Interface

For a list of all members of this type, see IMFDevice members.

Public Methods
 | Name | Description
Method | DeviceClose | Closes the current device
Method | DeviceGet | Gets the current device of a selected type
Method | DeviceGetByIndex | Gets a device by its index.
Method | DeviceGetCount | Gets a number of available devices of the selected type
Method | DeviceGetInternal | gets an access to internal object. Required "device_sharing" feature disable for correct work. For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Method | DeviceOpen | Open a device for work
Method | DeviceSet | Sets a device of the specified type.
Method | DeviceShowProps | Shows device's property page.
Top
See Also

Reference

IMFDevice Interface
MFORMATSLib Namespace


DeviceClose Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceClose Method
Closes the current device
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceClose()

void DeviceClose()

void DeviceClose();

Example
Here is an example of how to close a device:

  • C#

m_objLive.DeviceClose(); // Close the device

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceGet Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceGet Method
device type
index of selected device
name of the device
Gets the current device of a selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceGet( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

void DeviceGet(
   eMFDeviceType _eDevType,
   out System.int _pnIndex,
   out System.string _pbsName
)

void DeviceGet(
   eMFDeviceType _eDevType,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eDevType

device type
_pnIndex

index of selected device
_pbsName

name of the device

Example
Here is example of how to get a current device:

  • Tab Caption

m_objLive = new MFLiveClass();
// work with the live source
// ...
//
// Get current device
int devIndex;
string devName;
m_objLive.DevideGet(eMFDeviceType.eMFDT_Video, out devIndex, out devName);

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceGetByIndex Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceGetByIndex Method
device's type
index of a device
device's name
indicates whether the device busy
Gets a device by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceGetByIndex( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pbBusy As System.Integer _
)

void DeviceGetByIndex(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   out System.string _pbsName,
   out System.int _pbBusy
)

void DeviceGetByIndex(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] System.int _pbBusy
)

Parameters
_eDevType

device's type
_nIndex

index of a device
_pbsName

device's name
_pbBusy

indicates whether the device busy

Example
Here is an example of how to fill a combobox with all available video devices:

  • C#

comboBoxV.Items.Clear();
//Feel video devices
int vCount;
try
{
    m_objLive = new MFLiveClass();
    m_objLive.DeviceGetCount(eMFDeviceType.eMFDT_Video, out vCount);
    if (vCount > 0)
    {
        for (int i = 0; i < vCount; i++)
        {
            string strName;
            int _pbBusy;
            m_objLive.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out strName, out _pbBusy);
            comboBoxV.Items.Add(strName);
        }
        comboBoxV.SelectedIndex = 0;
    }
}
catch { }

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceGetCount Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceGetCount Method
device's type
number of available devices
Gets a number of available devices of the selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceGetCount( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _pnCount As System.Integer _
)

void DeviceGetCount(
   eMFDeviceType _eDevType,
   out System.int _pnCount
)

void DeviceGetCount(
   eMFDeviceType _eDevType,
   [Out] System.int _pnCount
)

Parameters
_eDevType

device's type
_pnCount

number of available devices

Example
Here is an example of how to fill a combobox with all available video devices:

  • C#

comboBoxV.Items.Clear();
//Feel video devices
int vCount;
try
{
    m_objLive = new MFLiveClass();
    m_objLive.DeviceGetCount(eMFDeviceType.eMFDT_Video, out vCount);
    if (vCount > 0)
    {
        for (int i = 0; i < vCount; i++)
        {
            string strName;
            int _pbBusy;
            m_objLive.DeviceGetByIndex(eMFDeviceType.eMFDT_Video, i, out strName, out _pbBusy);
            comboBoxV.Items.Add(strName);
        }
        comboBoxV.SelectedIndex = 0;
    }
}
catch { }

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceGetInternal Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceGetInternal Method

device type:
eMFDT_Video - returns you video source object, for example ScreenCapture filter
eMFDT_Audio - returns audio source object
eMFDT_All - returns complete DirectShow graph

result object
gets an access to internal object. Required "device_sharing" feature disable for correct work.
For Blackmagic devices the 1st parameter is ignored. The method returns IDeckLinkInput (MFLive) / IDeckLinkOutput (MFRenderer) object (information about these interfaces is placed into Decklink SDK documentation)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceGetInternal( _
   ByVal _eDevType As eMFDeviceType, _
   ByRef _ppObject As System.Object _
)

void DeviceGetInternal(
   eMFDeviceType _eDevType,
   out System.object _ppObject
)

void DeviceGetInternal(
   eMFDeviceType _eDevType,
   [Out] System.Object^ _ppObject
)

Parameters
_eDevType

device type:
eMFDT_Video - returns you video source object, for example ScreenCapture filter
eMFDT_Audio - returns audio source object
eMFDT_All - returns complete DirectShow graph
_ppObject

result object

Example

  • C#

object screenCapture;
m_objLive.DeviceGetInternal(eMFDeviceType.eMFDT_Video, out screenCapture);

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceOpen Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceOpen Method
device's configuration
additional properties
Open a device for work
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceOpen( _
   ByVal _bsDeviceConfig As System.String, _
   ByVal _bsPropsList As System.String _
)

void DeviceOpen(
   System.string _bsDeviceConfig,
   System.string _bsPropsList
)

void DeviceOpen(
   System.String^ _bsDeviceConfig,
   System.String^ _bsPropsList
)

Parameters
_bsDeviceConfig

device's configuration
_bsPropsList

additional properties

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceSet Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceSet Method
device's type
index of a device
additional parameters
Sets a device of the specified type.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceSet( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _nIndex As System.Integer, _
   ByVal _bsParam As System.String _
)

void DeviceSet(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   System.string _bsParam
)

void DeviceSet(
   eMFDeviceType _eDevType,
   System.int _nIndex,
   System.String^ _bsParam
)

Parameters
_eDevType

device's type
_nIndex

index of a device
_bsParam

additional parameters

Example
Here is an example of how to set a video device:

  • C#

m_objLive.DeviceSet(eMFDeviceType.eMFDT_Video, comboBoxV.SelectedIndex, "");

See Also
Reference
IMFDevice Interface

IMFDevice Members


DeviceShowProps Method (IMFDevice)

MFORMATSLib Namespace > IMFDevice Interface : DeviceShowProps Method
device's type
property's type
window handle to display a property page
Shows device's property page.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DeviceShowProps( _
   ByVal _eDevType As eMFDeviceType, _
   ByVal _bsPropsType As System.String, _
   ByVal _lWndHandle As System.Long _
)

void DeviceShowProps(
   eMFDeviceType _eDevType,
   System.string _bsPropsType,
   System.long _lWndHandle
)

void DeviceShowProps(
   eMFDeviceType _eDevType,
   System.String^ _bsPropsType,
   System.int64 _lWndHandle
)

Parameters
_eDevType

device's type
_bsPropsType

property's type
_lWndHandle

window handle to display a property page

Example
Here is an example of how to show device's properties:

  • C#

m_objLive.DeviceShowProps(eMFDeviceType.eMFDT_All, "", 0);

See Also
Reference
IMFDevice Interface

IMFDevice Members


%%PageItemTitle%%

IMFFactory Interface
Members

MFORMATSLib Namespace : IMFFactory Interface
Operates a frame's creation
See Also

Reference

IMFFactory Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFFactory Interface Members
Methods

MFORMATSLib Namespace : IMFFactory Interface

The following tables list the members exposed by IMFFactory.

Public Methods
 | Name | Description
Method | MFFrameClone | Gets a clone of the frame. See eMFrameClone for more information about clone types. If _fccPixelFormat is not eMFCC_Default and not the original, then video will be copied even for reference frames. Note: If frame is out-of-prcoess, the clone ALSO out-of-process. You should call MFFrameMakeLocal() for such frames.
Method | MFFrameCreateFromFile | Creates a frame from a file
Method | MFFrameCreateFromHBITMAP | Creates a frame from a HBitmap object
Method | MFFrameCreateFromMem | Creates a frame from memory
Method | MFFrameCreateFromMemEx |
Method | MFFrameCreatePlain | Creates a plain (empty) frame
Method | MFFrameCreateWrapper | Creates frame from object (e.g. WICBitmapLock, D3D9Surface, MediaSample, NSSBuffer - etc) - just keeps a reference to external object and use memory pointer.
Method | MFFrameMakeLocal | Makes a local copy of external frame. For interprocess communication. Before use a frame from another process make sure that you call this method.
Top
See Also

Reference

IMFFactory Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFFactory Interface Methods

MFORMATSLib Namespace : IMFFactory Interface

For a list of all members of this type, see IMFFactory members.

Public Methods
 | Name | Description
Method | MFFrameClone | Gets a clone of the frame. See eMFrameClone for more information about clone types. If _fccPixelFormat is not eMFCC_Default and not the original, then video will be copied even for reference frames. Note: If frame is out-of-prcoess, the clone ALSO out-of-process. You should call MFFrameMakeLocal() for such frames.
Method | MFFrameCreateFromFile | Creates a frame from a file
Method | MFFrameCreateFromHBITMAP | Creates a frame from a HBitmap object
Method | MFFrameCreateFromMem | Creates a frame from memory
Method | MFFrameCreateFromMemEx |
Method | MFFrameCreatePlain | Creates a plain (empty) frame
Method | MFFrameCreateWrapper | Creates frame from object (e.g. WICBitmapLock, D3D9Surface, MediaSample, NSSBuffer - etc) - just keeps a reference to external object and use memory pointer.
Method | MFFrameMakeLocal | Makes a local copy of external frame. For interprocess communication. Before use a frame from another process make sure that you call this method.
Top
See Also

Reference

IMFFactory Interface
MFORMATSLib Namespace


MFFrameClone Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameClone Method
source frame object
result frame
clone's type
pixel's format
Gets a clone of the frame. See eMFrameClone for more information about clone types. If _fccPixelFormat is not eMFCC_Default and not the original, then video will be copied even for reference frames.
Note: If frame is out-of-prcoess, the clone ALSO out-of-process. You should call MFFrameMakeLocal() for such frames.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameClone( _
   ByVal _pMFFrame As System.Object, _
   ByRef _ppFrameClone As MFFrame, _
   ByVal _eCloneType As eMFrameClone, _
   ByVal _fccPixelFormat As eMFCC _
)

void MFFrameClone(
   System.object _pMFFrame,
   out MFFrame _ppFrameClone,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

void MFFrameClone(
   System.Object^ _pMFFrame,
   [Out] MFFrame^ _ppFrameClone,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

Parameters
_pMFFrame

source frame object
_ppFrameClone

result frame
_eCloneType

clone's type
_fccPixelFormat

pixel's format

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameCreateFromFile Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameCreateFromFile Method
path to source file (JPEG, PNG, BMP or TIFF image)
result frame
additional properties
Creates a frame from a file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameCreateFromFile( _
   ByVal _bsFileName As System.String, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

void MFFrameCreateFromFile(
   System.string _bsFileName,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

void MFFrameCreateFromFile(
   System.String^ _bsFileName,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_bsFileName

path to source file (JPEG, PNG, BMP or TIFF image)
_ppFrame

result frame
_bsPropsList

additional properties

Example
Here is an example of how to create a frame from file and sent it to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
MFFactoryClass factory = new MFFactoryClass();
MFFrame frame;
factory.MFFrameCreateFromFile(pathToFile, out frame, "");
m_objPreview.ReceiverFramePut(frame, -1, "");

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameCreateFromHBITMAP Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameCreateFromHBITMAP Method
bitmap handle object
result frame
additional properties
Creates a frame from a HBitmap object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameCreateFromHBITMAP( _
   ByVal _hBitmap As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

void MFFrameCreateFromHBITMAP(
   System.long _hBitmap,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

void MFFrameCreateFromHBITMAP(
   System.int64 _hBitmap,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_hBitmap

bitmap handle object
_ppFrame

result frame
_bsPropsList

additional properties

Example
Here is an example of how to create a frame from HBitmap and sent it to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
MFFactoryClass factory = new MFFactoryClass();
MFFrame frame;
factory.MFFrameCreateFromFile(h_bitmap, out frame, "");
m_objPreview.ReceiverFramePut(frame, -1, "");

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameCreateFromMem Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameCreateFromMem Method
media properties for a frame
pointer to video data
number of audio samples
pointer to audio data
result frame
Creates a frame from memory
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameCreateFromMem( _
   ByRef _pAVProps As M_AV_PROPS, _
   ByVal _lpVideo As System.Long, _
   ByVal _lAudioSamples As System.Integer, _
   ByVal _lpAudio As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

void MFFrameCreateFromMem(
   ref M_AV_PROPS _pAVProps,
   System.long _lpVideo,
   System.int _lAudioSamples,
   System.long _lpAudio,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

void MFFrameCreateFromMem(
   M_AV_PROPS% _pAVProps,
   System.int64 _lpVideo,
   System.int _lAudioSamples,
   System.int64 _lpAudio,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_pAVProps

media properties for a frame
_lpVideo

pointer to video data
_lAudioSamples

number of audio samples
_lpAudio

pointer to audio data
_ppFrame

result frame
_bsPropsList

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
M_AV_PROPS m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
MFFactoryClass factory = new MFFactoryClass();
MFFrame frame;
factory.MFFrameCreateFromMem(ref m_avProps, pointerToVideo, _lAudioSamples, pointerToAudio, out frame);
m_objPreview.ReceiverFramePut(frame, -1, ""); // show the frame on preview

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameCreateFromMemEx Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameCreateFromMemEx Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameCreateFromMemEx( _
   ByRef _pAVProps As M_AV_PROPS, _
   ByRef _pVideoPtr As MF_VID_PTR, _
   ByVal _lAudioSamples As System.Integer, _
   ByVal _lpAudio As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsPropsList As System.String _
)

void MFFrameCreateFromMemEx(
   ref M_AV_PROPS _pAVProps,
   ref MF_VID_PTR _pVideoPtr,
   System.int _lAudioSamples,
   System.long _lpAudio,
   out MFFrame _ppFrame,
   System.string _bsPropsList
)

void MFFrameCreateFromMemEx(
   M_AV_PROPS% _pAVProps,
   MF_VID_PTR% _pVideoPtr,
   System.int _lAudioSamples,
   System.int64 _lpAudio,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsPropsList
)

Parameters
_pAVProps

_pVideoPtr

_lAudioSamples

_lpAudio

_ppFrame

_bsPropsList

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameCreatePlain Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameCreatePlain Method
video data size (for empty frame set it to 0)
result frame object
Creates a plain (empty) frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameCreatePlain( _
   ByVal _cbVideoSize As System.Integer, _
   ByRef _ppFrame As MFFrame _
)

void MFFrameCreatePlain(
   System.int _cbVideoSize,
   out MFFrame _ppFrame
)

void MFFrameCreatePlain(
   System.int _cbVideoSize,
   [Out] MFFrame^ _ppFrame
)

Parameters
_cbVideoSize

video data size (for empty frame set it to 0)
_ppFrame

result frame object

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameCreateWrapper Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameCreateWrapper Method
video properties
video data size
video data pointer in memory
wrapper object
output frame
Creates frame from object (e.g. WICBitmapLock, D3D9Surface, MediaSample, NSSBuffer - etc) - just keeps a reference to external object and use memory pointer.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameCreateWrapper( _
   ByRef _pVidProps As M_VID_PROPS, _
   ByVal _cbVideo As System.UInteger, _
   ByVal _lpVideo As System.Long, _
   ByVal _pObject As System.Object, _
   ByRef _ppFrame As MFFrame _
)

void MFFrameCreateWrapper(
   ref M_VID_PROPS _pVidProps,
   System.uint _cbVideo,
   System.long _lpVideo,
   System.object _pObject,
   out MFFrame _ppFrame
)

void MFFrameCreateWrapper(
   M_VID_PROPS% _pVidProps,
   System.uint _cbVideo,
   System.int64 _lpVideo,
   System.Object^ _pObject,
   [Out] MFFrame^ _ppFrame
)

Parameters
_pVidProps

video properties
_cbVideo

video data size
_lpVideo

video data pointer in memory
_pObject

wrapper object
_ppFrame

output frame

See Also
Reference
IMFFactory Interface

IMFFactory Members


MFFrameMakeLocal Method (IMFFactory)

MFORMATSLib Namespace > IMFFactory Interface : MFFrameMakeLocal Method
source frame object
result frame
indicates whether will be a frame's clone created
Makes a local copy of external frame. For interprocess communication. Before use a frame from another process make sure that you call this method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFrameMakeLocal( _
   ByVal _pMFFrame As System.Object, _
   ByRef _ppFrameLocal As MFFrame, _
   ByVal _bAlwaysClone As System.Integer _
)

void MFFrameMakeLocal(
   System.object _pMFFrame,
   out MFFrame _ppFrameLocal,
   System.int _bAlwaysClone
)

void MFFrameMakeLocal(
   System.Object^ _pMFFrame,
   [Out] MFFrame^ _ppFrameLocal,
   System.int _bAlwaysClone
)

Parameters
_pMFFrame

source frame object
_ppFrameLocal

result frame
_bAlwaysClone

indicates whether will be a frame's clone created

See Also
Reference
IMFFactory Interface

IMFFactory Members


%%PageItemTitle%%

IMFFormat Interface
Members

MFORMATSLib Namespace : IMFFormat Interface
Operates with audio and video formats
See Also

Reference

IMFFormat Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFFormat Interface Members
Methods

MFORMATSLib Namespace : IMFFormat Interface

The following tables list the members exposed by IMFFormat.

Public Methods
 | Name | Description
Method | FormatAudioGet | Gets current audio format
Method | FormatAudioGetByIndex | Gets an audio format by its index
Method | FormatAudioGetCount | Gets number of available formats for selected type
Method | FormatAudioSet | Sets audio format
Method | FormatVideoGet | Gets a current video format
Method | FormatVideoGetByIndex | Gets the video format by its index.
Method | FormatVideoGetCount | Gets a number of available video formats of selected type.
Method | FormatVideoSet | Sets a video format
Top
See Also

Reference

IMFFormat Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFFormat Interface Methods

MFORMATSLib Namespace : IMFFormat Interface

For a list of all members of this type, see IMFFormat members.

Public Methods
 | Name | Description
Method | FormatAudioGet | Gets current audio format
Method | FormatAudioGetByIndex | Gets an audio format by its index
Method | FormatAudioGetCount | Gets number of available formats for selected type
Method | FormatAudioSet | Sets audio format
Method | FormatVideoGet | Gets a current video format
Method | FormatVideoGetByIndex | Gets the video format by its index.
Method | FormatVideoGetCount | Gets a number of available video formats of selected type.
Method | FormatVideoSet | Sets a video format
Top
See Also

Reference

IMFFormat Interface
MFORMATSLib Namespace


FormatAudioGet Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatAudioGet Method
format type
audio properties
index of the format
format's name
Gets current audio format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatAudioGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

void FormatAudioGet(
   eMFormatType _eFormatType,
   out M_AUD_PROPS _pAudProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

void FormatAudioGet(
   eMFormatType _eFormatType,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format type
_pAudProps

audio properties
_pnIndex

index of the format
_pbsName

format's name

Example
Here is an example of how to fill a combobox with all available input audio formats for a live source and select a current format:

  • C#

M_AUD_PROPS audProps;
int fCount;
m_objLive.FormatAudioGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, i, out audProps, out name);
        comboBoxAF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_AUD_PROPS _audProps;
        m_objLive.FormatAudioGet(eMFormatType.eMFT_Input, out _audProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxAF.SelectedIndex = nCurrent;
}

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatAudioGetByIndex Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatAudioGetByIndex Method
format's type
format's index
audio properties
format's name
Gets an audio format by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatAudioGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByRef _pbsName As System.String _
)

void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_AUD_PROPS _pAudProps,
   out System.string _pbsName
)

void FormatAudioGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_AUD_PROPS _pAudProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format's type
_nIndex

format's index
_pAudProps

audio properties
_pbsName

format's name

Example
Here is an example of how to fill a combobox with all available input audio formats for a live source and select a current format:

  • C#

M_AUD_PROPS audProps;
int fCount;
m_objLive.FormatAudioGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, i, out audProps, out name);
        comboBoxAF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_AUD_PROPS _audProps;
        m_objLive.FormatAudioGet(eMFormatType.eMFT_Input, out _audProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxAF.SelectedIndex = nCurrent;
}

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatAudioGetCount Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatAudioGetCount Method
format's type
number of available formats
Gets number of available formats for selected type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatAudioGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

void FormatAudioGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

void FormatAudioGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

format's type
_pnCount

number of available formats

Example
Here is an example of how to fill a combobox with all available input audio formats for a live source and select a current format:

  • C#

M_AUD_PROPS audProps;
int fCount;
m_objLive.FormatAudioGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, i, out audProps, out name);
        comboBoxAF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_AUD_PROPS _audProps;
        m_objLive.FormatAudioGet(eMFormatType.eMFT_Input, out _audProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxAF.SelectedIndex = nCurrent;
}

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatAudioSet Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatAudioSet Method
format type
audio properties
Sets audio format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatAudioSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pAudProps As M_AUD_PROPS _
)

void FormatAudioSet(
   eMFormatType _eFormatType,
   ref M_AUD_PROPS _pAudProps
)

void FormatAudioSet(
   eMFormatType _eFormatType,
   M_AUD_PROPS% _pAudProps
)

Parameters
_eFormatType

format type
_pAudProps

audio properties

Example
Here is example of how to set a audio format for a live object:

  • C#

M_AUD_PROPS audProps;
string name;
m_objLive.FormatAudioGetByIndex(eMFormatType.eMFT_Input, comboBoxAF.SelectedIndex, out audProps, out name);
m_objLive.FormatAudioSet(eMFormatType.eMFT_Input, audProps);

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatVideoGet Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatVideoGet Method
format type
video properties
index of current video format
name of the format
Gets a current video format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatVideoGet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pnIndex As System.Integer, _
   ByRef _pbsName As System.String _
)

void FormatVideoGet(
   eMFormatType _eFormatType,
   out M_VID_PROPS _pVidProps,
   out System.int _pnIndex,
   out System.string _pbsName
)

void FormatVideoGet(
   eMFormatType _eFormatType,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.int _pnIndex,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format type
_pVidProps

video properties
_pnIndex

index of current video format
_pbsName

name of the format

Example
Here is an example of how to fill a combobox with all available input video formats for a live source and select a current format:

  • C#

M_VID_PROPS vidProps;
int fCount;
m_objLive.FormatVideoGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, i, out vidProps, out name);
        comboBoxVF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_VID_PROPS _vidProps;
        m_objLive.FormatVideoGet(eMFormatType.eMFT_Input, out _vidProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxVF.SelectedIndex = nCurrent;
}

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatVideoGetByIndex Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatVideoGetByIndex Method
format type
index of a format
video properties
name of the format
Gets the video format by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatVideoGetByIndex( _
   ByVal _eFormatType As eMFormatType, _
   ByVal _nIndex As System.Integer, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pbsName As System.String _
)

void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   out M_VID_PROPS _pVidProps,
   out System.string _pbsName
)

void FormatVideoGetByIndex(
   eMFormatType _eFormatType,
   System.int _nIndex,
   [Out] M_VID_PROPS _pVidProps,
   [Out] System.String^ _pbsName
)

Parameters
_eFormatType

format type
_nIndex

index of a format
_pVidProps

video properties
_pbsName

name of the format

Example
Here is an example of how to fill a combobox with all available input video formats for a live source and select a current format:

  • C#

M_VID_PROPS vidProps;
int fCount;
m_objLive.FormatVideoGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, i, out vidProps, out name);
        comboBoxVF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_VID_PROPS _vidProps;
        m_objLive.FormatVideoGet(eMFormatType.eMFT_Input, out _vidProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxVF.SelectedIndex = nCurrent;
}

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatVideoGetCount Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatVideoGetCount Method
format type
number of available formats
Gets a number of available video formats of selected type.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatVideoGetCount( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pnCount As System.Integer _
)

void FormatVideoGetCount(
   eMFormatType _eFormatType,
   out System.int _pnCount
)

void FormatVideoGetCount(
   eMFormatType _eFormatType,
   [Out] System.int _pnCount
)

Parameters
_eFormatType

format type
_pnCount

number of available formats

Example
Here is an example of how to fill a combobox with all available input video formats for a live source and select a current format:

  • C#

M_VID_PROPS vidProps;
int fCount;
m_objLive.FormatVideoGetCount(eMFormatType.eMFT_Input, out fCount);
if (fCount > 0)
{
    for (int i = 0; i < fCount; i++)
    {
        string name;
        m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, i, out vidProps, out name);
        comboBoxVF.Items.Add(name);
    }
    // Get current format
    int nCurrent = 0;
    try
    {
        string strName;
        M_VID_PROPS _vidProps;
        m_objLive.FormatVideoGet(eMFormatType.eMFT_Input, out _vidProps, out nCurrent, out strName);
    }
    catch (System.Exception) { }
    // Select a current format
    comboBoxVF.SelectedIndex = nCurrent;
}

See Also
Reference
IMFFormat Interface

IMFFormat Members


FormatVideoSet Method (IMFFormat)

MFORMATSLib Namespace > IMFFormat Interface : FormatVideoSet Method
format type
video properties
Sets a video format
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FormatVideoSet( _
   ByVal _eFormatType As eMFormatType, _
   ByRef _pVidProps As M_VID_PROPS _
)

void FormatVideoSet(
   eMFormatType _eFormatType,
   ref M_VID_PROPS _pVidProps
)

void FormatVideoSet(
   eMFormatType _eFormatType,
   M_VID_PROPS% _pVidProps
)

Parameters
_eFormatType

format type
_pVidProps

video properties

Example
Here is example of how to set a video format for a live object:

  • C#

M_VID_PROPS vidProps;
string name;
m_objLive.FormatVideoGetByIndex(eMFormatType.eMFT_Input, comboBoxVF.SelectedIndex, out vidProps, out name);
m_objLive.FormatVideoSet(eMFormatType.eMFT_Input, vidProps);

See Also
Reference
IMFFormat Interface

IMFFormat Members


%%PageItemTitle%%

IMFFrame Interface
Members

MFORMATSLib Namespace : IMFFrame Interface
Operates a single frame
See Also

Reference

IMFFrame Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFFrame Interface Members
Methods

MFORMATSLib Namespace : IMFFrame Interface

The following tables list the members exposed by IMFFrame.

Public Methods
Name | Description
Method | MFAddToStream
Method | MFAllGet | Gets all frame's properties
Method | MFAudioAlloc | Allocates frame's audio data
Method MFAudioChannelGetBytes Gets audio channel's data pointer.
Warning: For 20, 24, 32 integer this method returns 32 bit float data. The changes are applied only after a call of MFAudioChannelsUpdate() method
Method | MFAudioChannelsUpdate | Update frame's audio channel's data or number of channels. Call this method after modification of memory that is returned by MFAudioChannelGetBytes() method.
Method | MFAudioCopyTo | Copies audio channels, the bits conversion can be also performed
Method MFAudioGain

Specify the audio gain for the frame.

The mothod accepts 2 parameters: start and end gain values. You can use them to increase the gain smoothly and avoid the audio artefacts appearance.

For example:

  • C#
// Rise the audio gain from -5 dB to -6 dB within this frame
pFrame.MFAudioGain("0", -5,-6);

You can also make a smooth gain change ramp within a certain period of time by making a cascade of gain changes from one frame to another.

Method | MFAudioGetBytes | Gets audio data pointer and data size
Method | MFAudioLoadFromFile | Loads audio data from a WAV file
Method | MFAudioMix | Mixes audio data
Method | MFAudioMixDirect | Directly mixes audio data (audio data of source frame and of the mixed frame should have equal frequency)
Method MFAudioSaveToFile Save audio to file (WAV format is used). If the file is exist and have WAV format then audio will be added to the end of the file.
Note: format is not checked.
Method | MFAudioSet | Sets frame's audio data
Method | MFAVPropsGet | Gets the audio and video properties of the frame
Method MFAVPropsSet Sets media properties for the frame.
Note that width, height, row-bytes can't be changed with this method. To change them you should convert a frame.
Method | MFClone | Gets a clone of the frame. See eMFrameClone for more information about clone types.
Method | MFConvert | Converts the frame's format (include frame rate conversion) or just scale the video frame.
Method | MFCut | Cuts out part of video frame without memory copy. nFeild <= 0->both, nField=1 -> first field, nField=2 -> second field
Method | MFDataGet | Gets ancillary data by four char code e.g. 'C608'.
Method | MFDataGetByIndex | Gets ancillary data by its index
Method | MFDataSet | Sets ancillary data by four char code e.g. 'C608'.
Method | MFFlagCheck | Checks a frame's flag
Method | MFGetProcessID | Gets frame's process ID
Method | MFLoad | Loads a full copy of all data (used internally for transfer data between process)
Method | MFLoadFromStream
Method | MFObjGet | Gets an attached object by its ID
Method | MFObjGetByIndex | Gets an attached object by its index.
Method | MFObjSet | Sets an attached object by its ID
Method | MFOverlay | Mixes frames: overlays _pFrameOverlay frame over this frame. By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' property.
Method | MFOverlayRect | Mixes frames - overlays _pFrameOverlay frame over this frame, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horizontal position is aligned by two (e.g. 21->20). By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' props.
Method | MFPrint | Prints text over the frame. More details are here.
Method | MFResize | Resizes the frame (just scale video frame).
Method | MFSave | Saves a full copy of all data (used internally for transfer data between process)
Method | MFSaveToStream
Method | MFStrGet | Gets a string by its ID
Method | MFStrGetByIndex | Gets a string by its index.
Method | MFStrSet | Sets a string by its ID.
Method | MFTimeGet | Gets a frame's time
Method | MFTimeSet | Sets a frame's time
Method | MFTransition | Makes a transition between frames
Method | MFVideoGetBytes | Gets frame's video data pointer
Method | MFVideoGetBytesEx
Method | MFVideoGetHbitmap | Gets a HBitmap for a frame
Method | MFVideoSaveToFile | Saves frame's video to a file. Supported formats are: PNG, JPG, BMP, TGA, TIFF
Method | MFWaitAsync | Waits until asynchronous procedure is finished
Top
See Also

Reference

IMFFrame Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFFrame Interface Methods

MFORMATSLib Namespace : IMFFrame Interface

For a list of all members of this type, see IMFFrame members.

Public Methods
Name | Description
Method | MFAddToStream
Method | MFAllGet | Gets all frame's properties
Method | MFAudioAlloc | Allocates frame's audio data
Method MFAudioChannelGetBytes Gets audio channel's data pointer.
Warning: For 20, 24, 32 integer this method returns 32 bit float data. The changes are applied only after a call of MFAudioChannelsUpdate() method
Method | MFAudioChannelsUpdate | Update frame's audio channel's data or number of channels. Call this method after modification of memory that is returned by MFAudioChannelGetBytes() method.
Method | MFAudioCopyTo | Copies audio channels, the bits conversion can be also performed
Method MFAudioGain

Specify the audio gain for the frame.

The mothod accepts 2 parameters: start and end gain values. You can use them to increase the gain smoothly and avoid the audio artefacts appearance.

For example:

  • C#
// Rise the audio gain from -5 dB to -6 dB within this frame
pFrame.MFAudioGain("0", -5,-6);

You can also make a smooth gain change ramp within a certain period of time by making a cascade of gain changes from one frame to another.

Method | MFAudioGetBytes | Gets audio data pointer and data size
Method | MFAudioLoadFromFile | Loads audio data from a WAV file
Method | MFAudioMix | Mixes audio data
Method | MFAudioMixDirect | Directly mixes audio data (audio data of source frame and of the mixed frame should have equal frequency)
Method MFAudioSaveToFile Save audio to file (WAV format is used). If the file is exist and have WAV format then audio will be added to the end of the file.
Note: format is not checked.
Method | MFAudioSet | Sets frame's audio data
Method | MFAVPropsGet | Gets the audio and video properties of the frame
Method MFAVPropsSet Sets media properties for the frame.
Note that width, height, row-bytes can't be changed with this method. To change them you should convert a frame.
Method | MFClone | Gets a clone of the frame. See eMFrameClone for more information about clone types.
Method | MFConvert | Converts the frame's format (include frame rate conversion) or just scale the video frame.
Method | MFCut | Cuts out part of video frame without memory copy. nFeild <= 0->both, nField=1 -> first field, nField=2 -> second field
Method | MFDataGet | Gets ancillary data by four char code e.g. 'C608'.
Method | MFDataGetByIndex | Gets ancillary data by its index
Method | MFDataSet | Sets ancillary data by four char code e.g. 'C608'.
Method | MFFlagCheck | Checks a frame's flag
Method | MFGetProcessID | Gets frame's process ID
Method | MFLoad | Loads a full copy of all data (used internally for transfer data between process)
Method | MFLoadFromStream
Method | MFObjGet | Gets an attached object by its ID
Method | MFObjGetByIndex | Gets an attached object by its index.
Method | MFObjSet | Sets an attached object by its ID
Method | MFOverlay | Mixes frames: overlays _pFrameOverlay frame over this frame. By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' property.
Method | MFOverlayRect | Mixes frames - overlays _pFrameOverlay frame over this frame, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horizontal position is aligned by two (e.g. 21->20). By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' props.
Method | MFPrint | Prints text over the frame. More details are here.
Method | MFResize | Resizes the frame (just scale video frame).
Method | MFSave | Saves a full copy of all data (used internally for transfer data between process)
Method | MFSaveToStream
Method | MFStrGet | Gets a string by its ID
Method | MFStrGetByIndex | Gets a string by its index.
Method | MFStrSet | Sets a string by its ID.
Method | MFTimeGet | Gets a frame's time
Method | MFTimeSet | Sets a frame's time
Method | MFTransition | Makes a transition between frames
Method | MFVideoGetBytes | Gets frame's video data pointer
Method | MFVideoGetBytesEx
Method | MFVideoGetHbitmap | Gets a HBitmap for a frame
Method | MFVideoSaveToFile | Saves frame's video to a file. Supported formats are: PNG, JPG, BMP, TGA, TIFF
Method | MFWaitAsync | Waits until asynchronous procedure is finished
Top
See Also

Reference

IMFFrame Interface
MFORMATSLib Namespace


MFAddToStream Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAddToStream Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAddToStream( _
   ByVal _pStream As IStream, _
   ByVal _eSaveType As eMFrameClone _
)

void MFAddToStream(
   IStream _pStream,
   eMFrameClone _eSaveType
)

void MFAddToStream(
   IStream^ _pStream,
   eMFrameClone _eSaveType
)

Parameters
_pStream

_eSaveType

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAllGet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAllGet Method
frame's properties
Gets all frame's properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAllGet( _
   ByRef _pFrameInfo As MF_FRAME_INFO _
)

void MFAllGet(
   out MF_FRAME_INFO _pFrameInfo
)

void MFAllGet(
   [Out] MF_FRAME_INFO _pFrameInfo
)

Parameters
_pFrameInfo

frame's properties

Example
Here is an example of how to get all the information from a frame:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
MF_FRAME_INFO frameInfo;
pFrame.MFAllGet(out frameInfo);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioAlloc Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioAlloc Method
frame's audio properties
number of audio samples
Allocates frame's audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioAlloc( _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _lSamples As System.Integer _
)

void MFAudioAlloc(
   ref M_AUD_PROPS _pAudProps,
   System.int _lSamples
)

void MFAudioAlloc(
   M_AUD_PROPS% _pAudProps,
   System.int _lSamples
)

Parameters
_pAudProps

frame's audio properties
_lSamples

number of audio samples

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioChannelGetBytes Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioChannelGetBytes Method
index of audio channel
indicates whether a new channel will be added ("1") or not ("0")
size of audio data
pointer to audio data
Gets audio channel's data pointer.
Warning: For 20, 24, 32 integer this method returns 32 bit float data. The changes are applied only after a call of MFAudioChannelsUpdate() method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioChannelGetBytes( _
   ByVal _nChannel As System.Integer, _
   ByVal _bCreateNewChannels As System.Integer, _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbAudio As System.Long _
)

void MFAudioChannelGetBytes(
   System.int _nChannel,
   System.int _bCreateNewChannels,
   out System.int _pcbSize,
   out System.long _ppbAudio
)

void MFAudioChannelGetBytes(
   System.int _nChannel,
   System.int _bCreateNewChannels,
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbAudio
)

Parameters
_nChannel

index of audio channel
_bCreateNewChannels

indicates whether a new channel will be added ("1") or not ("0")
_pcbSize

size of audio data
_ppbAudio

pointer to audio data

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioChannelsUpdate Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioChannelsUpdate Method
Update frame's audio channel's data or number of channels. Call this method after modification of memory that is returned by MFAudioChannelGetBytes() method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioChannelsUpdate()

void MFAudioChannelsUpdate()

void MFAudioChannelsUpdate();

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioCopyTo Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioCopyTo Method
string with channels, for example, "0,2,3"
a frame to which audio will be copied
Copies audio channels, the bits conversion can be also performed
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioCopyTo( _
   ByVal _bsChannelsList As System.String, _
   ByVal _pFrameTo As MFFrame _
)

void MFAudioCopyTo(
   System.string _bsChannelsList,
   MFFrame _pFrameTo
)

void MFAudioCopyTo(
   System.String^ _bsChannelsList,
   MFFrame^ _pFrameTo
)

Parameters
_bsChannelsList

string with channels, for example, "0,2,3"
_pFrameTo

a frame to which audio will be copied

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioGain Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioGain Method

The channel numbers to apply the gain. In case of empty string or null will apply the gain for all audio channels.

For example:

  • "" - set the gain for all channels.
  • "0" - set the gain for the first channel.
  • "0,2,3" - set the gain for the first, third and fourth channels.

Start gain value in dB.
end gain in dB

Specify the audio gain for the frame.

The mothod accepts 2 parameters: start and end gain values. You can use them to increase the gain smoothly and avoid the audio artefacts appearance.

For example:

  • C#
// Rise the audio gain from -5 dB to -6 dB within this frame
pFrame.MFAudioGain("0", -5,-6);

You can also make a smooth gain change ramp within a certain period of time by making a cascade of gain changes from one frame to another.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioGain( _
   ByVal _bsChannelsList As System.String, _
   ByVal _dblGainStartDb As System.Double, _
   ByVal _dblGainEndDb As System.Double _
)

void MFAudioGain(
   System.string _bsChannelsList,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb
)

void MFAudioGain(
   System.String^ _bsChannelsList,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb
)

Parameters
_bsChannelsList

The channel numbers to apply the gain. In case of empty string or null will apply the gain for all audio channels.

For example:

  • "" - set the gain for all channels.

  • "0" - set the gain for the first channel.

  • "0,2,3"  - set the gain for the first, third and fourth channels.

_dblGainStartDb

Start gain value in dB.
_dblGainEndDb

end gain in dB

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioGetBytes Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioGetBytes Method
size of audio data
pointer to audio data
Gets audio data pointer and data size
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioGetBytes( _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbAudio As System.Long _
)

void MFAudioGetBytes(
   out System.int _pcbSize,
   out System.long _ppbAudio
)

void MFAudioGetBytes(
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbAudio
)

Parameters
_pcbSize

size of audio data
_ppbAudio

pointer to audio data

Example
Here is an example of how to get a frame and get audio data's size and pointer:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
int audioSize;
long audioPointer;
pFrame.MFAudioGetBytes(out videoSize, out videoPointer);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioLoadFromFile Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioLoadFromFile Method
path to WAV file
samples' offset
Loads audio data from a WAV file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioLoadFromFile( _
   ByVal _bsFileName As System.String, _
   ByVal _llSamplesOffset As System.Long, _
   ByVal _lSamplesLoad As System.Integer _
)

void MFAudioLoadFromFile(
   System.string _bsFileName,
   System.long _llSamplesOffset,
   System.int _lSamplesLoad
)

void MFAudioLoadFromFile(
   System.String^ _bsFileName,
   System.int64 _llSamplesOffset,
   System.int _lSamplesLoad
)

Parameters
_bsFileName

path to WAV file
_llSamplesOffset

samples' offset
_lSamplesLoad

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioMix Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioMix Method
a frame for mixing audio
start gain in dB
end gain in dB
indicates whether symmetric gain will be used for both audio data ("1") or not ("0")
ID of audio buffer
Mixes audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioMix( _
   ByVal _pFrameMixFrom As MFFrame, _
   ByVal _dblGainStartDb As System.Double, _
   ByVal _dblGainEndDb As System.Double, _
   ByVal _bSymmetricGain As System.Integer, _
   ByVal _bsAudioBufferID As System.String _
)

void MFAudioMix(
   MFFrame _pFrameMixFrom,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain,
   System.string _bsAudioBufferID
)

void MFAudioMix(
   MFFrame^ _pFrameMixFrom,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain,
   System.String^ _bsAudioBufferID
)

Parameters
_pFrameMixFrom

a frame for mixing audio
_dblGainStartDb

start gain in dB
_dblGainEndDb

end gain in dB
_bSymmetricGain

indicates whether symmetric gain will be used for both audio data ("1") or not ("0")
_bsAudioBufferID

ID of audio buffer

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioMixDirect Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioMixDirect Method
audio offset for source
a frame from which the mix will be implemented
audio offset for a mix
maximal number of audio samples for a mix
start gain in dB
end gain in dB
indicates whether symmetric gain will be used for both audio data ("1") or not ("0")
Directly mixes audio data (audio data of source frame and of the mixed frame should have equal frequency)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioMixDirect( _
   ByRef _plAudioOffsetSrc As System.Integer, _
   ByVal _pFrameMixFrom As MFFrame, _
   ByRef _plAudioOffsetMix As System.Integer, _
   ByVal _lSamplesMixMax As System.Integer, _
   ByVal _dblGainStartDb As System.Double, _
   ByVal _dblGainEndDb As System.Double, _
   ByVal _bSymmetricGain As System.Integer _
)

void MFAudioMixDirect(
   out System.int _plAudioOffsetSrc,
   MFFrame _pFrameMixFrom,
   out System.int _plAudioOffsetMix,
   System.int _lSamplesMixMax,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain
)

void MFAudioMixDirect(
   [Out] System.int _plAudioOffsetSrc,
   MFFrame^ _pFrameMixFrom,
   [Out] System.int _plAudioOffsetMix,
   System.int _lSamplesMixMax,
   System.double _dblGainStartDb,
   System.double _dblGainEndDb,
   System.int _bSymmetricGain
)

Parameters
_plAudioOffsetSrc

audio offset for source
_pFrameMixFrom

a frame from which the mix will be implemented
_plAudioOffsetMix

audio offset for a  mix
_lSamplesMixMax

maximal number of audio samples for a mix
_dblGainStartDb

start gain in dB
_dblGainEndDb

end gain in dB
_bSymmetricGain

indicates whether symmetric gain will be used for both audio data ("1") or not ("0")

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioSaveToFile Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioSaveToFile Method
path to a file to which audio will be saved
indicates will be the audio appended to the existed file ("1") or the file will be overwritten ("0")
Save audio to file (WAV format is used). If the file is exist and have WAV format then audio will be added to the end of the file.
Note: format is not checked.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioSaveToFile( _
   ByVal _bsFileName As System.String, _
   ByVal _bAppend As System.Integer _
)

void MFAudioSaveToFile(
   System.string _bsFileName,
   System.int _bAppend
)

void MFAudioSaveToFile(
   System.String^ _bsFileName,
   System.int _bAppend
)

Parameters
_bsFileName

path to a file to which audio will be saved
_bAppend

indicates will be the audio appended to the existed file ("1") or the file will be overwritten ("0")

Example
Here is an example of how to get a frame and save its audio into a file:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
pFrame.MFAudioSaveToFile(@"c:\test.wav");

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAudioSet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAudioSet Method
frame's audio properties
size of audio data
pointer to audio data
Sets frame's audio data
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAudioSet( _
   ByRef _pAudProps As M_AUD_PROPS, _
   ByVal _cbSize As System.Integer, _
   ByVal _pbAudio As System.Long _
)

void MFAudioSet(
   ref M_AUD_PROPS _pAudProps,
   System.int _cbSize,
   System.long _pbAudio
)

void MFAudioSet(
   M_AUD_PROPS% _pAudProps,
   System.int _cbSize,
   System.int64 _pbAudio
)

Parameters
_pAudProps

frame's audio properties
_cbSize

size of audio data
_pbAudio

pointer to audio data

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAVPropsGet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAVPropsGet Method
The structure containing the audio and video properties.
Number of audio samples in this frame.
Gets the audio and video properties of the frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAVPropsGet( _
   ByRef _pProps As M_AV_PROPS, _
   ByRef _plAudioSamples As System.Integer _
)

void MFAVPropsGet(
   out M_AV_PROPS _pProps,
   out System.int _plAudioSamples
)

void MFAVPropsGet(
   [Out] M_AV_PROPS _pProps,
   [Out] System.int _plAudioSamples
)

Parameters
_pProps

The structure containing the audio and video properties.
_plAudioSamples

Number of audio samples in this frame.

Example
Here is an example of how to get media properties of a frame:

  • C#

MFFrame pFrame;
m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
M_AV_PROPS props;
int audioSamples;
pFrame.MFAVPropsGet(out props, out audioSamples);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFAVPropsSet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFAVPropsSet Method
media properties

String containing the channels' and tracks separation map. Use this parameter to remap the original channels into desired one. Use comma "," to separate channels and vertical line "|" to separate the tracks.

For example for the frame containig 4 original channels (0, 1, 2, 3):

"1,0,3,2" - change the order of original audio channels

"0,1|2,3" - separate the audio channels into 2 stereo tracks

"0,0|1,1" - make 2 tracks by duplicating the 0 and 1 channels

Sets media properties for the frame.
Note that width, height, row-bytes can't be changed with this method. To change them you should convert a frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFAVPropsSet( _
   ByRef _pProps As M_AV_PROPS, _
   ByVal _bsChannelsRemap As System.String _
)

void MFAVPropsSet(
   ref M_AV_PROPS _pProps,
   System.string _bsChannelsRemap
)

void MFAVPropsSet(
   M_AV_PROPS% _pProps,
   System.String^ _bsChannelsRemap
)

Parameters
_pProps

media properties
_bsChannelsRemap

String containing the channels' and tracks separation map. Use this parameter to remap the original channels into desired one. Use comma "," to separate channels and vertical line "|" to separate the tracks.

For example for the frame containig 4 original channels (0, 1, 2, 3):

 "1,0,3,2" - change the order of original audio channels

"0,1|2,3" - separate the audio channels into 2 stereo tracks

"0,0|1,1" - make 2 tracks by duplicating the 0 and 1 channels

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFClone Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFClone Method
result (cloned) frame
clone's type
pixel's format
Gets a clone of the frame. See eMFrameClone for more information about clone types.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFClone( _
   ByRef _ppCloneFrame As MFFrame, _
   ByVal _eCloneType As eMFrameClone, _
   ByVal _fccPixelFormat As eMFCC _
)

void MFClone(
   out MFFrame _ppCloneFrame,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

void MFClone(
   [Out] MFFrame^ _ppCloneFrame,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

Parameters
_ppCloneFrame

result (cloned) frame
_eCloneType

clone's type
_fccPixelFormat

pixel's format

Example
Here is an example of how to make a full clone of a frame:

  • C#

MFFrame pFrame;
m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
MFFrame clonedFrame;
pFrame.MFClone(out clonedFrame, eMFrameClone.eMFC_Full, eMFCC.eMFCC_Default);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFConvert Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFConvert Method
required media properties
result frame (converted)
frame rest
additional parameters
ID of a converter
Converts the frame's format (include frame rate conversion) or just scale the video frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFConvert( _
   ByRef _pPropsDest As M_AV_PROPS, _
   ByRef _ppFrameRes As MFFrame, _
   ByRef _pnFrameRest As System.Integer, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsConverterID As System.String _
)

void MFConvert(
   ref M_AV_PROPS _pPropsDest,
   out MFFrame _ppFrameRes,
   out System.int _pnFrameRest,
   System.string _bsPropsList,
   System.string _bsConverterID
)

void MFConvert(
   M_AV_PROPS% _pPropsDest,
   [Out] MFFrame^ _ppFrameRes,
   [Out] System.int _pnFrameRest,
   System.String^ _bsPropsList,
   System.String^ _bsConverterID
)

Parameters
_pPropsDest

required media properties
_ppFrameRes

result frame (converted)
_pnFrameRest

frame rest
_bsPropsList

additional parameters
_bsConverterID

ID of a converter

Example
Here is example of how to convert a frame:

  • C#

MFFrame pFrame;
m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
M_AV_PROPS props = new M_AV_PROPS();
props.vidProps.eInterlace = eMInterlace.eMI_Field1First; // you can set any fields that you need
MFFrame convertedFrame;
int rest;
pFrame.MFConvert(ref props, out convertedFrame, out rest, "", "");

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFCut Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFCut Method
number of a field to cut (0 means both fields, 1 means the first field, 2 means the second one)
rectangle for cutting
result frame object
Cuts out part of video frame without memory copy. nFeild <= 0->both, nField=1 -> first field, nField=2 -> second field
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFCut( _
   ByVal _nField As System.Integer, _
   ByRef _pRect As tagRECT, _
   ByRef _ppFrameRes As MFFrame _
)

void MFCut(
   System.int _nField,
   ref tagRECT _pRect,
   out MFFrame _ppFrameRes
)

void MFCut(
   System.int _nField,
   tagRECT% _pRect,
   [Out] MFFrame^ _ppFrameRes
)

Parameters
_nField

number of a field to cut (0 means both fields, 1 means the first field, 2 means the second one)
_pRect

rectangle for cutting
_ppFrameRes

result frame object

Example
Here is example of how to cut a part of a source frame and save it into file:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{
}
tagRECT rect = new tagRECT {bottom = 200, left = 150, right = 250, top = 100};
MFFrame cutFrame;
pFrame.MFCut(0, ref rect, out cutFrame);
cutFrame.MFVideoSaveToFile(@"c:\cutTest.png");

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFDataGet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFDataGet Method
four char code
ancillary data's size
ancillary data's pointer
Gets ancillary data by four char code e.g. 'C608'.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFDataGet( _
   ByVal _bsDataID As System.String, _
   ByRef _pcbANCData As System.Integer, _
   ByRef _ppbANCData As System.Long _
)

void MFDataGet(
   System.string _bsDataID,
   out System.int _pcbANCData,
   out System.long _ppbANCData
)

void MFDataGet(
   System.String^ _bsDataID,
   [Out] System.int _pcbANCData,
   [Out] System.int64 _ppbANCData
)

Parameters
_bsDataID

four char code
_pcbANCData

ancillary data's size
_ppbANCData

ancillary data's pointer

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFDataGetByIndex Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFDataGetByIndex Method
index of ancillary data
data ID
ancillary data's size
ancillary data's pointer
Gets ancillary data by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFDataGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsDataID As System.String, _
   ByRef _pcbANCData As System.Integer, _
   ByRef _ppbANCData As System.Long _
)

void MFDataGetByIndex(
   System.int _nIndex,
   out System.string _pbsDataID,
   out System.int _pcbANCData,
   out System.long _ppbANCData
)

void MFDataGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsDataID,
   [Out] System.int _pcbANCData,
   [Out] System.int64 _ppbANCData
)

Parameters
_nIndex

index of ancillary data
_pbsDataID

data ID
_pcbANCData

ancillary data's size
_ppbANCData

ancillary data's pointer

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFDataSet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFDataSet Method
four char code
ancillary data's size
ancillary data's pointer
Sets ancillary data by four char code e.g. 'C608'.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFDataSet( _
   ByVal _bsDataID As System.String, _
   ByVal _cbANCData As System.Integer, _
   ByVal _pbANCData As System.Long _
)

void MFDataSet(
   System.string _bsDataID,
   System.int _cbANCData,
   System.long _pbANCData
)

void MFDataSet(
   System.String^ _bsDataID,
   System.int _cbANCData,
   System.int64 _pbANCData
)

Parameters
_bsDataID

four char code
_cbANCData

ancillary data's size
_pbANCData

ancillary data's pointer

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFFlagCheck Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFFlagCheck Method
frame's flag to be checked
result value (0 means false, other values mean true)
Checks a frame's flag
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFFlagCheck( _
   ByVal _eFlagCheck As eMFrameFlags, _
   ByRef _pnRes As System.Integer _
)

void MFFlagCheck(
   eMFrameFlags _eFlagCheck,
   out System.int _pnRes
)

void MFFlagCheck(
   eMFrameFlags _eFlagCheck,
   [Out] System.int _pnRes
)

Parameters
_eFlagCheck

frame's flag to be checked
_pnRes

result value (0 means false, other values mean true)

Example
Here is an example of how to check flag for a frame:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{}
int flagCheck;
pFrame.MFFlagCheck(eMFrameFlags.eMFF_Break, out flagCheck);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFGetProcessID Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFGetProcessID Method
process ID
Gets frame's process ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFGetProcessID( _
   ByRef _pdwProcessID As System.UInteger _
)

void MFGetProcessID(
   out System.uint _pdwProcessID
)

void MFGetProcessID(
   [Out] System.uint _pdwProcessID
)

Parameters
_pdwProcessID

process ID

Example
Here is an example of how to get process ID that is used for decoding the frame:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{
}
uint processID;
pFrame.MFGetProcessID(out processID);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFLoad Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFLoad Method
size of a frame's data
pointer to frame's data
clone's type
Loads a full copy of all data (used internally for transfer data between process)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFLoad( _
   ByVal _cbData As System.UInteger, _
   ByRef _pbData As System.Byte, _
   ByVal _eLoadType As eMFrameClone _
)

void MFLoad(
   System.uint _cbData,
   ref System.byte _pbData,
   eMFrameClone _eLoadType
)

void MFLoad(
   System.uint _cbData,
   System.byte% _pbData,
   eMFrameClone _eLoadType
)

Parameters
_cbData

size of a frame's data
_pbData

pointer to frame's data
_eLoadType

clone's type

Example
Here is example of how to use a frame that was saved by one process in another process (see MFSave method):

  • C#

byte byteData = 0;
MFFrame loadFrame = new MFFrameClass();
loadFrame.MFLoad(data, ref byteData, eMFrameClone.eMFC_Full);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFLoadFromStream Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFLoadFromStream Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFLoadFromStream( _
   ByVal _pStream As IStream, _
   ByVal _eLoadType As eMFrameClone _
)

void MFLoadFromStream(
   IStream _pStream,
   eMFrameClone _eLoadType
)

void MFLoadFromStream(
   IStream^ _pStream,
   eMFrameClone _eLoadType
)

Parameters
_pStream

_eLoadType

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFObjGet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFObjGet Method
object's ID
attached object
indicates whether a frame will be made local ("1") or not ("0")
Gets an attached object by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFObjGet( _
   ByVal _bsObjID As System.String, _
   ByRef _ppObj As System.Object, _
   ByVal _bMakeFrameLocal As System.Integer _
)

void MFObjGet(
   System.string _bsObjID,
   out System.object _ppObj,
   System.int _bMakeFrameLocal
)

void MFObjGet(
   System.String^ _bsObjID,
   [Out] System.Object^ _ppObj,
   System.int _bMakeFrameLocal
)

Parameters
_bsObjID

object's ID
_ppObj

attached object
_bMakeFrameLocal

indicates whether a frame will be made local ("1") or not ("0")

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFObjGetByIndex Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFObjGetByIndex Method
object's index
object's ID
attached object
indicates whether a frame will be made local ("1") or not ("0")
Gets an attached object by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFObjGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsObjID As System.String, _
   ByRef _ppObj As System.Object, _
   ByVal _bMakeFrameLocal As System.Integer _
)

void MFObjGetByIndex(
   System.int _nIndex,
   out System.string _pbsObjID,
   out System.object _ppObj,
   System.int _bMakeFrameLocal
)

void MFObjGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsObjID,
   [Out] System.Object^ _ppObj,
   System.int _bMakeFrameLocal
)

Parameters
_nIndex

object's index
_pbsObjID

object's ID
_ppObj

attached object
_bMakeFrameLocal

indicates whether a frame will be made local ("1") or not ("0")

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFObjSet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFObjSet Method
object's ID
attached object
Sets an attached object by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFObjSet( _
   ByVal _bsObjID As System.String, _
   ByVal _pObj As System.Object _
)

void MFObjSet(
   System.string _bsObjID,
   System.object _pObj
)

void MFObjSet(
   System.String^ _bsObjID,
   System.Object^ _pObj
)

Parameters
_bsObjID

object's ID
_pObj

attached object

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFOverlay Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFOverlay Method
frame that is used for overlay
horizontal position of overlay
vertical position. The position is calculated from top-left corner
transparency (0 means transparent, 1.0 means solid)
additional properties
ID of audio buffer
Mixes frames: overlays _pFrameOverlay frame over this frame. By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFOverlay( _
   ByVal _pFrameOverlay As MFFrame, _
   ByVal _pFrameMask As MFFrame, _
   ByVal _nPosX As System.Integer, _
   ByVal _nPosY As System.Integer, _
   ByVal _dblAlpha As System.Double, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsAudioBufferID As System.String _
)

void MFOverlay(
   MFFrame _pFrameOverlay,
   MFFrame _pFrameMask,
   System.int _nPosX,
   System.int _nPosY,
   System.double _dblAlpha,
   System.string _bsPropsList,
   System.string _bsAudioBufferID
)

void MFOverlay(
   MFFrame^ _pFrameOverlay,
   MFFrame^ _pFrameMask,
   System.int _nPosX,
   System.int _nPosY,
   System.double _dblAlpha,
   System.String^ _bsPropsList,
   System.String^ _bsAudioBufferID
)

Parameters
_pFrameOverlay

frame that is used for overlay
_pFrameMask

_nPosX

horizontal position of overlay
_nPosY

vertical position. The position is calculated from top-left corner
_dblAlpha

transparency (0 means transparent, 1.0 means solid)
_bsPropsList

additional properties
_bsAudioBufferID

ID of audio buffer

Example
Here is an example of how to make an overlay from "Live input with file mixing sample":

  • C#

/// <summary>
/// make overlay on the frame
/// </summary>
/// <param name="pFrame">frame to be overlayed</param>
private void FrameOverlay(MFFrame pFrame)
{
    if (checkBox1.Checked && textBoxFilePath2.Text != "")
    {
        MFFrame ppFrame2scaled, ppFrame2;
        m_objReader.SourceFrameGetByTime(-1, -1, out ppFrame2, "");
        ppFrame2.MFResize(eMFCC.eMFCC_Default, widthScale, heightScale, -1, out ppFrame2scaled, "", "ch2");
        pFrame.MFOverlay(ppFrame2scaled, null, posXScale, posYScale, ovAlpha, "", "ch2");
        Marshal.ReleaseComObject(ppFrame2);
        Marshal.ReleaseComObject(ppFrame2scaled);
    }
}

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFOverlayRect Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFOverlayRect Method
frame for overlay
frame mask
rectangle for overlay
overlay flags
transparency: 0.0 - transparent (no mix), 1.0 - solid.
additional properties (for example, audio_gain)
audio buffer's ID
Mixes frames - overlays _pFrameOverlay frame over this frame, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horizontal position is aligned by two (e.g. 21->20). By default audio gain is calculated based on overlay size and transparency or can be specified via 'audio_gain' props.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFOverlayRect( _
   ByVal _pFrameOverlay As MFFrame, _
   ByVal _pFrameMask As MFFrame, _
   ByRef _pRect As MF_RECT, _
   ByVal _eMFOverlayFlags As eMFOverlayFlags, _
   ByVal _dblAlpha As System.Double, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsAudioBufferID As System.String _
)

void MFOverlayRect(
   MFFrame _pFrameOverlay,
   MFFrame _pFrameMask,
   ref MF_RECT _pRect,
   eMFOverlayFlags _eMFOverlayFlags,
   System.double _dblAlpha,
   System.string _bsPropsList,
   System.string _bsAudioBufferID
)

void MFOverlayRect(
   MFFrame^ _pFrameOverlay,
   MFFrame^ _pFrameMask,
   MF_RECT% _pRect,
   eMFOverlayFlags _eMFOverlayFlags,
   System.double _dblAlpha,
   System.String^ _bsPropsList,
   System.String^ _bsAudioBufferID
)

Parameters
_pFrameOverlay

frame for overlay
_pFrameMask

frame mask
_pRect

rectangle for overlay
_eMFOverlayFlags

overlay flags
_dblAlpha

transparency: 0.0 - transparent (no mix), 1.0 - solid.
_bsPropsList

additional properties (for example, audio_gain)
_bsAudioBufferID

audio buffer's ID

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFPrint Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFPrint Method
text for overlay
text's size
rectangle for overlay
text flags
additional parameters
Prints text over the frame. More details are here.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFPrint( _
   ByVal _bsText As System.String, _
   ByVal _dblTextSize As System.Double, _
   ByRef _pRect As MF_RECT, _
   ByVal _eMFTextFlags As eMFTextFlags, _
   ByVal _bsExtraParam As System.String _
)

void MFPrint(
   System.string _bsText,
   System.double _dblTextSize,
   ref MF_RECT _pRect,
   eMFTextFlags _eMFTextFlags,
   System.string _bsExtraParam
)

void MFPrint(
   System.String^ _bsText,
   System.double _dblTextSize,
   MF_RECT% _pRect,
   eMFTextFlags _eMFTextFlags,
   System.String^ _bsExtraParam
)

Parameters
_bsText

text for overlay
_dblTextSize

text's size
_pRect

rectangle for overlay
_eMFTextFlags

text flags
_bsExtraParam

additional parameters

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFResize Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFResize Method
FCC for output frame
width
height
a number of field to be scaled (0 means both fields, 1 means the first field, 2 means the second one)
result frame
additional properties
converter's ID
Resizes the frame (just scale video frame).
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFResize( _
   ByVal _fccOutput As eMFCC, _
   ByVal _nWidth As System.Integer, _
   ByVal _nHeight As System.Integer, _
   ByVal _nResizeField As System.Integer, _
   ByRef _ppFrameRes As MFFrame, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsConverterID As System.String _
)

void MFResize(
   eMFCC _fccOutput,
   System.int _nWidth,
   System.int _nHeight,
   System.int _nResizeField,
   out MFFrame _ppFrameRes,
   System.string _bsPropsList,
   System.string _bsConverterID
)

void MFResize(
   eMFCC _fccOutput,
   System.int _nWidth,
   System.int _nHeight,
   System.int _nResizeField,
   [Out] MFFrame^ _ppFrameRes,
   System.String^ _bsPropsList,
   System.String^ _bsConverterID
)

Parameters
_fccOutput

FCC for output frame
_nWidth

width
_nHeight

height
_nResizeField

a number of field to be scaled (0 means both fields, 1 means the first field, 2 means the second one)
_ppFrameRes

result frame
_bsPropsList

additional properties
_bsConverterID

converter's ID

Example
Here is an example of how to get a frame from a source, resize it and save it into a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview
MFFrame resizedFrame;
pFrame.MFResize(eMFCC.eMFCC_Default, 1000, 700, 0, out resizedFrame, "", "");
resizedFrame.MFVideoSaveToFile(@"c:\resizedTest.png");

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFSave Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFSave Method
size of a frame's data
pointer to frame's data
clone's type
Saves a full copy of all data (used internally for transfer data between process)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFSave( _
   ByRef _pcbData As System.UInteger, _
   ByVal _ppData As System.IntPtr, _
   ByVal _eSaveType As eMFrameClone _
)

void MFSave(
   out System.uint _pcbData,
   out System.IntPtr _ppData,
   eMFrameClone _eSaveType
)

void MFSave(
   [Out] System.uint _pcbData,
   [Out] System.IntPtr _ppData,
   eMFrameClone _eSaveType
)

Parameters
_pcbData

size of a frame's data
_ppData

pointer to frame's data
_eSaveType

clone's type

Example
Here is example of how to save a frame to use it in another process:

  • C#

MFFrame pFrame = null;
try
{
    m_objLive.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
}
catch
{
}
uint data;
int size;
long pointer;
pFrame.MFVideoGetBytes(out size, out pointer);
IntPtr dataPointer = (IntPtr) pointer;
pFrame.MFSave(out data, dataPointer, eMFrameClone.eMFC_Full);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFSaveToStream Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFSaveToStream Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFSaveToStream( _
   ByRef _ppStream As IStream, _
   ByVal _eSaveType As eMFrameClone _
)

void MFSaveToStream(
   out IStream _ppStream,
   eMFrameClone _eSaveType
)

void MFSaveToStream(
   [Out] IStream^ _ppStream,
   eMFrameClone _eSaveType
)

Parameters
_ppStream

_eSaveType

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFStrGet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFStrGet Method
string's ID
string's content
Gets a string by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFStrGet( _
   ByVal _bsStrID As System.String, _
   ByRef _pbsString As System.String _
)

void MFStrGet(
   System.string _bsStrID,
   out System.string _pbsString
)

void MFStrGet(
   System.String^ _bsStrID,
   [Out] System.String^ _pbsString
)

Parameters
_bsStrID

string's ID
_pbsString

string's content

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFStrGetByIndex Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFStrGetByIndex Method
string's index
string's ID
string content
Gets a string by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFStrGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsStrID As System.String, _
   ByRef _pbsString As System.String _
)

void MFStrGetByIndex(
   System.int _nIndex,
   out System.string _pbsStrID,
   out System.string _pbsString
)

void MFStrGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsStrID,
   [Out] System.String^ _pbsString
)

Parameters
_nIndex

string's index
_pbsStrID

string's ID
_pbsString

string content

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFStrSet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFStrSet Method
string's ID
string's content
Sets a string by its ID.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFStrSet( _
   ByVal _bsStrID As System.String, _
   ByVal _bsString As System.String _
)

void MFStrSet(
   System.string _bsStrID,
   System.string _bsString
)

void MFStrSet(
   System.String^ _bsStrID,
   System.String^ _bsString
)

Parameters
_bsStrID

string's ID
_bsString

string's content

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFTimeGet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFTimeGet Method
frame's time
Gets a frame's time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFTimeGet( _
   ByRef _pTime As M_TIME _
)

void MFTimeGet(
   out M_TIME _pTime
)

void MFTimeGet(
   [Out] M_TIME _pTime
)

Parameters
_pTime

frame's time

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFTimeSet Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFTimeSet Method
frame's time
Sets a frame's time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFTimeSet( _
   ByRef _pTime As M_TIME _
)

void MFTimeSet(
   ref M_TIME _pTime
)

void MFTimeSet(
   M_TIME% _pTime
)

Parameters
_pTime

frame's time

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFTransition Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFTransition Method
a frame from the transition is used
result frame
position of a transition
transition type
additional properties
converter's ID
Makes a transition between frames
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFTransition( _
   ByVal _pFrameFrom As MFFrame, _
   ByRef _ppFrameRes As MFFrame, _
   ByVal _dblPos As System.Double, _
   ByVal _bsTransition As System.String, _
   ByVal _bsPropsList As System.String, _
   ByVal _bsConverterID As System.String _
)

void MFTransition(
   MFFrame _pFrameFrom,
   out MFFrame _ppFrameRes,
   System.double _dblPos,
   System.string _bsTransition,
   System.string _bsPropsList,
   System.string _bsConverterID
)

void MFTransition(
   MFFrame^ _pFrameFrom,
   [Out] MFFrame^ _ppFrameRes,
   System.double _dblPos,
   System.String^ _bsTransition,
   System.String^ _bsPropsList,
   System.String^ _bsConverterID
)

Parameters
_pFrameFrom

a frame from the transition is used
_ppFrameRes

result frame
_dblPos

position of a transition
_bsTransition

transition type
_bsPropsList

additional properties
_bsConverterID

converter's ID

Example
Here is a example of how to use a transition from File transition sample:

  • C#

/// <summary>
/// Make a transition between frames
/// </summary>
/// <param name="pFrameTo">frame to which transition is implemented</param>
/// <param name="pFrameFrom">frame from which transition is implemented</param>
/// <param name="_dblPos">transition's position</param>
/// <param name="_strConverterID">converter's ID</param>
private void FrameTransition(ref MFFrame pFrameTo, MFFrame pFrameFrom, double _dblPos, string _strConverterID)
{
    MFFrame pFrameRes = null;
    pFrameTo.MFTransition(pFrameFrom, out pFrameRes, _dblPos, "fade", "", _strConverterID);
    if (pFrameRes != null)
    {
        Marshal.ReleaseComObject(pFrameTo);
        pFrameTo = pFrameRes;
    }
}

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFVideoGetBytes Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFVideoGetBytes Method
size of video data
pointer to a video data
Gets frame's video data pointer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFVideoGetBytes( _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbVideo As System.Long _
)

void MFVideoGetBytes(
   out System.int _pcbSize,
   out System.long _ppbVideo
)

void MFVideoGetBytes(
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbVideo
)

Parameters
_pcbSize

size of video data
_ppbVideo

pointer to a video data

Example
Here is an example of how to get a frame and get video data's size and pointer:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
int videoSize;
long videoPointer;
pFrame.MFVideoGetBytes(out videoSize, out videoPointer);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFVideoGetBytesEx Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFVideoGetBytesEx Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFVideoGetBytesEx( _
   ByRef _pVideoPtr As MF_VID_PTR _
)

void MFVideoGetBytesEx(
   out MF_VID_PTR _pVideoPtr
)

void MFVideoGetBytesEx(
   [Out] MF_VID_PTR _pVideoPtr
)

Parameters
_pVideoPtr

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFVideoGetHbitmap Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFVideoGetHbitmap Method
Gets a HBitmap for a frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFVideoGetHbitmap( _
   ByRef _pllHBitmap As System.Long _
)

void MFVideoGetHbitmap(
   out System.long _pllHBitmap
)

void MFVideoGetHbitmap(
   [Out] System.int64 _pllHBitmap
)

Parameters
_pllHBitmap

Example
Here is an example of how to get a frame and get a HBitmap of frame's video:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
int h_bitmap;
pFrame.MFVideoGetHbitmap(out h_bitmap);

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFVideoSaveToFile Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFVideoSaveToFile Method
path to a file to save
Saves frame's video to a file. Supported formats are: PNG, JPG, BMP, TGA, TIFF
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFVideoSaveToFile( _
   ByVal _bsFileName As System.String _
)

void MFVideoSaveToFile(
   System.string _bsFileName
)

void MFVideoSaveToFile(
   System.String^ _bsFileName
)

Parameters
_bsFileName

path to a file to save

Example
Here is an example of how to get a frame and save its video into a file:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
pFrame.MFVideoSaveToFile(@"c:\test.png");

See Also
Reference
IMFFrame Interface

IMFFrame Members


MFWaitAsync Method (IMFFrame)

MFORMATSLib Namespace > IMFFrame Interface : MFWaitAsync Method
Waits until asynchronous procedure is finished
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub MFWaitAsync()

void MFWaitAsync()

void MFWaitAsync();

See Also
Reference
IMFFrame Interface

IMFFrame Members


%%PageItemTitle%%

IMFProcess Interface
Members

MFORMATSLib Namespace : IMFProcess Interface
Operates frame processing
See Also

Reference

IMFProcess Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFProcess Interface Members
Methods

MFORMATSLib Namespace : IMFProcess Interface

The following tables list the members exposed by IMFProcess.

Public Methods
 | Name | Description
Method | ProcessFrame | Process frame
Top
See Also

Reference

IMFProcess Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFProcess Interface Methods

MFORMATSLib Namespace : IMFProcess Interface

For a list of all members of this type, see IMFProcess members.

Public Methods
 | Name | Description
Method | ProcessFrame | Process frame
Top
See Also

Reference

IMFProcess Interface
MFORMATSLib Namespace


ProcessFrame Method (IMFProcess)

MFORMATSLib Namespace > IMFProcess Interface : ProcessFrame Method
input frame
output frame
number of rest frames
additional properties
Process frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ProcessFrame( _
   ByVal _pFrameIn As MFFrame, _
   ByRef _ppFrameOut As MFFrame, _
   ByRef _pnFramesRest As System.Integer, _
   ByVal _bsPropsList As System.String _
)

void ProcessFrame(
   MFFrame _pFrameIn,
   out MFFrame _ppFrameOut,
   out System.int _pnFramesRest,
   System.string _bsPropsList
)

void ProcessFrame(
   MFFrame^ _pFrameIn,
   [Out] MFFrame^ _ppFrameOut,
   [Out] System.int _pnFramesRest,
   System.String^ _bsPropsList
)

Parameters
_pFrameIn

input frame
_ppFrameOut

output frame
_pnFramesRest

number of rest frames
_bsPropsList

additional properties

See Also
Reference
IMFProcess Interface

IMFProcess Members


%%PageItemTitle%%

IMFProps Interface
Members

MFORMATSLib Namespace : IMFProps Interface
Operates objects' properties
See Also

Reference

IMFProps Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFProps Interface Members
Methods

MFORMATSLib Namespace : IMFProps Interface

The following tables list the members exposed by IMFProps.

Public Methods
 | Name | Description
Method | PropsGet | Gets object's property.
Method | PropsGetByIndex | Gets a property's name and value by property's index.
Method | PropsGetCount | Gets count of properties in a selected node
Method | PropsInfoGet | Gets information of required type about a selected property
Method | PropsOptionGet | Gets property option
Method | PropsOptionGetByIndex | Gets an option for a property
Method | PropsOptionGetCount | Gets a number of available option for a selected property
Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Method | PropsRemove | Removes a selected property
Method | PropsSet | Sets a current property's value
Top
See Also

Reference

IMFProps Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFProps Interface Methods

MFORMATSLib Namespace : IMFProps Interface

For a list of all members of this type, see IMFProps members.

Public Methods
 | Name | Description
Method | PropsGet | Gets object's property.
Method | PropsGetByIndex | Gets a property's name and value by property's index.
Method | PropsGetCount | Gets count of properties in a selected node
Method | PropsInfoGet | Gets information of required type about a selected property
Method | PropsOptionGet | Gets property option
Method | PropsOptionGetByIndex | Gets an option for a property
Method | PropsOptionGetCount | Gets a number of available option for a selected property
Method | PropsOptionSetByIndex | Sets a property's option by the option's index
Method | PropsRemove | Removes a selected property
Method | PropsSet | Sets a current property's value
Top
See Also

Reference

IMFProps Interface
MFORMATSLib Namespace


PropsGet Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsGet Method
property's name (full name with all nodes)
property's value
Gets object's property.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_pbsPropValue

property's value

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
IMFProps Interface

IMFProps Members


PropsGetByIndex Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsGetByIndex Method
node name (for example, empty string or "info")
property's index
property's name
property's value
indicates whether property is internal node ("1") or not ("0")
Gets a property's name and value by property's index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

node name (for example, empty string or "info")
_nIndex

property's index
_pbsPropName

property's name
_pbsPropValue

property's value
_pbNode

indicates whether property is internal node ("1") or not ("0")

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
IMFProps Interface

IMFProps Members


PropsGetCount Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsGetCount Method
property's node (for example, empty string or "info")
number of properties in the node
Gets count of properties in a selected node
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

property's node (for example, empty string or "info")
_pnCount

number of properties in the node

Example
Here is example of how to get all the properties from "info" node, i.e. get all the information about a file:

  • C#

string strInfo = "";
int nCount;
m_objMFReader.PropsGetCount("info", out nCount);
for (int i = 0; i < nCount; i++)
{
    string strName;
    string strValue;
    int isNode;
    m_objMFReader.PropsGetByIndex("info", i, out strName, out strValue, out isNode);
    strInfo += strName + ": " + strValue + Environment.NewLine;
}

See Also
Reference
IMFProps Interface

IMFProps Members


PropsInfoGet Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsInfoGet Method
property's full name (with all nodes)
type of information (help, possible values etc.)
information about a property
Gets information of required type about a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

property's full name (with all nodes)
_eType

type of information (help, possible values etc.)
_pbsInfo

information about a property

See Also
Reference
IMFProps Interface

IMFProps Members


PropsOptionGet Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsOptionGet Method
property name
option index
option value
help string for option
Gets property option
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property name
_pnOptionIdx

option index
_pbsOptionValue

option value
_pbsHelp

help string for option

See Also
Reference
IMFProps Interface

IMFProps Members


PropsOptionGetByIndex Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsOptionGetByIndex Method
property's full name (with all nodes)
option's index
option value
help string about the option
Gets an option for a property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionIdx

option's index
_pbsOptionValue

option value
_pbsHelp

help string about the option

See Also
Reference
IMFProps Interface

IMFProps Members


PropsOptionGetCount Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsOptionGetCount Method
property's full name (with all nodes)
number of available options
Gets a number of available option for a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

property's full name (with all nodes)
_pnOptionCount

number of available options

See Also
Reference
IMFProps Interface

IMFProps Members


PropsOptionSetByIndex Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsOptionSetByIndex Method
property's full name (with all nodes)
option's index
Sets a property's option by the option's index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

property's full name (with all nodes)
_nOptionInx

option's index

See Also
Reference
IMFProps Interface

IMFProps Members


PropsRemove Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsRemove Method
property's full name (with all nodes)
Removes a selected property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

void PropsRemove(
   System.string _bsPropName
)

void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

property's full name (with all nodes)

See Also
Reference
IMFProps Interface

IMFProps Members


PropsSet Method (IMFProps)

MFORMATSLib Namespace > IMFProps Interface : PropsSet Method
property's name (full name with all nodes)
property's value
Sets a current property's value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

property's name (full name with all nodes)
_bsPropValue

property's value

Example
Here is an example of how to select a video track for a file:

  • C#

// Set video track by index
m_objMFReader.PropsSet("video_track", comboBoxVideoTrack.SelectedIndex.ToString());
// where comboBoxVideoTrack is a combobox with available video tracks)

See Also
Reference
IMFProps Interface

IMFProps Members


%%PageItemTitle%%

IMFReader Interface
Members

MFORMATSLib Namespace : IMFReader Interface
Operates with file sources.
See Also

Reference

IMFReader Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFReader Interface Members
Methods

MFORMATSLib Namespace : IMFReader Interface

The following tables list the members exposed by IMFReader.

Public Methods
 | Name | Description
Method | ReaderAbort | Aborts a reader process. For example to abort a process of getting a frame from file.
Method | ReaderClose | Closes a file source.
Method | ReaderDurationGet | Gets duration of a source file
Method | ReaderNameGet | Gets a name of source file
Method | ReaderOpen | Opens a source file.
Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Method | SourceFrameGet | Gets an original next frame of a file or live source
Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

IMFReader Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFReader Interface Methods

MFORMATSLib Namespace : IMFReader Interface

For a list of all members of this type, see IMFReader members.

Public Methods
 | Name | Description
Method | ReaderAbort | Aborts a reader process. For example to abort a process of getting a frame from file.
Method | ReaderClose | Closes a file source.
Method | ReaderDurationGet | Gets duration of a source file
Method | ReaderNameGet | Gets a name of source file
Method | ReaderOpen | Opens a source file.
Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Method | SourceFrameGet | Gets an original next frame of a file or live source
Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

IMFReader Interface
MFORMATSLib Namespace


ReaderAbort Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : ReaderAbort Method
Aborts a reader process. For example to abort a process of getting a frame from file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReaderAbort()

void ReaderAbort()

void ReaderAbort();

See Also
Reference
IMFReader Interface

IMFReader Members


ReaderClose Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : ReaderClose Method
Closes a file source.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReaderClose()

void ReaderClose()

void ReaderClose();

Example
Here is an example of how to close a file source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview
// Close a source
m_objMFReader.ReaderClose();

See Also
Reference
IMFReader Interface

IMFReader Members


ReaderDurationGet Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : ReaderDurationGet Method
duration
Gets duration of a source file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReaderDurationGet( _
   ByRef _pdblDuration As System.Double _
)

void ReaderDurationGet(
   out System.double _pdblDuration
)

void ReaderDurationGet(
   [Out] System.double _pdblDuration
)

Parameters
_pdblDuration

duration

Example
Here is an example of how to get a duration of a file:

  • C#

m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
double dblDur;
m_objMFReader.ReaderDurationGet(out dblDur);

See Also
Reference
IMFReader Interface

IMFReader Members


ReaderNameGet Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : ReaderNameGet Method
source file name
Gets a name of source file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReaderNameGet( _
   ByRef _pbsFileName As System.String _
)

void ReaderNameGet(
   out System.string _pbsFileName
)

void ReaderNameGet(
   [Out] System.String^ _pbsFileName
)

Parameters
_pbsFileName

source file name

See Also
Reference
IMFReader Interface

IMFReader Members


ReaderOpen Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : ReaderOpen Method
path to a file
additional parameters
Opens a source file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReaderOpen( _
   ByVal _bsPath As System.String, _
   ByVal _bsPropsList As System.String _
)

void ReaderOpen(
   System.string _bsPath,
   System.string _bsPropsList
)

void ReaderOpen(
   System.String^ _bsPath,
   System.String^ _bsPropsList
)

Parameters
_bsPath

path to a file
_bsPropsList

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceAVPropsGet Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceAVPropsGet Method
media properties
Gets media properties (audio and video) of a source object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceAVPropsGet( _
   ByRef _pAVProps As M_AV_PROPS _
)

void SourceAVPropsGet(
   out M_AV_PROPS _pAVProps
)

void SourceAVPropsGet(
   [Out] M_AV_PROPS _pAVProps
)

Parameters
_pAVProps

media properties

Example
Here is example of how to get media properties of a source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // get media properties of a source file
m_objMFReader.SourceAVPropsGet(out m_avProps);
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceFrameConvertedGet Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceFrameConvertedGet Method
media properties that specify required format for a frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a next frame (that is converted to required format) from file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGet( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGet(
   ref M_AV_PROPS _pAVPropsOut,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGet(
   M_AV_PROPS% _pAVPropsOut,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties that specify required format for a frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceFrameConvertedGetByNumber Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceFrameConvertedGetByNumber Method
required format's properties for a frame
number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGetByNumber( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGetByNumber(
   ref M_AV_PROPS _pAVPropsOut,
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGetByNumber(
   M_AV_PROPS% _pAVPropsOut,
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_nFrameNo

number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByNumber(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceFrameConvertedGetByTime Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceFrameConvertedGetByTime Method
required format's properties for a frame
position of a frame in time. To get a next frame use "-1"
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGetByTime( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGetByTime(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGetByTime(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_dblTimeSec

position of a frame in time. To get a next frame use "-1"
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceFrameGet Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceFrameGet Method
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original next frame of a file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameGet( _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameGet(
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameGet(
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGet(-1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceFrameGetByNumber Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceFrameGetByNumber Method
frame's number
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameGetByNumber( _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_nFrameNo

frame's number
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByNumber(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


SourceFrameGetByTime Method (IMFReader)

MFORMATSLib Namespace > IMFReader Interface : SourceFrameGetByTime Method
position of a frame in time. To get a next frame use "-1".
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameGetByTime( _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_dblTimeSec

position of a frame in time. To get a next frame use "-1".
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByTime(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReader Interface

IMFReader Members


%%PageItemTitle%%

IMFReceiver Interface
Members

MFORMATSLib Namespace : IMFReceiver Interface
Operates a receiver of frames (output devices or preview)
See Also

Reference

IMFReceiver Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFReceiver Interface Members
Methods

MFORMATSLib Namespace : IMFReceiver Interface

The following tables list the members exposed by IMFReceiver.

Public Methods
 | Name | Description
Method | ReceiverFramePut | Puts frame to receiver object.
Top
See Also

Reference

IMFReceiver Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFReceiver Interface Methods

MFORMATSLib Namespace : IMFReceiver Interface

For a list of all members of this type, see IMFReceiver members.

Public Methods
 | Name | Description
Method | ReceiverFramePut | Puts frame to receiver object.
Top
See Also

Reference

IMFReceiver Interface
MFORMATSLib Namespace


ReceiverFramePut Method (IMFReceiver)

MFORMATSLib Namespace > IMFReceiver Interface : ReceiverFramePut Method
frame that is used for output or for preview
maximal wait time in milliseconds. By default use "-1".
additional properties
Puts frame to receiver object.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

frame that is used for output or for preview
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_bsProps

additional properties

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame or frame by position
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFReceiver Interface

IMFReceiver Members


%%PageItemTitle%%

IMFSink Interface
Members

MFORMATSLib Namespace : IMFSink Interface
See Also

Reference

IMFSink Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFSink Interface Members
Methods

MFORMATSLib Namespace : IMFSink Interface

The following tables list the members exposed by IMFSink.

Public Methods
 | Name | Description
Method | ReceiverFramePut |
Method | SinkClose |
Method | SinkInit |
Top
See Also

Reference

IMFSink Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFSink Interface Methods

MFORMATSLib Namespace : IMFSink Interface

For a list of all members of this type, see IMFSink members.

Public Methods
 | Name | Description
Method | ReceiverFramePut |
Method | SinkClose |
Method | SinkInit |
Top
See Also

Reference

IMFSink Interface
MFORMATSLib Namespace


ReceiverFramePut Method (IMFSink)

MFORMATSLib Namespace > IMFSink Interface : ReceiverFramePut Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

_rtMaxWait

_bsProps

See Also
Reference
IMFSink Interface

IMFSink Members


SinkClose Method (IMFSink)

MFORMATSLib Namespace > IMFSink Interface : SinkClose Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SinkClose()

void SinkClose()

void SinkClose();

See Also
Reference
IMFSink Interface

IMFSink Members


SinkInit Method (IMFSink)

MFORMATSLib Namespace > IMFSink Interface : SinkInit Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SinkInit( _
   ByVal _bsSinkName As System.String, _
   ByVal _bsVirtualSourceName As System.String, _
   ByVal _bsProps As System.String _
)

void SinkInit(
   System.string _bsSinkName,
   System.string _bsVirtualSourceName,
   System.string _bsProps
)

void SinkInit(
   System.String^ _bsSinkName,
   System.String^ _bsVirtualSourceName,
   System.String^ _bsProps
)

Parameters
_bsSinkName

_bsVirtualSourceName

_bsProps

See Also
Reference
IMFSink Interface

IMFSink Members


%%PageItemTitle%%

IMFSource Interface
Members

MFORMATSLib Namespace : IMFSource Interface
Operates with sources of frames
See Also

Reference

IMFSource Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFSource Interface Members
Methods

MFORMATSLib Namespace : IMFSource Interface

The following tables list the members exposed by IMFSource.

Public Methods
 | Name | Description
Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Method | SourceFrameGet | Gets an original next frame of a file or live source
Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

IMFSource Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFSource Interface Methods

MFORMATSLib Namespace : IMFSource Interface

For a list of all members of this type, see IMFSource members.

Public Methods
 | Name | Description
Method | SourceAVPropsGet | Gets media properties (audio and video) of a source object
Method | SourceFrameConvertedGet | Gets a next frame (that is converted to required format) from file or live source
Method | SourceFrameConvertedGetByNumber | Gets a converted to required format frame by its number. For live sources number is ignored.
Method | SourceFrameConvertedGetByTime | Gets a converted to required format frame by its time. For live sources time is ignored.
Method | SourceFrameGet | Gets an original next frame of a file or live source
Method | SourceFrameGetByNumber | Gets an original frame by its number. For live sources number is ignored.
Method | SourceFrameGetByTime | Gets an original frame by its time. For live sources time is ignored.
Top
See Also

Reference

IMFSource Interface
MFORMATSLib Namespace


SourceAVPropsGet Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceAVPropsGet Method
media properties
Gets media properties (audio and video) of a source object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceAVPropsGet( _
   ByRef _pAVProps As M_AV_PROPS _
)

void SourceAVPropsGet(
   out M_AV_PROPS _pAVProps
)

void SourceAVPropsGet(
   [Out] M_AV_PROPS _pAVProps
)

Parameters
_pAVProps

media properties

Example
Here is example of how to get media properties of a source:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // get media properties of a source file
m_objMFReader.SourceAVPropsGet(out m_avProps);
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


SourceFrameConvertedGet Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceFrameConvertedGet Method
media properties that specify required format for a frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a next frame (that is converted to required format) from file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGet( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGet(
   ref M_AV_PROPS _pAVPropsOut,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGet(
   M_AV_PROPS% _pAVPropsOut,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties that specify required format for a frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGet(ref m_avProps, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


SourceFrameConvertedGetByNumber Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceFrameConvertedGetByNumber Method
required format's properties for a frame
number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGetByNumber( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGetByNumber(
   ref M_AV_PROPS _pAVPropsOut,
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGetByNumber(
   M_AV_PROPS% _pAVPropsOut,
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_nFrameNo

number of a frame. It is possible to use negative values. For example, "-1" returns you a next frame and "-5" returns you the next 5th frame
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByNumber(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


SourceFrameConvertedGetByTime Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceFrameConvertedGetByTime Method
required format's properties for a frame
position of a frame in time. To get a next frame use "-1"
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets a converted to required format frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGetByTime( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGetByTime(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGetByTime(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

required format's properties for a frame
_dblTimeSec

position of a frame in time. To get a next frame use "-1"
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
m_avProps = new M_AV_PROPS(); // set video format for conversion
m_avProps.vidProps.eVideoFormat = eMVideoFormat.eMVF_HD1080_5994i;
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameConvertedGetByTime(ref m_avProps, -1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


SourceFrameGet Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceFrameGet Method
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original next frame of a file or live source
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameGet( _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameGet(
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameGet(
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGet(-1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


SourceFrameGetByNumber Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceFrameGetByNumber Method
frame's number
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its number. For live sources number is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameGetByNumber( _
   ByVal _nFrameNo As System.Integer, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameGetByNumber(
   System.int _nFrameNo,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_nFrameNo

frame's number
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to get a frame from a file:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByNumber(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


SourceFrameGetByTime Method (IMFSource)

MFORMATSLib Namespace > IMFSource Interface : SourceFrameGetByTime Method
position of a frame in time. To get a next frame use "-1".
maximal wait time in milliseconds. By default use "-1".
converted frame object
additional parameters
Gets an original frame by its time. For live sources time is ignored.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameGetByTime( _
   ByVal _dblTimeSec As System.Double, _
   ByVal _rtMaxWait As System.Long, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.long _rtMaxWait,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameGetByTime(
   System.double _dblTimeSec,
   System.int64 _rtMaxWait,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_dblTimeSec

position of a frame in time. To get a next frame use "-1".
_rtMaxWait

maximal wait time in milliseconds. By default use "-1".
_ppFrame

converted frame object
_bsHints

additional parameters

Example
Here is an example of how to send a frame to a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objMFReader = new MFReaderClass();
m_objMFReader.ReaderOpen(sourceFileName, "");
MFFrame pFrame = null;
// Get next frame
if (m_objMFReader != null)
    m_objMFReader.SourceFrameGetByTime(-1, -1, out pFrame, "");
m_objPreview.ReceiverFramePut(pFrame, -1, ""); // show the frame on preview

See Also
Reference
IMFSource Interface

IMFSource Members


%%PageItemTitle%%

IMFSourceVB6 Interface
Members

MFORMATSLib Namespace : IMFSourceVB6 Interface
Duplicated IMSource interface for VB6 compatibility.
See Also

Reference

IMFSourceVB6 Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFSourceVB6 Interface Members
Methods

MFORMATSLib Namespace : IMFSourceVB6 Interface

The following tables list the members exposed by IMFSourceVB6.

Public Methods
 | Name | Description
Method | SourceFrameConvertedGetByTimeVB6 | Get converted frame by time (VB6 only method)
Top
See Also

Reference

IMFSourceVB6 Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFSourceVB6 Interface Methods

MFORMATSLib Namespace : IMFSourceVB6 Interface

For a list of all members of this type, see IMFSourceVB6 members.

Public Methods
 | Name | Description
Method | SourceFrameConvertedGetByTimeVB6 | Get converted frame by time (VB6 only method)
Top
See Also

Reference

IMFSourceVB6 Interface
MFORMATSLib Namespace


SourceFrameConvertedGetByTimeVB6 Method (IMFSourceVB6)

MFORMATSLib Namespace > IMFSourceVB6 Interface : SourceFrameConvertedGetByTimeVB6 Method
media properties
time position to get frame
wait time
result frame
additional parameters
Get converted frame by time (VB6 only method)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SourceFrameConvertedGetByTimeVB6( _
   ByRef _pAVPropsOut As M_AV_PROPS, _
   ByVal _dblTimeSec As System.Double, _
   ByVal _nMaxWaitMsec As System.Integer, _
   ByRef _ppFrame As MFFrame, _
   ByVal _bsHints As System.String _
)

void SourceFrameConvertedGetByTimeVB6(
   ref M_AV_PROPS _pAVPropsOut,
   System.double _dblTimeSec,
   System.int _nMaxWaitMsec,
   out MFFrame _ppFrame,
   System.string _bsHints
)

void SourceFrameConvertedGetByTimeVB6(
   M_AV_PROPS% _pAVPropsOut,
   System.double _dblTimeSec,
   System.int _nMaxWaitMsec,
   [Out] MFFrame^ _ppFrame,
   System.String^ _bsHints
)

Parameters
_pAVPropsOut

media properties
_dblTimeSec

time position to get frame
_nMaxWaitMsec

wait time
_ppFrame

result frame
_bsHints

additional parameters

See Also
Reference
IMFSourceVB6 Interface

IMFSourceVB6 Members


%%PageItemTitle%%

IMFTransition Interface
Members

MFORMATSLib Namespace : IMFTransition Interface
Operates frame's transitions
See Also

Reference

IMFTransition Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFTransition Interface Members
Methods

MFORMATSLib Namespace : IMFTransition Interface

The following tables list the members exposed by IMFTransition.

Public Methods
 | Name | Description
Method | TransitionMake | Makes a transition between frames
Method | TransitionReset | Resets a transition. Call this method before start frame-rate conversion.
Top
See Also

Reference

IMFTransition Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFTransition Interface Methods

MFORMATSLib Namespace : IMFTransition Interface

For a list of all members of this type, see IMFTransition members.

Public Methods
 | Name | Description
Method | TransitionMake | Makes a transition between frames
Method | TransitionReset | Resets a transition. Call this method before start frame-rate conversion.
Top
See Also

Reference

IMFTransition Interface
MFORMATSLib Namespace


TransitionMake Method (IMFTransition)

MFORMATSLib Namespace > IMFTransition Interface : TransitionMake Method
line
a frame from which the transition is started
a frame to which the transition is implemented
position of a transition
transition frame
transition's name
additional properties
Makes a transition between frames
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub TransitionMake( _
   ByVal _bsLine As System.String, _
   ByVal _pFrameFrom As MFFrame, _
   ByVal _pFrameTo As MFFrame, _
   ByVal _dblPos As System.Double, _
   ByRef _ppFrameTrans As MFFrame, _
   ByVal _bsTransition As System.String, _
   ByVal _bsPropsList As System.String _
)

void TransitionMake(
   System.string _bsLine,
   MFFrame _pFrameFrom,
   MFFrame _pFrameTo,
   System.double _dblPos,
   out MFFrame _ppFrameTrans,
   System.string _bsTransition,
   System.string _bsPropsList
)

void TransitionMake(
   System.String^ _bsLine,
   MFFrame^ _pFrameFrom,
   MFFrame^ _pFrameTo,
   System.double _dblPos,
   [Out] MFFrame^ _ppFrameTrans,
   System.String^ _bsTransition,
   System.String^ _bsPropsList
)

Parameters
_bsLine

line
_pFrameFrom

a frame from which the transition is started
_pFrameTo

a frame to which the transition is implemented
_dblPos

position of a transition
_ppFrameTrans

transition frame
_bsTransition

transition's name
_bsPropsList

additional properties

See Also
Reference
IMFTransition Interface

IMFTransition Members


TransitionReset Method (IMFTransition)

MFORMATSLib Namespace > IMFTransition Interface : TransitionReset Method
Resets a transition. Call this method before start frame-rate conversion.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub TransitionReset( _
   ByVal _bsLine As System.String _
)

void TransitionReset(
   System.string _bsLine
)

void TransitionReset(
   System.String^ _bsLine
)

Parameters
_bsLine

See Also
Reference
IMFTransition Interface

IMFTransition Members


%%PageItemTitle%%

IMFWriter Interface
Members

MFORMATSLib Namespace : IMFWriter Interface
Operates encoding process
See Also

Reference

IMFWriter Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMFWriter Interface Members
Methods

MFORMATSLib Namespace : IMFWriter Interface

The following tables list the members exposed by IMFWriter.

Public Methods
 | Name | Description
Method | ReceiverFramePut | Puts frame to encoding process
Method | WriterClose | Closes writer's object and encoding process
Method | WriterGet | Returns target path of encoding and full encoding's configuration
Method | WriterOptionGet | Gets currently set configuration's option (format, video or audio codec)
Method | WriterOptionGetByIndex | Gets a writer's option by its index.
Method | WriterOptionGetCount | Gets a number of available options (number of available formats, audio or video codecs)
Method | WriterOptionSet | Sets writer's option by its name
Method | WriterOptionSetByIndex | Sets writer's option by its index
Method | WriterSet | Sets target path and configuration for encoding. Also turns on writer's object to be ready to receive frames.
Top
See Also

Reference

IMFWriter Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMFWriter Interface Methods

MFORMATSLib Namespace : IMFWriter Interface

For a list of all members of this type, see IMFWriter members.

Public Methods
 | Name | Description
Method | ReceiverFramePut | Puts frame to encoding process
Method | WriterClose | Closes writer's object and encoding process
Method | WriterGet | Returns target path of encoding and full encoding's configuration
Method | WriterOptionGet | Gets currently set configuration's option (format, video or audio codec)
Method | WriterOptionGetByIndex | Gets a writer's option by its index.
Method | WriterOptionGetCount | Gets a number of available options (number of available formats, audio or video codecs)
Method | WriterOptionSet | Sets writer's option by its name
Method | WriterOptionSetByIndex | Sets writer's option by its index
Method | WriterSet | Sets target path and configuration for encoding. Also turns on writer's object to be ready to receive frames.
Top
See Also

Reference

IMFWriter Interface
MFORMATSLib Namespace


ReceiverFramePut Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : ReceiverFramePut Method
frame for encoding
max wait time for encoding (by default use -1)
additional properties
Puts frame to encoding process
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ReceiverFramePut( _
   ByVal _pFrame As MFFrame, _
   ByVal _rtMaxWait As System.Long, _
   ByVal _bsProps As System.String _
)

void ReceiverFramePut(
   MFFrame _pFrame,
   System.long _rtMaxWait,
   System.string _bsProps
)

void ReceiverFramePut(
   MFFrame^ _pFrame,
   System.int64 _rtMaxWait,
   System.String^ _bsProps
)

Parameters
_pFrame

frame for encoding
_rtMaxWait

max wait time for encoding (by default use -1)
_bsProps

additional properties

Example
Here is example of how set writer's configuration and encode a received frame:

  • C#

MFWriterClass m_objWriter = new MFWriterClass();
// Configure writer
m_objWriter.WriterSet(targetPath, 1, "format='mp4' play_while_rec='true' video::codec='mpeg4' audio::codec='aac'");
// Get frame from source
MFFrame pFrame = null;
m_objLive.SourceFrameGet(-1, out pFrame, "");
// Encode the frame
m_objWriter.ReceiverFramePut(pFrame, -1, "");
// Release frame from memory
Marshal.ReleaseComObject(pFrame);

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterClose Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterClose Method
Closes writer's object and encoding process
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterClose( _
   ByVal _bAsync As System.Integer _
)

void WriterClose(
   System.int _bAsync
)

void WriterClose(
   System.int _bAsync
)

Parameters
_bAsync

Example
Here is example of how to close encoding:

  • C#

m_objWriter.WriterClose();

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterGet Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterGet Method
Returns target path of encoding and full encoding's configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterGet( _
   ByRef _pbsTargetPath As System.String, _
   ByRef _pbsOptionsList As System.String _
)

void WriterGet(
   out System.string _pbsTargetPath,
   out System.string _pbsOptionsList
)

void WriterGet(
   [Out] System.String^ _pbsTargetPath,
   [Out] System.String^ _pbsOptionsList
)

Parameters
_pbsTargetPath

_pbsOptionsList

Example
Here is example of how to set an audio codec and get a full configuration for encoding:

  • C#

IMFProps props;
m_objWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_AudioCodec, 2, out props); // to set 3rd available audio codec
string tPath, options;
m_objWriter.WriterGet(out tPath, out options);

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterOptionGet Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterOptionGet Method
type of option (format, video or audio codec)
option's name
properties of the option (internal attributes)
Gets currently set configuration's option (format, video or audio codec)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterOptionGet( _
   ByVal _eType As eMFWriterOption, _
   ByRef _pbsName As System.String, _
   ByRef _ppProps As IMFProps _
)

void WriterOptionGet(
   eMFWriterOption _eType,
   out System.string _pbsName,
   out IMFProps _ppProps
)

void WriterOptionGet(
   eMFWriterOption _eType,
   [Out] System.String^ _pbsName,
   [Out] IMFProps^ _ppProps
)

Parameters
_eType

type of option (format, video or audio codec)
_pbsName

option's name
_ppProps

properties of the option (internal attributes)

Example
Here is example of how get currently specified video codec:

  • C#

string codecName;
IMFProps videoProps;
m_objWriter.WriterOptionGet(eMFWriterOption.eMFWO_VideoCodec, out codecName, out videoProps);

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterOptionGetByIndex Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterOptionGetByIndex Method
option's type (format, video or audio codec)
option's index
short name (ID) of option (for example, 'mp4')
full name of the option (for example, 'MPEG-4 part 2 Video')
Gets a writer's option by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterOptionGetByIndex( _
   ByVal _eType As eMFWriterOption, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsShortName As System.String, _
   ByRef _pbsLongName As System.String _
)

void WriterOptionGetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   out System.string _pbsShortName,
   out System.string _pbsLongName
)

void WriterOptionGetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   [Out] System.String^ _pbsShortName,
   [Out] System.String^ _pbsLongName
)

Parameters
_eType

option's type (format, video or audio codec)
_nIndex

option's index
_pbsShortName

short name (ID) of option (for example, 'mp4')
_pbsLongName

full name of the option (for example, 'MPEG-4 part 2 Video')

Example
Here is example of how to fill a combobox with available formats:

  • C#

int nCount;
m_objWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_Format, out nCount); // get number of capturing formats (eMFWriterOption.eMFWO_Format)
for (int i = 0; i < nCount; i++)
{
    string myName, longName;
    m_objWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_Format, i, out myName, out longName); // get short (ID) and long names of capturing format (eMFWriterOption.eMFWO_Format)
    formatcombo.Items.Add(longName); // add a format's name into combobox's list
}

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterOptionGetCount Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterOptionGetCount Method
option's type(format, audio or video codec)
number of available options
Gets a number of available options (number of available formats, audio or video codecs)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterOptionGetCount( _
   ByVal _eType As eMFWriterOption, _
   ByRef _pnCount As System.Integer _
)

void WriterOptionGetCount(
   eMFWriterOption _eType,
   out System.int _pnCount
)

void WriterOptionGetCount(
   eMFWriterOption _eType,
   [Out] System.int _pnCount
)

Parameters
_eType

option's type(format, audio or video codec)
_pnCount

number of available options

Example
Here is example of how to fill a combobox with available formats:

  • C#

int nCount;
m_objWriter.WriterOptionGetCount(eMFWriterOption.eMFWO_Format, out nCount); // get number of capturing formats (eMFWriterOption.eMFWO_Format)
for (int i = 0; i < nCount; i++)
{
    string myName, longName;
    m_objWriter.WriterOptionGetByIndex(eMFWriterOption.eMFWO_Format, i, out myName, out longName); // get short (ID) and long names of capturing format (eMFWriterOption.eMFWO_Format)
    formatcombo.Items.Add(longName); // add a format's name into combobox's list
}

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterOptionSet Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterOptionSet Method
option's type (format, video or audio codec)
option's name (full or short name)
properties of the option (attributes for configuration)
Sets writer's option by its name
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterOptionSet( _
   ByVal _eType As eMFWriterOption, _
   ByVal _bsName As System.String, _
   ByRef _ppProps As IMFProps _
)

void WriterOptionSet(
   eMFWriterOption _eType,
   System.string _bsName,
   out IMFProps _ppProps
)

void WriterOptionSet(
   eMFWriterOption _eType,
   System.String^ _bsName,
   [Out] IMFProps^ _ppProps
)

Parameters
_eType

option's type (format, video or audio codec)
_bsName

option's name (full or short name)
_ppProps

properties of the option (attributes for configuration)

Example
Here is example of how set video codec by its name:

  • C#

IMFProps props;
m_objWriter.WriterOptionSet(eMFWriterOption.eMFWO_VideoCodec, "mp4", out props);

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterOptionSetByIndex Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterOptionSetByIndex Method
option's type (format, video or audio codec)
option's index
properties of the option (attributes for configuration)
Sets writer's option by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterOptionSetByIndex( _
   ByVal _eType As eMFWriterOption, _
   ByVal _nIndex As System.Integer, _
   ByRef _ppProps As IMFProps _
)

void WriterOptionSetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   out IMFProps _ppProps
)

void WriterOptionSetByIndex(
   eMFWriterOption _eType,
   System.int _nIndex,
   [Out] IMFProps^ _ppProps
)

Parameters
_eType

option's type (format, video or audio codec)
_nIndex

option's index
_ppProps

properties of the option (attributes for configuration)

Example
Here is example of how set audio codec by selected index:

  • C#

IMFProps props;
m_objWriter.WriterOptionSetByIndex(eMFWriterOption.eMFWO_AudioCodec, audiocodec.SelectedIndex, out props);
Marshal.ReleaseComObject(props); // release props if you don't need to use it

See Also
Reference
IMFWriter Interface

IMFWriter Members


WriterSet Method (IMFWriter)

MFORMATSLib Namespace > IMFWriter Interface : WriterSet Method
target path for encoding
indicates whether previous configuration will be reset
configuration for encoding
Sets target path and configuration for encoding. Also turns on writer's object to be ready to receive frames.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub WriterSet( _
   ByVal _bsTargetPath As System.String, _
   ByVal _bResetOption As System.Integer, _
   ByVal _bsOptionsList As System.String _
)

void WriterSet(
   System.string _bsTargetPath,
   System.int _bResetOption,
   System.string _bsOptionsList
)

void WriterSet(
   System.String^ _bsTargetPath,
   System.int _bResetOption,
   System.String^ _bsOptionsList
)

Parameters
_bsTargetPath

target path for encoding
_bResetOption

indicates whether previous configuration will be reset
_bsOptionsList

configuration for encoding

Example
Here is example of how set writer's configuration and encode a received frame:

  • C#

MFWriterClass m_objWriter = new MFWriterClass();
// Configure writer
m_objWriter.WriterSet(targetPath, 1, "format='mp4' play_while_rec='true' video::codec='mpeg4' audio::codec='aac'");
// Get frame from source
MFFrame pFrame = null;
m_objLive.SourceFrameGet(-1, out pFrame, "");
// Encode the frame
m_objWriter.ReceiverFramePut(pFrame, -1, "");
// Release frame from memory
Marshal.ReleaseComObject(pFrame);

See Also
Reference
IMFWriter Interface

IMFWriter Members


%%PageItemTitle%%

IMPreview Interface
Members

MFORMATSLib Namespace : IMPreview Interface
Operates a preview.
See Also

Reference

IMPreview Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMPreview Interface Members
Methods

MFORMATSLib Namespace : IMPreview Interface

The following tables list the members exposed by IMPreview.

Public Methods
 | Name | Description
Method | PreviewAudioVolumeGet | Gets an audio volume for the preview
Method | PreviewAudioVolumeSet | Sets preview's audio volume for specified audio channel.
Method | PreviewEnable | Enables a preview (audio and video)
Method | PreviewFullScreen | Enables (disables) a full screen mode for preview
Method | PreviewIsEnabled | Gets information about whether preview is enabled
Method | PreviewIsFullScreen | Indicates whether a preview in full screen mode and what display is used
Method | PreviewSetCursor | Sets a cursor for a preview
Method | PreviewWindowSet | Sets a parent element for a preview.
Method | PreviewWindowSetVB6 | Sets a parent element for a preview. This method is for VB6 only. For other languages please use PreviewWindowSet method.
Top
See Also

Reference

IMPreview Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMPreview Interface Methods

MFORMATSLib Namespace : IMPreview Interface

For a list of all members of this type, see IMPreview members.

Public Methods
 | Name | Description
Method | PreviewAudioVolumeGet | Gets an audio volume for the preview
Method | PreviewAudioVolumeSet | Sets preview's audio volume for specified audio channel.
Method | PreviewEnable | Enables a preview (audio and video)
Method | PreviewFullScreen | Enables (disables) a full screen mode for preview
Method | PreviewIsEnabled | Gets information about whether preview is enabled
Method | PreviewIsFullScreen | Indicates whether a preview in full screen mode and what display is used
Method | PreviewSetCursor | Sets a cursor for a preview
Method | PreviewWindowSet | Sets a parent element for a preview.
Method | PreviewWindowSetVB6 | Sets a parent element for a preview. This method is for VB6 only. For other languages please use PreviewWindowSet method.
Top
See Also

Reference

IMPreview Interface
MFORMATSLib Namespace


PreviewAudioVolumeGet Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewAudioVolumeGet Method
index of a channel. Use "-1" to get a volume for all channels.
volume in dB for the selected channel.
Gets an audio volume for the preview
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewAudioVolumeGet( _
   ByVal _bsChannelID As System.String, _
   ByVal _nChannel As System.Integer, _
   ByRef _pdblAttenuationdB As System.Double _
)

void PreviewAudioVolumeGet(
   System.string _bsChannelID,
   System.int _nChannel,
   out System.double _pdblAttenuationdB
)

void PreviewAudioVolumeGet(
   System.String^ _bsChannelID,
   System.int _nChannel,
   [Out] System.double _pdblAttenuationdB
)

Parameters
_bsChannelID

_nChannel

index of a channel. Use "-1" to get a volume for all channels.
_pdblAttenuationdB

volume in dB for the selected channel.

Example
Here is an example of how to get audio volume for all the channels:

  • C#

// Volume in dB
// 0 - full volume, -100 silence
double dblVol;
m_objPreview.PreviewAudioVolumeSet("", -1, out dblVol);

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewAudioVolumeSet Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewAudioVolumeSet Method
channel ID. By default use empty string
number of audio channel. To set volume for all channels use "-1"
volume in dB
Sets preview's audio volume for specified audio channel.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewAudioVolumeSet( _
   ByVal _bsChannelID As System.String, _
   ByVal _nChannel As System.Integer, _
   ByVal _dblAttenuationdB As System.Double _
)

void PreviewAudioVolumeSet(
   System.string _bsChannelID,
   System.int _nChannel,
   System.double _dblAttenuationdB
)

void PreviewAudioVolumeSet(
   System.String^ _bsChannelID,
   System.int _nChannel,
   System.double _dblAttenuationdB
)

Parameters
_bsChannelID

channel ID. By default use empty string
_nChannel

number of audio channel. To set volume for all channels use "-1"
_dblAttenuationdB

volume in dB

Example
Here is example of how to set audio volume for preview for all channels:

  • C#

// Volume in dB
// 0 - full volume, -100 silence
double dblPos = (double)trackBarVolume.Value / trackBarVolume.Maximum;
m_objPreview.PreviewAudioVolumeSet("", -1, -60 * (1 - dblPos));

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewEnable Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewEnable Method
channel ID. By default use empty string
0 is to disable audio preview, 1 is to enable audio preview
0 is to disable video preview, 1 is to enable video preview
Enables a preview (audio and video)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewEnable( _
   ByVal _bsChannelID As System.String, _
   ByVal _bEnableAudio As System.Integer, _
   ByVal _bEnableVideo As System.Integer _
)

void PreviewEnable(
   System.string _bsChannelID,
   System.int _bEnableAudio,
   System.int _bEnableVideo
)

void PreviewEnable(
   System.String^ _bsChannelID,
   System.int _bEnableAudio,
   System.int _bEnableVideo
)

Parameters
_bsChannelID

channel ID. By default use empty string
_bEnableAudio

0 is to disable audio preview, 1 is to enable audio preview
_bEnableVideo

0 is to disable video preview, 1 is to enable video preview

Example
Here is example of how to initialize a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewFullScreen Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewFullScreen Method
channel ID. By default use empty string
0 is to disable full screen, 1 is to enable full screen mode
index of a display where full screen will be implemented
Enables (disables) a full screen mode for preview
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewFullScreen( _
   ByVal _bsChannelID As System.String, _
   ByVal _bFullScreen As System.Integer, _
   ByVal _nDisplay As System.Integer _
)

void PreviewFullScreen(
   System.string _bsChannelID,
   System.int _bFullScreen,
   System.int _nDisplay
)

void PreviewFullScreen(
   System.String^ _bsChannelID,
   System.int _bFullScreen,
   System.int _nDisplay
)

Parameters
_bsChannelID

channel ID. By default use empty string
_bFullScreen

0 is to disable full screen, 1 is to enable full screen mode
_nDisplay

index of a display where full screen will be implemented

Example
Here is example of how set preview into full screen mode on a second display:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);
m_objPreview.PreviewFullScreen("", 1, 1); // enumeration of displays starts from 0

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewIsEnabled Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewIsEnabled Method
channel ID. By default use empty string
indicates whether audio preview is enabled
indicates whether video preview is enabled
Gets information about whether preview is enabled
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewIsEnabled( _
   ByVal _bsChannelID As System.String, _
   ByRef _pbEnabledAudio As System.Integer, _
   ByRef _pbEnabledVideo As System.Integer _
)

void PreviewIsEnabled(
   System.string _bsChannelID,
   out System.int _pbEnabledAudio,
   out System.int _pbEnabledVideo
)

void PreviewIsEnabled(
   System.String^ _bsChannelID,
   [Out] System.int _pbEnabledAudio,
   [Out] System.int _pbEnabledVideo
)

Parameters
_bsChannelID

channel ID. By default use empty string
_pbEnabledAudio

indicates whether audio preview is enabled
_pbEnabledVideo

indicates whether video preview is enabled

Example
Here is example of how to check whether preview is enabled:

  • C#

int isAudio;
int isVideo;
m_objPreview.PreviewIsEnabled("", out isAudio, out isVideo);

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewIsFullScreen Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewIsFullScreen Method
channel ID. By default use empty string
0 means that full screen is disabled, 1 means that it is enabled
number of display
Indicates whether a preview in full screen mode and what display is used
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewIsFullScreen( _
   ByVal _bsChannelID As System.String, _
   ByRef _pbFullScreen As System.Integer, _
   ByRef _pnDisplay As System.Integer _
)

void PreviewIsFullScreen(
   System.string _bsChannelID,
   ref System.int _pbFullScreen,
   ref System.int _pnDisplay
)

void PreviewIsFullScreen(
   System.String^ _bsChannelID,
   System.int% _pbFullScreen,
   System.int% _pnDisplay
)

Parameters
_bsChannelID

channel ID. By default use empty string
_pbFullScreen

0 means that full screen is disabled, 1 means that it is enabled
_pnDisplay

number of display

Example
Here is example of how to check whether preview is in full screen mode:

  • C#

int isFullScreen = 0;
int nDisplay = 0;
m_objPreview.PreviewIsFullScreen("", ref isFullScreen, ref nDisplay);

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewSetCursor Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewSetCursor Method
channel ID. By default use empty string
cursor type
Sets a cursor for a preview
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewSetCursor( _
   ByVal _bsChannelID As System.String, _
   ByVal _eCursor As eMCursorType _
)

void PreviewSetCursor(
   System.string _bsChannelID,
   eMCursorType _eCursor
)

void PreviewSetCursor(
   System.String^ _bsChannelID,
   eMCursorType _eCursor
)

Parameters
_bsChannelID

channel ID. By default use empty string
_eCursor

cursor type

Example
Here is example of how to set a cursor for preview. Note please that it is recommended to set a cursor on each mouse action, for example use MouseMove event for it:

  • C#

private void panelPreview_MouseMove(object sender, MouseEventArgs e)
{
    m_objPreview.PreviewSetCursor("", eMCursorType.eMCT_CROSS);
}

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewWindowSet Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewWindowSet Method
channel ID. By default use empty string
handle of a control where preview will be displayed
Sets a parent element for a preview.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewWindowSet( _
   ByVal _bsChannelID As System.String, _
   ByVal _hWndParent As System.Long _
)

void PreviewWindowSet(
   System.string _bsChannelID,
   System.long _hWndParent
)

void PreviewWindowSet(
   System.String^ _bsChannelID,
   System.int64 _hWndParent
)

Parameters
_bsChannelID

channel ID. By default use empty string
_hWndParent

handle of a control where preview will be displayed

Example
Here is example of how to initialize a preview:

  • C#

m_objPreview = new MFPreviewClass();
//Configure preview
m_objPreview.PreviewWindowSet("", panelPreview.Handle.ToInt32());
m_objPreview.PreviewEnable("", 1, 1);

See Also
Reference
IMPreview Interface

IMPreview Members


PreviewWindowSetVB6 Method (IMPreview)

MFORMATSLib Namespace > IMPreview Interface : PreviewWindowSetVB6 Method
channel ID. By default use empty string
handle of a control where preview will be displayed
Sets a parent element for a preview. This method is for VB6 only. For other languages please use PreviewWindowSet method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PreviewWindowSetVB6( _
   ByVal _bsChannelID As System.String, _
   ByVal _hWndParent As System.Integer _
)

void PreviewWindowSetVB6(
   System.string _bsChannelID,
   System.int _hWndParent
)

void PreviewWindowSetVB6(
   System.String^ _bsChannelID,
   System.int _hWndParent
)

Parameters
_bsChannelID

channel ID. By default use empty string
_hWndParent

handle of a control where preview will be displayed

See Also
Reference
IMPreview Interface

IMPreview Members


%%PageItemTitle%%

IMProps Interface
Members

MFORMATSLib Namespace : IMProps Interface
See Also

Reference

IMProps Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMProps Interface Members
Methods

MFORMATSLib Namespace : IMProps Interface

The following tables list the members exposed by IMProps.

Public Methods
 | Name | Description
Method | PropsGet |
Method | PropsGetByIndex |
Method | PropsGetCount |
Method | PropsInfoGet |
Method | PropsOptionGet |
Method | PropsOptionGetByIndex |
Method | PropsOptionGetCount |
Method | PropsOptionSetByIndex |
Method | PropsRemove |
Method | PropsSet |
Top
See Also

Reference

IMProps Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMProps Interface Methods

MFORMATSLib Namespace : IMProps Interface

For a list of all members of this type, see IMProps members.

Public Methods
 | Name | Description
Method | PropsGet |
Method | PropsGetByIndex |
Method | PropsGetCount |
Method | PropsInfoGet |
Method | PropsOptionGet |
Method | PropsOptionGetByIndex |
Method | PropsOptionGetCount |
Method | PropsOptionSetByIndex |
Method | PropsRemove |
Method | PropsSet |
Top
See Also

Reference

IMProps Interface
MFORMATSLib Namespace


PropsGet Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

void PropsGet(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

void PropsGet(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

_pbsPropValue

See Also
Reference
IMProps Interface

IMProps Members


PropsGetByIndex Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetByIndex( _
   ByVal _bsNodeName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsPropName As System.String, _
   ByRef _pbsPropValue As System.String, _
   ByRef _pbNode As System.Integer _
)

void PropsGetByIndex(
   System.string _bsNodeName,
   System.int _nIndex,
   out System.string _pbsPropName,
   out System.string _pbsPropValue,
   out System.int _pbNode
)

void PropsGetByIndex(
   System.String^ _bsNodeName,
   System.int _nIndex,
   [Out] System.String^ _pbsPropName,
   [Out] System.String^ _pbsPropValue,
   [Out] System.int _pbNode
)

Parameters
_bsNodeName

_nIndex

_pbsPropName

_pbsPropValue

_pbNode

See Also
Reference
IMProps Interface

IMProps Members


PropsGetCount Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsGetCount( _
   ByVal _bsNodeName As System.String, _
   ByRef _pnCount As System.Integer _
)

void PropsGetCount(
   System.string _bsNodeName,
   out System.int _pnCount
)

void PropsGetCount(
   System.String^ _bsNodeName,
   [Out] System.int _pnCount
)

Parameters
_bsNodeName

_pnCount

See Also
Reference
IMProps Interface

IMProps Members


PropsInfoGet Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsInfoGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsInfoGet( _
   ByVal _bsPropName As System.String, _
   ByVal _eType As eMInfoType, _
   ByRef _pbsInfo As System.String _
)

void PropsInfoGet(
   System.string _bsPropName,
   eMInfoType _eType,
   out System.string _pbsInfo
)

void PropsInfoGet(
   System.String^ _bsPropName,
   eMInfoType _eType,
   [Out] System.String^ _pbsInfo
)

Parameters
_bsPropName

_eType

_pbsInfo

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGet Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsOptionGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGet( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGet(
   System.string _bsPropName,
   out System.int _pnOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

void PropsOptionGet(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_pnOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGetByIndex Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsOptionGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionIdx As System.Integer, _
   ByRef _pbsOptionValue As System.String, _
   ByRef _pbsHelp As System.String _
)

void PropsOptionGetByIndex(
   System.string _bsPropName,
   System.int _nOptionIdx,
   out System.string _pbsOptionValue,
   out System.string _pbsHelp
)

void PropsOptionGetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionIdx,
   [Out] System.String^ _pbsOptionValue,
   [Out] System.String^ _pbsHelp
)

Parameters
_bsPropName

_nOptionIdx

_pbsOptionValue

_pbsHelp

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionGetCount Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsOptionGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionGetCount( _
   ByVal _bsPropName As System.String, _
   ByRef _pnOptionCount As System.Integer _
)

void PropsOptionGetCount(
   System.string _bsPropName,
   out System.int _pnOptionCount
)

void PropsOptionGetCount(
   System.String^ _bsPropName,
   [Out] System.int _pnOptionCount
)

Parameters
_bsPropName

_pnOptionCount

See Also
Reference
IMProps Interface

IMProps Members


PropsOptionSetByIndex Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsOptionSetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsOptionSetByIndex( _
   ByVal _bsPropName As System.String, _
   ByVal _nOptionInx As System.Integer _
)

void PropsOptionSetByIndex(
   System.string _bsPropName,
   System.int _nOptionInx
)

void PropsOptionSetByIndex(
   System.String^ _bsPropName,
   System.int _nOptionInx
)

Parameters
_bsPropName

_nOptionInx

See Also
Reference
IMProps Interface

IMProps Members


PropsRemove Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsRemove Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsRemove( _
   ByVal _bsPropName As System.String _
)

void PropsRemove(
   System.string _bsPropName
)

void PropsRemove(
   System.String^ _bsPropName
)

Parameters
_bsPropName

See Also
Reference
IMProps Interface

IMProps Members


PropsSet Method (IMProps)

MFORMATSLib Namespace > IMProps Interface : PropsSet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PropsSet( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

void PropsSet(
   System.string _bsPropName,
   System.string _bsPropValue
)

void PropsSet(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

_bsPropValue

See Also
Reference
IMProps Interface

IMProps Members


%%PageItemTitle%%

IMSenders Interface
Members

MFORMATSLib Namespace : IMSenders Interface
See Also

Reference

IMSenders Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMSenders Interface Members
Methods

MFORMATSLib Namespace : IMSenders Interface

The following tables list the members exposed by IMSenders.

Public Methods
 | Name | Description
Method | SendersGet |
Method | SendersGetByIndex |
Method | SendersGetCount |
Top
See Also

Reference

IMSenders Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMSenders Interface Methods

MFORMATSLib Namespace : IMSenders Interface

For a list of all members of this type, see IMSenders members.

Public Methods
 | Name | Description
Method | SendersGet |
Method | SendersGetByIndex |
Method | SendersGetCount |
Top
See Also

Reference

IMSenders Interface
MFORMATSLib Namespace


SendersGet Method (IMSenders)

MFORMATSLib Namespace > IMSenders Interface : SendersGet Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SendersGet( _
   ByVal _bsName As System.String, _
   ByRef _ppSender As System.Object _
)

void SendersGet(
   System.string _bsName,
   out System.object _ppSender
)

void SendersGet(
   System.String^ _bsName,
   [Out] System.Object^ _ppSender
)

Parameters
_bsName

_ppSender

See Also
Reference
IMSenders Interface

IMSenders Members


SendersGetByIndex Method (IMSenders)

MFORMATSLib Namespace > IMSenders Interface : SendersGetByIndex Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SendersGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pVidProps As M_VID_PROPS, _
   ByRef _pAudProps As M_AUD_PROPS _
)

void SendersGetByIndex(
   System.int _nIndex,
   out System.string _pbsName,
   out M_VID_PROPS _pVidProps,
   out M_AUD_PROPS _pAudProps
)

void SendersGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] M_VID_PROPS _pVidProps,
   [Out] M_AUD_PROPS _pAudProps
)

Parameters
_nIndex

_pbsName

_pVidProps

_pAudProps

See Also
Reference
IMSenders Interface

IMSenders Members


SendersGetCount Method (IMSenders)

MFORMATSLib Namespace > IMSenders Interface : SendersGetCount Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SendersGetCount( _
   ByRef _pnCount As System.Integer _
)

void SendersGetCount(
   out System.int _pnCount
)

void SendersGetCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

See Also
Reference
IMSenders Interface

IMSenders Members


%%PageItemTitle%%

IMWebRTC Interface
Members

MFORMATSLib Namespace : IMWebRTC Interface
Operates WebRTC functionality
See Also

Reference

IMWebRTC Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IMWebRTC Interface Members
Methods

MFORMATSLib Namespace : IMWebRTC Interface

The following tables list the members exposed by IMWebRTC.

Public Methods
 | Name | Description
Method | ConnectToPeer | Connects to peer
Method | DisconnectPeer | Disconnects from peer
Method | GetPeerByIndex | Gets peer by its index
Method | GetPeersCount | Gets peer count
Method | Login | Login to signaling server
Method | Logout | Logout from signaling server
Method | ObjectCallbackSet | Sets callback for events usage (see IMCallback interface)
Method | ObjectCallbackSetFunc | Sets callback function
Method | SendMessageToPeer | Sends message to a peer
Top
See Also

Reference

IMWebRTC Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IMWebRTC Interface Methods

MFORMATSLib Namespace : IMWebRTC Interface

For a list of all members of this type, see IMWebRTC members.

Public Methods
 | Name | Description
Method | ConnectToPeer | Connects to peer
Method | DisconnectPeer | Disconnects from peer
Method | GetPeerByIndex | Gets peer by its index
Method | GetPeersCount | Gets peer count
Method | Login | Login to signaling server
Method | Logout | Logout from signaling server
Method | ObjectCallbackSet | Sets callback for events usage (see IMCallback interface)
Method | ObjectCallbackSetFunc | Sets callback function
Method | SendMessageToPeer | Sends message to a peer
Top
See Also

Reference

IMWebRTC Interface
MFORMATSLib Namespace


ConnectToPeer Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : ConnectToPeer Method
peer ID
Connects to peer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ConnectToPeer( _
   ByVal _bsPeerID As System.String _
)

void ConnectToPeer(
   System.string _bsPeerID
)

void ConnectToPeer(
   System.String^ _bsPeerID
)

Parameters
_bsPeerID

peer ID

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


DisconnectPeer Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : DisconnectPeer Method
peer ID
Disconnects from peer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub DisconnectPeer( _
   ByVal _bsPeerID As System.String _
)

void DisconnectPeer(
   System.string _bsPeerID
)

void DisconnectPeer(
   System.String^ _bsPeerID
)

Parameters
_bsPeerID

peer ID

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


GetPeerByIndex Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : GetPeerByIndex Method
peer index
peer ID
Gets peer by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetPeerByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsAccessName As System.String, _
   ByRef _pbsPeerID As System.String _
)

void GetPeerByIndex(
   System.int _nIndex,
   out System.string _pbsAccessName,
   out System.string _pbsPeerID
)

void GetPeerByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsAccessName,
   [Out] System.String^ _pbsPeerID
)

Parameters
_nIndex

peer index
_pbsAccessName

_pbsPeerID

peer ID

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


GetPeersCount Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : GetPeersCount Method
number of peers connected
Gets peer count
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetPeersCount( _
   ByRef _pnCount As System.Integer _
)

void GetPeersCount(
   out System.int _pnCount
)

void GetPeersCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

number of peers connected

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


Login Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : Login Method
peer ID
Login to signaling server
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub Login( _
   ByVal _bsSigServerURL As System.String, _
   ByVal _bsAccessName As System.String, _
   ByRef _pbsPeerID As System.String _
)

void Login(
   System.string _bsSigServerURL,
   System.string _bsAccessName,
   out System.string _pbsPeerID
)

void Login(
   System.String^ _bsSigServerURL,
   System.String^ _bsAccessName,
   [Out] System.String^ _pbsPeerID
)

Parameters
_bsSigServerURL

_bsAccessName

_pbsPeerID

peer ID

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


Logout Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : Logout Method
Logout from signaling server
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub Logout()

void Logout()

void Logout();

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


ObjectCallbackSet Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : ObjectCallbackSet Method
callback function
callback user data
Sets callback for events usage (see IMCallback interface)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ObjectCallbackSet( _
   ByVal _pCallback As IMCallback, _
   ByVal _llCallbackUserData As System.Long _
)

void ObjectCallbackSet(
   IMCallback _pCallback,
   System.long _llCallbackUserData
)

void ObjectCallbackSet(
   IMCallback^ _pCallback,
   System.int64 _llCallbackUserData
)

Parameters
_pCallback

callback function
_llCallbackUserData

callback user data

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


ObjectCallbackSetFunc Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : ObjectCallbackSetFunc Method
pointer to OnEvent event
pointer to OnFrame event
callback user data
Sets callback function
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ObjectCallbackSetFunc( _
   ByVal _lpPFOnEvent As System.Long, _
   ByVal _lpPFOnFrame As System.Long, _
   ByVal _llCallbackUserData As System.Long _
)

void ObjectCallbackSetFunc(
   System.long _lpPFOnEvent,
   System.long _lpPFOnFrame,
   System.long _llCallbackUserData
)

void ObjectCallbackSetFunc(
   System.int64 _lpPFOnEvent,
   System.int64 _lpPFOnFrame,
   System.int64 _llCallbackUserData
)

Parameters
_lpPFOnEvent

pointer to OnEvent event
_lpPFOnFrame

pointer to OnFrame event
_llCallbackUserData

callback user data

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


SendMessageToPeer Method (IMWebRTC)

MFORMATSLib Namespace > IMWebRTC Interface : SendMessageToPeer Method
peer ID
message body
Sends message to a peer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SendMessageToPeer( _
   ByVal _bsPeerID As System.String, _
   ByVal _bsMessage As System.String _
)

void SendMessageToPeer(
   System.string _bsPeerID,
   System.string _bsMessage
)

void SendMessageToPeer(
   System.String^ _bsPeerID,
   System.String^ _bsMessage
)

Parameters
_bsPeerID

peer ID
_bsMessage

message body

See Also
Reference
IMWebRTC Interface

IMWebRTC Members


%%PageItemTitle%%

ISequentialStream Interface
Members

MFORMATSLib Namespace : ISequentialStream Interface
See Also

Reference

ISequentialStream Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

ISequentialStream Interface Members
Methods

MFORMATSLib Namespace : ISequentialStream Interface

The following tables list the members exposed by ISequentialStream.

Public Methods
 | Name | Description
Method | RemoteRead |
Method | RemoteWrite |
Top
See Also

Reference

ISequentialStream Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

ISequentialStream Interface Methods

MFORMATSLib Namespace : ISequentialStream Interface

For a list of all members of this type, see ISequentialStream members.

Public Methods
 | Name | Description
Method | RemoteRead |
Method | RemoteWrite |
Top
See Also

Reference

ISequentialStream Interface
MFORMATSLib Namespace


RemoteRead Method (ISequentialStream)

MFORMATSLib Namespace > ISequentialStream Interface : RemoteRead Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoteRead( _
   ByRef pv As System.Byte, _
   ByVal cb As System.UInteger, _
   ByRef pcbRead As System.UInteger _
)

void RemoteRead(
   out System.byte pv,
   System.uint cb,
   out System.uint pcbRead
)

void RemoteRead(
   [Out] System.byte pv,
   System.uint cb,
   [Out] System.uint pcbRead
)

Parameters
pv

cb

pcbRead

See Also
Reference
ISequentialStream Interface

ISequentialStream Members


RemoteWrite Method (ISequentialStream)

MFORMATSLib Namespace > ISequentialStream Interface : RemoteWrite Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoteWrite( _
   ByRef pv As System.Byte, _
   ByVal cb As System.UInteger, _
   ByRef pcbWritten As System.UInteger _
)

void RemoteWrite(
   ref System.byte pv,
   System.uint cb,
   out System.uint pcbWritten
)

void RemoteWrite(
   System.byte% pv,
   System.uint cb,
   [Out] System.uint pcbWritten
)

Parameters
pv

cb

pcbWritten

See Also
Reference
ISequentialStream Interface

ISequentialStream Members


%%PageItemTitle%%

IStream Interface
Members

MFORMATSLib Namespace : IStream Interface
See Also

Reference

IStream Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

IStream Interface Members
Methods

MFORMATSLib Namespace : IStream Interface

The following tables list the members exposed by IStream.

Public Methods
 | Name | Description
Method | Clone |
Method | Commit |
Method | LockRegion |
Method | RemoteCopyTo |
Method | RemoteRead |
Method | RemoteSeek |
Method | RemoteWrite |
Method | Revert |
Method | SetSize |
Method | Stat |
Method | UnlockRegion |
Top
See Also

Reference

IStream Interface
MFORMATSLib Namespace


%%PageItemTitle%% $$Methods$$

IStream Interface Methods

MFORMATSLib Namespace : IStream Interface

For a list of all members of this type, see IStream members.

Public Methods
 | Name | Description
Method | Clone |
Method | Commit |
Method | LockRegion |
Method | RemoteCopyTo |
Method | RemoteRead |
Method | RemoteSeek |
Method | RemoteWrite |
Method | Revert |
Method | SetSize |
Method | Stat |
Method | UnlockRegion |
Top
See Also

Reference

IStream Interface
MFORMATSLib Namespace


Clone Method

MFORMATSLib Namespace > IStream Interface : Clone Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub Clone( _
   ByRef ppstm As IStream _
)

void Clone(
   out IStream ppstm
)

void Clone(
   [Out] IStream^ ppstm
)

Parameters
ppstm

See Also
Reference
IStream Interface

IStream Members


Commit Method

MFORMATSLib Namespace > IStream Interface : Commit Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub Commit( _
   ByVal grfCommitFlags As System.UInteger _
)

void Commit(
   System.uint grfCommitFlags
)

void Commit(
   System.uint grfCommitFlags
)

Parameters
grfCommitFlags

See Also
Reference
IStream Interface

IStream Members


LockRegion Method

MFORMATSLib Namespace > IStream Interface : LockRegion Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub LockRegion( _
   ByVal libOffset As _ULARGE_INTEGER, _
   ByVal cb As _ULARGE_INTEGER, _
   ByVal dwLockType As System.UInteger _
)

void LockRegion(
   _ULARGE_INTEGER libOffset,
   _ULARGE_INTEGER cb,
   System.uint dwLockType
)

void LockRegion(
   _ULARGE_INTEGER libOffset,
   _ULARGE_INTEGER cb,
   System.uint dwLockType
)

Parameters
libOffset

cb

dwLockType

See Also
Reference
IStream Interface

IStream Members


RemoteCopyTo Method

MFORMATSLib Namespace > IStream Interface : RemoteCopyTo Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoteCopyTo( _
   ByVal pstm As IStream, _
   ByVal cb As _ULARGE_INTEGER, _
   ByRef pcbRead As _ULARGE_INTEGER, _
   ByRef pcbWritten As _ULARGE_INTEGER _
)

void RemoteCopyTo(
   IStream pstm,
   _ULARGE_INTEGER cb,
   out _ULARGE_INTEGER pcbRead,
   out _ULARGE_INTEGER pcbWritten
)

void RemoteCopyTo(
   IStream^ pstm,
   _ULARGE_INTEGER cb,
   [Out] _ULARGE_INTEGER pcbRead,
   [Out] _ULARGE_INTEGER pcbWritten
)

Parameters
pstm

cb

pcbRead

pcbWritten

See Also
Reference
IStream Interface

IStream Members


RemoteRead Method (IStream)

MFORMATSLib Namespace > IStream Interface : RemoteRead Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoteRead( _
   ByRef pv As System.Byte, _
   ByVal cb As System.UInteger, _
   ByRef pcbRead As System.UInteger _
)

void RemoteRead(
   out System.byte pv,
   System.uint cb,
   out System.uint pcbRead
)

void RemoteRead(
   [Out] System.byte pv,
   System.uint cb,
   [Out] System.uint pcbRead
)

Parameters
pv

cb

pcbRead

See Also
Reference
IStream Interface

IStream Members


RemoteSeek Method

MFORMATSLib Namespace > IStream Interface : RemoteSeek Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoteSeek( _
   ByVal dlibMove As _LARGE_INTEGER, _
   ByVal dwOrigin As System.UInteger, _
   ByRef plibNewPosition As _ULARGE_INTEGER _
)

void RemoteSeek(
   _LARGE_INTEGER dlibMove,
   System.uint dwOrigin,
   out _ULARGE_INTEGER plibNewPosition
)

void RemoteSeek(
   _LARGE_INTEGER dlibMove,
   System.uint dwOrigin,
   [Out] _ULARGE_INTEGER plibNewPosition
)

Parameters
dlibMove

dwOrigin

plibNewPosition

See Also
Reference
IStream Interface

IStream Members


RemoteWrite Method (IStream)

MFORMATSLib Namespace > IStream Interface : RemoteWrite Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoteWrite( _
   ByRef pv As System.Byte, _
   ByVal cb As System.UInteger, _
   ByRef pcbWritten As System.UInteger _
)

void RemoteWrite(
   ref System.byte pv,
   System.uint cb,
   out System.uint pcbWritten
)

void RemoteWrite(
   System.byte% pv,
   System.uint cb,
   [Out] System.uint pcbWritten
)

Parameters
pv

cb

pcbWritten

See Also
Reference
IStream Interface

IStream Members


Revert Method

MFORMATSLib Namespace > IStream Interface : Revert Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub Revert()

void Revert()

void Revert();

See Also
Reference
IStream Interface

IStream Members


SetSize Method

MFORMATSLib Namespace > IStream Interface : SetSize Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetSize( _
   ByVal libNewSize As _ULARGE_INTEGER _
)

void SetSize(
   _ULARGE_INTEGER libNewSize
)

void SetSize(
   _ULARGE_INTEGER libNewSize
)

Parameters
libNewSize

See Also
Reference
IStream Interface

IStream Members


Stat Method

MFORMATSLib Namespace > IStream Interface : Stat Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub Stat( _
   ByRef pstatstg As tagSTATSTG, _
   ByVal grfStatFlag As System.UInteger _
)

void Stat(
   out tagSTATSTG pstatstg,
   System.uint grfStatFlag
)

void Stat(
   [Out] tagSTATSTG pstatstg,
   System.uint grfStatFlag
)

Parameters
pstatstg

grfStatFlag

See Also
Reference
IStream Interface

IStream Members


UnlockRegion Method

MFORMATSLib Namespace > IStream Interface : UnlockRegion Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub UnlockRegion( _
   ByVal libOffset As _ULARGE_INTEGER, _
   ByVal cb As _ULARGE_INTEGER, _
   ByVal dwLockType As System.UInteger _
)

void UnlockRegion(
   _ULARGE_INTEGER libOffset,
   _ULARGE_INTEGER cb,
   System.uint dwLockType
)

void UnlockRegion(
   _ULARGE_INTEGER libOffset,
   _ULARGE_INTEGER cb,
   System.uint dwLockType
)

Parameters
libOffset

cb

dwLockType

See Also
Reference
IStream Interface

IStream Members


%%PageItemTitle%%

MFSink Interface
Members

MFORMATSLib Namespace : MFSink Interface
See Also

Reference

MFSink Members
MFORMATSLib Namespace


%%PageItemTitle%% $$Members$$

MFSink Interface Members

MFORMATSLib Namespace : MFSink Interface

The following tables list the members exposed by MFSink.

See Also

Reference

MFSink Interface
MFORMATSLib Namespace


%%PageItemTitle%%

IMEventsEvent_OnEventSafeEventHandler Delegate

MFORMATSLib Namespace : IMEventsEvent_OnEventSafeEventHandler Delegate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Delegate Sub IMEventsEvent_OnEventSafeEventHandler( _
   ByVal bsChannelID As System.String, _
   ByVal bsEventName As System.String, _
   ByVal bsEventParam As System.String, _
   ByVal pEventObject As System.Object _
)

public delegate void IMEventsEvent_OnEventSafeEventHandler(
   System.string bsChannelID,
   System.string bsEventName,
   System.string bsEventParam,
   System.object pEventObject
)

public delegate void IMEventsEvent_OnEventSafeEventHandler(
   System.String^ bsChannelID,
   System.String^ bsEventName,
   System.String^ bsEventParam,
   System.Object^ pEventObject
)

Parameters
bsChannelID

bsEventName

bsEventParam

pEventObject

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
IMEventsEvent_OnEventSafeEventHandler Members

MFORMATSLib Namespace


%%PageItemTitle%%

IMEventsFrame_OnFrameSafeEventHandler Delegate

MFORMATSLib Namespace : IMEventsFrame_OnFrameSafeEventHandler Delegate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Delegate Sub IMEventsFrame_OnFrameSafeEventHandler( _
   ByVal bsChannelID As System.String, _
   ByVal pMFrame As System.Object _
)

public delegate void IMEventsFrame_OnFrameSafeEventHandler(
   System.string bsChannelID,
   System.object pMFrame
)

public delegate void IMEventsFrame_OnFrameSafeEventHandler(
   System.String^ bsChannelID,
   System.Object^ pMFrame
)

Parameters
bsChannelID

pMFrame

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
IMEventsFrame_OnFrameSafeEventHandler Members

MFORMATSLib Namespace


MLCHARGENLib Namespace
Inheritance Hierarchy
Contains all classes, interfaces, enumerations and structures of Character Generator.
Classes
 | Class | Description
Class | CoMLCharGenClass | Operates Character Generator
Interfaces
 | Interface | Description
Interface | IMLCharGen | Operates CG items
Interface | IMLCharGenCallback | Operates events in CG (for C++, Delphi languages)
Interface | IMLCharGenEdit | Additional interface for CG Editor.
Interface | IMLCharGenEvents | Operates events in CG (for C#, Visual Basic languages)
Interface | IMLCharGenSchedule | Operates with scheduling of CG item
Interface | IMLProperties | Operates properties
Interface | IMLXMLPersist | Operates saving and loading of CG configurations
Interface | IMPlugin | Operates media within plugin (for internal usage)
Structures
 | Structure | Description
Structure | CG_AUTO_BLEND | Contains information about item auto-blend.
Structure | CG_ITEM_MOVEMENT | Contains information about item movement.
Structure | CG_ITEM_PROPS | Contains item base properties
Structure | CG_SCHEDULE_TIMES | contains information about item schedule
Structure | CG_TEXT_PROPS | Contains information about text item properties
Structure | CG_VIDEO_PROPS | Contains information about video item properties
Structure | tagPOINT | Contains information about item position
Structure | tagRECT | Contains information about rectangular around item.
Structure | tagSIZE | Contains information about item size
Enumerations
 | Enumeration | Description
Enumeration | eCG_Align | Specifies item alignment
Enumeration | eCG_DTFlags | Specifies text direction
Enumeration | eCG_FileType | Specifies file type for images
Enumeration | eCG_GroupItemsRemoveType | Specifies removing type of group items
Enumeration | eCG_Interlace | Specifies interlacing
Enumeration | eCG_ItemType | Specifies item types
Enumeration | eCG_PlayingMode | Specifies item playing mode
Enumeration | eCG_Scale | Specifies scale type
Enumeration | eCG_TextType | Specifies type of a text item
Enumeration | eCG_TimelineState | Specifies timeline state
See Also

Reference

MLCHARGENLib Assembly


%%ItemTitle%% $$INHERITANCE_HIERARCHY$$

MLCHARGENLib Namespace Inheritance Hierarchy
Inheritance Hierarchy
System.Object
System.MarshalByRefObject
System.__ComObject
MLCHARGENLib.CoMLCharGenClass
System.ValueType
MLCHARGENLib.CG_AUTO_BLEND
MLCHARGENLib.CG_ITEM_MOVEMENT
MLCHARGENLib.CG_ITEM_PROPS
MLCHARGENLib.CG_SCHEDULE_TIMES
MLCHARGENLib.CG_TEXT_PROPS
MLCHARGENLib.CG_VIDEO_PROPS
MLCHARGENLib.tagPOINT
MLCHARGENLib.tagRECT
MLCHARGENLib.tagSIZE
See Also

Reference

MLCHARGENLib Assembly


%%PageItemTitle%%

CoMLCharGenClass Class
Members

MLCHARGENLib Namespace : CoMLCharGenClass Class
Operates Character Generator
See Also

Reference

CoMLCharGenClass Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CoMLCharGenClass Class Members
Methods Events

MLCHARGENLib Namespace : CoMLCharGenClass Class

The following tables list the members exposed by CoMLCharGenClass.

Public Methods
Name | Description
Public Method | AddCallback | adds callback (for C++ and Delphi) to CG.
Public Method | AddImageByHandle | adds image from memory by its handle
Public Method | AddNewItem | adds new item to CG configuration.
Public Method | AddNewTextItem | adds new text item to CG configuration.
Public Method | CaptureItemImage | captures item image to a file.
Public Method | ChangeItemID | changes item ID
Public Method | ChangeItemZOrder | changes order of item on Z axis (front - back)
Public Method | CloneItem | copies the item
Public Method | CompositionsAddItems | adds item to a composition.
Public Method | CompositionsChangeName | changes composition name
Public Method | CompositionsDisplay | displays a composition.
Public Method | CompositionsDisplayInLayer | displays composition in some layer. You need to create layer before call this method.
Public Method | CompositionsGetByIndex | gets composition by its index
Public Method | CompositionsGetCount | gets count of compositions.
Public Method | CompositionsGetItem | gets item in composition by its index
Public Method | CompositionsGetItemsCount | gets count of items in a composition
Public Method | CompositionsLoadAll | loads several compositions at once
Public Method | CompositionsLoadOne | loads a single composition
Public Method | CompositionsRemove | removes composition
Public Method | CompositionsRemoveItem | removes item from a composition
Public Method | CompositionsSaveToFile | saves composition configuration to the file
Public Method | CompositionsSaveToString | saves composition configuration to a string
Public Method | EditItemAbsoluteRectGet | Returns absolute rectangle of edited item
Public Method | EditItemAbsoluteRectSet | Sets absolute rectangle for edited item
Public Method | EditItemGetByPoint | Returns item ID by point. It is used for example in mouse click event in CG editor.
Public Method | EditItemsGetByRect | Gets a set of items' IDs in a selected rectangle.
Public Method | EditSelectionAdd | Adds item into a selection.
Public Method | EditSelectionGetByIndex | Gets a selected item from the selection by item index
Public Method | EditSelectionGetCount | Gets count of the selected items
Public Method | EditSelectionRemove | Removes a selection from the item.
Public Method | EnableKeyingMode | enables keyig mode
Public Method | FlashCallFunction | calls function of flash object
Public Method | FlashGetClipInfo | gets flash clip information
Public Method | FlashGetVariable | gets flash variable
Public Method | FlashGetVariableName | gets name of variable by its index
Public Method | FlashGetVariablesCount | gets count of flash variables
Public Method | FlashGoToFrame | seeks to the frame in flash
Public Method | FlashGoToLabel | seeks to a flash label
Public Method | FlashSetReturnValueCB | sets flash returned value
Public Method | FlashSetVariable | sets flash variable
Public Method | GetAutoBlend | get auto-blend configuration
Public Method | GetItem | gets item by its index
Public Method | GetItemAnchorPos | gets item anchor position
Public Method | GetItemBaseProps | gets item base properties
Public Method | GetItemMovement | gets item movement configuration
Public Method | GetItemOriginalSize | gets item original size
Public Method | GetItemProperties | gets item property
Public Method | GetItemRate | gets item rate
Public Method | GetItemsCount | gets count of items
Public Method | GetMLProps | gets a property value
Public Method | GetPlayingFrame | gets a current frame
Public Method | GetVideoOutputRect | gets item output rectangular
Public Method | GetVideoProperties | gets video properties
Public Method | GroupAddItem | adds item to a group
Public Method | GroupGetItem | gets group item by its index
Public Method | GroupGetItemGroup | gets group by item ID
Public Method | GroupItemsCount | gets count of items in a group.
Public Method | GroupRemoveAll | removes all items from group
Public Method | GroupRemoveItem | removes single item from a group
Public Method | IsKeyingMode | indicates whether CG is in keying mode
Public Method | IsUseExtraBuffer | indicates whether CG uses extra buffer
Public Method | LoadConfig | load configuration
Public Method | LoadFromXML | loads a configuration from string or from file
Public Method | OnMediaEnd | Appears when media is over
Public Method | OnMediaFlush | Appears on media flush
Public Method | OnMediaReceive | Appears on media receive
Public Method | PauseItem | pauses an item
Public Method | RemoveCallback | removes CG callback
Public Method | RemoveCallback2 | removes callback cookie
Public Method | RemoveItem | removes item
Public Method | RemoveItemWithDelay | removes item with delay
Public Method | RewindItem | rewinds an item
Public Method | SaveToXMLFile | saves configuration to a file
Public Method | SaveToXMLFileParam | saves configuration to a file with additional parameters
Public Method | SaveToXMLString | saves configuration to a string
Public Method | SaveToXMLStringParam | saves configuration to a string with additional parameters
Public Method | ScheduleAdd | adds scheduling to the item or composition.
Public Method | ScheduleBasic | makes item as basic scheduling item
Public Method | ScheduleBasicCancel | cancel "basic" state for the item.
Public Method | ScheduleGet | gets scheduling configuration by its ID
Public Method | ScheduleGetCount | gets count of scheduling items
Public Method | ScheduleLoadFromXML | loads scheduling from file or string
Public Method | ScheduleRemove | removes an item from scheduling timeline
Public Method | ScheduleSaveToFile | saves scheduling to a file
Public Method | ScheduleSaveToString | saves scheduling to a string
Public Method | ScheduleTimelineContinue | seeks a timeline to the position
Public Method | ScheduleTimelineGetCount | gets count of timelines
Public Method | ScheduleTimelineGetID | gets timeline ID by its index.
Public Method | ScheduleTimelineGetTimes | gets time positions of scheduling
Public Method | ScheduleTimelinePause | pauses timeline
Public Method | ScheduleTimelineStart | starts timeline
Public Method | ScheduleTimelineStop | stops timeline
Public Method | SetAutoBlend | sets item auto-blend parameters
Public Method | SetItemAlpha | sets item transparency (from 0 to 255)
Public Method | SetItemAnchorPos | sets item anchor position
Public Method | SetItemBackground | sets item background
Public Method | SetItemBaseProps | sets item base properties
Public Method | SetItemMovement | sets item movement
Public Method | SetItemPos | sets item positions
Public Method | SetItemProperties | sets item properties
Public Method | SetItemRate | sets item rate
Public Method | SetItemSize | sets item size
Public Method | SetMLProps | sets a property value
Public Method | SetPlayingFrame | sets item playing frame
Public Method | SetTimeOffset | sets offset position
Public Method SetVideoOutputRect

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRectWithDelay method performs the video transformation immediately.

Public Method SetVideoOutputRectWithDelay

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRect method performs the video transformation within a certain period of time which allows to make a smooth transition between the start and end transformation points.

Public Method | SetVideoProperties | sets video properties
Public Method | ShowItem | shows or hides item
Public Method | ShowItemWithDelay | shows or hides item with delay
Public Method | ShowPropertiesPage | shows CG properties menu
Public Method | TextGetProps | gets text item properties
Public Method | TextSetProps | sets text item properties
Public Method | TickerAddContent | adds content to the ticker.
Public Method | TickerAddNew | adds new ticker item
Public Method | UseExtraBuffer | start or stop using extra buffer
Top
Public Events
 | Name | Description
Public Event | OnCGEvent | This method is called when some CG event occurs.
Public Event | OnEndOfClip | This method is called when clip is over.
Public Event | OnFlashCallback | This method is called when some flash callback event occurs.
Public Event | OnFrame | This method is called on every frame.
Public Event | OnTransitionDone | This method is called when transition between items is done.
Top
See Also

Reference

CoMLCharGenClass Class
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

CoMLCharGenClass Class Methods

MLCHARGENLib Namespace : CoMLCharGenClass Class

For a list of all members of this type, see CoMLCharGenClass members.

Public Methods
Name | Description
Public Method | AddCallback | adds callback (for C++ and Delphi) to CG.
Public Method | AddImageByHandle | adds image from memory by its handle
Public Method | AddNewItem | adds new item to CG configuration.
Public Method | AddNewTextItem | adds new text item to CG configuration.
Public Method | CaptureItemImage | captures item image to a file.
Public Method | ChangeItemID | changes item ID
Public Method | ChangeItemZOrder | changes order of item on Z axis (front - back)
Public Method | CloneItem | copies the item
Public Method | CompositionsAddItems | adds item to a composition.
Public Method | CompositionsChangeName | changes composition name
Public Method | CompositionsDisplay | displays a composition.
Public Method | CompositionsDisplayInLayer | displays composition in some layer. You need to create layer before call this method.
Public Method | CompositionsGetByIndex | gets composition by its index
Public Method | CompositionsGetCount | gets count of compositions.
Public Method | CompositionsGetItem | gets item in composition by its index
Public Method | CompositionsGetItemsCount | gets count of items in a composition
Public Method | CompositionsLoadAll | loads several compositions at once
Public Method | CompositionsLoadOne | loads a single composition
Public Method | CompositionsRemove | removes composition
Public Method | CompositionsRemoveItem | removes item from a composition
Public Method | CompositionsSaveToFile | saves composition configuration to the file
Public Method | CompositionsSaveToString | saves composition configuration to a string
Public Method | EditItemAbsoluteRectGet | Returns absolute rectangle of edited item
Public Method | EditItemAbsoluteRectSet | Sets absolute rectangle for edited item
Public Method | EditItemGetByPoint | Returns item ID by point. It is used for example in mouse click event in CG editor.
Public Method | EditItemsGetByRect | Gets a set of items' IDs in a selected rectangle.
Public Method | EditSelectionAdd | Adds item into a selection.
Public Method | EditSelectionGetByIndex | Gets a selected item from the selection by item index
Public Method | EditSelectionGetCount | Gets count of the selected items
Public Method | EditSelectionRemove | Removes a selection from the item.
Public Method | EnableKeyingMode | enables keyig mode
Public Method | FlashCallFunction | calls function of flash object
Public Method | FlashGetClipInfo | gets flash clip information
Public Method | FlashGetVariable | gets flash variable
Public Method | FlashGetVariableName | gets name of variable by its index
Public Method | FlashGetVariablesCount | gets count of flash variables
Public Method | FlashGoToFrame | seeks to the frame in flash
Public Method | FlashGoToLabel | seeks to a flash label
Public Method | FlashSetReturnValueCB | sets flash returned value
Public Method | FlashSetVariable | sets flash variable
Public Method | GetAutoBlend | get auto-blend configuration
Public Method | GetItem | gets item by its index
Public Method | GetItemAnchorPos | gets item anchor position
Public Method | GetItemBaseProps | gets item base properties
Public Method | GetItemMovement | gets item movement configuration
Public Method | GetItemOriginalSize | gets item original size
Public Method | GetItemProperties | gets item property
Public Method | GetItemRate | gets item rate
Public Method | GetItemsCount | gets count of items
Public Method | GetMLProps | gets a property value
Public Method | GetPlayingFrame | gets a current frame
Public Method | GetVideoOutputRect | gets item output rectangular
Public Method | GetVideoProperties | gets video properties
Public Method | GroupAddItem | adds item to a group
Public Method | GroupGetItem | gets group item by its index
Public Method | GroupGetItemGroup | gets group by item ID
Public Method | GroupItemsCount | gets count of items in a group.
Public Method | GroupRemoveAll | removes all items from group
Public Method | GroupRemoveItem | removes single item from a group
Public Method | IsKeyingMode | indicates whether CG is in keying mode
Public Method | IsUseExtraBuffer | indicates whether CG uses extra buffer
Public Method | LoadConfig | load configuration
Public Method | LoadFromXML | loads a configuration from string or from file
Public Method | OnMediaEnd | Appears when media is over
Public Method | OnMediaFlush | Appears on media flush
Public Method | OnMediaReceive | Appears on media receive
Public Method | PauseItem | pauses an item
Public Method | RemoveCallback | removes CG callback
Public Method | RemoveCallback2 | removes callback cookie
Public Method | RemoveItem | removes item
Public Method | RemoveItemWithDelay | removes item with delay
Public Method | RewindItem | rewinds an item
Public Method | SaveToXMLFile | saves configuration to a file
Public Method | SaveToXMLFileParam | saves configuration to a file with additional parameters
Public Method | SaveToXMLString | saves configuration to a string
Public Method | SaveToXMLStringParam | saves configuration to a string with additional parameters
Public Method | ScheduleAdd | adds scheduling to the item or composition.
Public Method | ScheduleBasic | makes item as basic scheduling item
Public Method | ScheduleBasicCancel | cancel "basic" state for the item.
Public Method | ScheduleGet | gets scheduling configuration by its ID
Public Method | ScheduleGetCount | gets count of scheduling items
Public Method | ScheduleLoadFromXML | loads scheduling from file or string
Public Method | ScheduleRemove | removes an item from scheduling timeline
Public Method | ScheduleSaveToFile | saves scheduling to a file
Public Method | ScheduleSaveToString | saves scheduling to a string
Public Method | ScheduleTimelineContinue | seeks a timeline to the position
Public Method | ScheduleTimelineGetCount | gets count of timelines
Public Method | ScheduleTimelineGetID | gets timeline ID by its index.
Public Method | ScheduleTimelineGetTimes | gets time positions of scheduling
Public Method | ScheduleTimelinePause | pauses timeline
Public Method | ScheduleTimelineStart | starts timeline
Public Method | ScheduleTimelineStop | stops timeline
Public Method | SetAutoBlend | sets item auto-blend parameters
Public Method | SetItemAlpha | sets item transparency (from 0 to 255)
Public Method | SetItemAnchorPos | sets item anchor position
Public Method | SetItemBackground | sets item background
Public Method | SetItemBaseProps | sets item base properties
Public Method | SetItemMovement | sets item movement
Public Method | SetItemPos | sets item positions
Public Method | SetItemProperties | sets item properties
Public Method | SetItemRate | sets item rate
Public Method | SetItemSize | sets item size
Public Method | SetMLProps | sets a property value
Public Method | SetPlayingFrame | sets item playing frame
Public Method | SetTimeOffset | sets offset position
Public Method SetVideoOutputRect

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRectWithDelay method performs the video transformation immediately.

Public Method SetVideoOutputRectWithDelay

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRect method performs the video transformation within a certain period of time which allows to make a smooth transition between the start and end transformation points.

Public Method | SetVideoProperties | sets video properties
Public Method | ShowItem | shows or hides item
Public Method | ShowItemWithDelay | shows or hides item with delay
Public Method | ShowPropertiesPage | shows CG properties menu
Public Method | TextGetProps | gets text item properties
Public Method | TextSetProps | sets text item properties
Public Method | TickerAddContent | adds content to the ticker.
Public Method | TickerAddNew | adds new ticker item
Public Method | UseExtraBuffer | start or stop using extra buffer
Top
See Also

Reference

CoMLCharGenClass Class
MLCHARGENLib Namespace


AddCallback Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : AddCallback Method
callback interface
callback cookie
adds callback (for C++ and Delphi) to CG.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub AddCallback( _
   ByVal _pCallback As IMLCharGenCallback, _
   ByVal _nCookie As System.Integer _
)

public virtual void AddCallback(
   IMLCharGenCallback _pCallback,
   System.int _nCookie
)

public:
virtual void AddCallback(
   IMLCharGenCallback^ _pCallback,
   System.int _nCookie
)

Parameters
_pCallback

callback interface
_nCookie

callback cookie

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


AddImageByHandle Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : AddImageByHandle Method
image handle
X axis position
Y axis position
indicates whether position is relative ("1") or not ("0")
indicates whether item will be showed ("1") or not ("0")
ID of new item
adds image from memory by its handle
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub AddImageByHandle( _
   ByVal _hBitmap As System.Integer, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsItemID As System.String _
)

public virtual void AddImageByHandle(
   System.int _hBitmap,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   out System.string _pbsItemID
)

public:
virtual void AddImageByHandle(
   System.int _hBitmap,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   [Out] System.String^ _pbsItemID
)

Parameters
_hBitmap

image handle
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePos

indicates whether position is relative ("1") or not ("0")
_bShow

indicates whether item will be showed ("1") or not ("0")
_pbsItemID

ID of new item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


AddNewItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : AddNewItem Method
file name or item XML description
X axis position
Y axis position
indicates whether position and item size are relative ("1") or not ("0")
indicates whether a new item will be showed ("1") or not ("0")
new item ID
adds new item to CG configuration.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub AddNewItem( _
   ByVal _bsFileNameOrItemDesc As System.String, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePosAndSize As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsItemID As System.String _
)

public virtual void AddNewItem(
   System.string _bsFileNameOrItemDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePosAndSize,
   System.int _bShow,
   out System.string _pbsItemID
)

public:
virtual void AddNewItem(
   System.String^ _bsFileNameOrItemDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePosAndSize,
   System.int _bShow,
   [Out] System.String^ _pbsItemID
)

Parameters
_bsFileNameOrItemDesc

file name or item XML description
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePosAndSize

indicates whether position and item size are relative ("1") or not ("0")
_bShow

indicates whether a new item will be showed ("1") or not ("0")
_pbsItemID

new item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


AddNewTextItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : AddNewTextItem Method
text properties
X axis position
Y axis position
indicates whether position in relative ('1") or not ("0")
indicates whether an item will be showed ("1") or not ("0")
new item ID
adds new text item to CG configuration.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub AddNewTextItem( _
   ByRef _pTextProps As CG_TEXT_PROPS, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsItemID As System.String _
)

public virtual void AddNewTextItem(
   ref CG_TEXT_PROPS _pTextProps,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   out System.string _pbsItemID
)

public:
virtual void AddNewTextItem(
   CG_TEXT_PROPS% _pTextProps,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   [Out] System.String^ _pbsItemID
)

Parameters
_pTextProps

text properties
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePos

indicates whether position in relative ('1") or not ("0")
_bShow

indicates whether an item will be showed ("1") or not ("0")
_pbsItemID

new item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CaptureItemImage Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CaptureItemImage Method
item ID
output file name
file type
captures item image to a file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CaptureItemImage( _
   ByVal _bsItemID As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _eFileType As eCG_FileType _
)

public virtual void CaptureItemImage(
   System.string _bsItemID,
   System.string _bsFileName,
   eCG_FileType _eFileType
)

public:
virtual void CaptureItemImage(
   System.String^ _bsItemID,
   System.String^ _bsFileName,
   eCG_FileType _eFileType
)

Parameters
_bsItemID

item ID
_bsFileName

output file name
_eFileType

file type

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ChangeItemID Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ChangeItemID Method
item ID
new ID of the item
changes item ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ChangeItemID( _
   ByVal _bsItemID As System.String, _
   ByVal _bsItemNewID As System.String _
)

public virtual void ChangeItemID(
   System.string _bsItemID,
   System.string _bsItemNewID
)

public:
virtual void ChangeItemID(
   System.String^ _bsItemID,
   System.String^ _bsItemNewID
)

Parameters
_bsItemID

item ID
_bsItemNewID

new ID of the item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ChangeItemZOrder Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ChangeItemZOrder Method
item ID
direction and lenght of changes (negative is to back, positive is to front)
changes order of item on Z axis (front - back)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ChangeItemZOrder( _
   ByVal _bsItemID As System.String, _
   ByVal _nChange As System.Integer _
)

public virtual void ChangeItemZOrder(
   System.string _bsItemID,
   System.int _nChange
)

public:
virtual void ChangeItemZOrder(
   System.String^ _bsItemID,
   System.int _nChange
)

Parameters
_bsItemID

item ID
_nChange

direction and lenght of changes (negative is to back, positive is to front)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CloneItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CloneItem Method
original item ID
indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
new item ID
copies the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CloneItem( _
   ByVal _bsOriginalItemID As System.String, _
   ByVal _bMakeReference As System.Integer, _
   ByRef _pbsNewItemID As System.String _
)

public virtual void CloneItem(
   System.string _bsOriginalItemID,
   System.int _bMakeReference,
   out System.string _pbsNewItemID
)

public:
virtual void CloneItem(
   System.String^ _bsOriginalItemID,
   System.int _bMakeReference,
   [Out] System.String^ _pbsNewItemID
)

Parameters
_bsOriginalItemID

original item ID
_bMakeReference

indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
_pbsNewItemID

new item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsAddItems Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsAddItems Method
item ID
indicates whether the composition will be cleared before add this item ("1") or not ("0")
comment to the composition
name of the composition
adds item to a composition.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsAddItems( _
   ByVal _bsItemsID As System.String, _
   ByVal _bClearBeforeAdd As System.Integer, _
   ByVal _bsCompositionComment As System.String, _
   ByRef _pbsCompositionName As System.String _
)

public virtual void CompositionsAddItems(
   System.string _bsItemsID,
   System.int _bClearBeforeAdd,
   System.string _bsCompositionComment,
   out System.string _pbsCompositionName
)

public:
virtual void CompositionsAddItems(
   System.String^ _bsItemsID,
   System.int _bClearBeforeAdd,
   System.String^ _bsCompositionComment,
   [Out] System.String^ _pbsCompositionName
)

Parameters
_bsItemsID

item ID
_bClearBeforeAdd

indicates whether the composition will be cleared before add this item ("1") or not ("0")
_bsCompositionComment

comment to the composition
_pbsCompositionName

name of the composition

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsChangeName Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsChangeName Method
composition name
new composition name
new composition comment
changes composition name
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsChangeName( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsNewCompositionName As System.String, _
   ByVal _bsNewCommment As System.String _
)

public virtual void CompositionsChangeName(
   System.string _bsCompositionName,
   System.string _bsNewCompositionName,
   System.string _bsNewCommment
)

public:
virtual void CompositionsChangeName(
   System.String^ _bsCompositionName,
   System.String^ _bsNewCompositionName,
   System.String^ _bsNewCommment
)

Parameters
_bsCompositionName

composition name
_bsNewCompositionName

new composition name
_bsNewCommment

new composition comment

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsDisplay Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsDisplay Method
composition name
parameters
time to introduce a composition
time to show composition. To display composition forever you should set 0.
time to hide a composition
displays a composition.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsDisplay( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsParamString As System.String, _
   ByVal _dblTimeIntro As System.Double, _
   ByVal _dblShowTime As System.Double, _
   ByVal _dblTimeExit As System.Double _
)

public virtual void CompositionsDisplay(
   System.string _bsCompositionName,
   System.string _bsParamString,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

public:
virtual void CompositionsDisplay(
   System.String^ _bsCompositionName,
   System.String^ _bsParamString,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

Parameters
_bsCompositionName

composition name
_bsParamString

parameters
_dblTimeIntro

time to introduce a composition
_dblShowTime

time to show composition. To display composition forever you should set 0.
_dblTimeExit

time to hide a composition

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsDisplayInLayer Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsDisplayInLayer Method
composition name
parameters
layer ID
time to introduce a composition
time to show composition. To display composition forever you should set 0.
time to hide a composition
displays composition in some layer. You need to create layer before call this method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsDisplayInLayer( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsParamString As System.String, _
   ByVal _bsLayerID As System.String, _
   ByVal _dblTimeIntro As System.Double, _
   ByVal _dblShowTime As System.Double, _
   ByVal _dblTimeExit As System.Double _
)

public virtual void CompositionsDisplayInLayer(
   System.string _bsCompositionName,
   System.string _bsParamString,
   System.string _bsLayerID,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

public:
virtual void CompositionsDisplayInLayer(
   System.String^ _bsCompositionName,
   System.String^ _bsParamString,
   System.String^ _bsLayerID,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

Parameters
_bsCompositionName

composition name
_bsParamString

parameters
_bsLayerID

layer ID
_dblTimeIntro

time to introduce a composition
_dblShowTime

time to show composition. To display composition forever you should set 0.
_dblTimeExit

time to hide a composition

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsGetByIndex Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsGetByIndex Method
composition index
name of the composition
composition comment
gets composition by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pbsComment As System.String _
)

public virtual void CompositionsGetByIndex(
   System.int _nIndex,
   out System.string _pbsName,
   out System.string _pbsComment
)

public:
virtual void CompositionsGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] System.String^ _pbsComment
)

Parameters
_nIndex

composition index
_pbsName

name of the composition
_pbsComment

composition comment

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsGetCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsGetCount Method
number of compositions
gets count of compositions.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsGetCount( _
   ByRef _pnCount As System.Integer _
)

public virtual void CompositionsGetCount(
   out System.int _pnCount
)

public:
virtual void CompositionsGetCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

number of compositions

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsGetItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsGetItem Method
composition name
item index
item ID
descriprion of the item
gets item in composition by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsGetItem( _
   ByVal _bsCompositionName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String, _
   ByRef _pbsItemXMLDesc As System.String _
)

public virtual void CompositionsGetItem(
   System.string _bsCompositionName,
   System.int _nIndex,
   out System.string _pbsItemID,
   out System.string _pbsItemXMLDesc
)

public:
virtual void CompositionsGetItem(
   System.String^ _bsCompositionName,
   System.int _nIndex,
   [Out] System.String^ _pbsItemID,
   [Out] System.String^ _pbsItemXMLDesc
)

Parameters
_bsCompositionName

composition name
_nIndex

item index
_pbsItemID

item ID
_pbsItemXMLDesc

descriprion of the item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsGetItemsCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsGetItemsCount Method
composition name
number of items
gets count of items in a composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsGetItemsCount( _
   ByVal _bsCompositionName As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void CompositionsGetItemsCount(
   System.string _bsCompositionName,
   ref System.int _pnCount
)

public:
virtual void CompositionsGetItemsCount(
   System.String^ _bsCompositionName,
   System.int% _pnCount
)

Parameters
_bsCompositionName

composition name
_pnCount

number of items

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsLoadAll Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsLoadAll Method
file name or XML description of compositions
indicates whether all composition will be cleared before loading
loads several compositions at once
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsLoadAll( _
   ByVal _bsFileNameOrXMLDescription As System.String, _
   ByVal _bClearBeforeLoad As System.Integer _
)

public virtual void CompositionsLoadAll(
   System.string _bsFileNameOrXMLDescription,
   System.int _bClearBeforeLoad
)

public:
virtual void CompositionsLoadAll(
   System.String^ _bsFileNameOrXMLDescription,
   System.int _bClearBeforeLoad
)

Parameters
_bsFileNameOrXMLDescription

file name or XML description of compositions
_bClearBeforeLoad

indicates whether all composition will be cleared before loading

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsLoadOne Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsLoadOne Method
file name or XML description of composition
composition name
loads a single composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsLoadOne( _
   ByVal _bsFileNameOrXMLDescription As System.String, _
   ByRef _pbsCompositionName As System.String _
)

public virtual void CompositionsLoadOne(
   System.string _bsFileNameOrXMLDescription,
   out System.string _pbsCompositionName
)

public:
virtual void CompositionsLoadOne(
   System.String^ _bsFileNameOrXMLDescription,
   [Out] System.String^ _pbsCompositionName
)

Parameters
_bsFileNameOrXMLDescription

file name or XML description of composition
_pbsCompositionName

composition name

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsRemove Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsRemove Method
composition name
removes composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsRemove( _
   ByVal _bsCompositionName As System.String _
)

public virtual void CompositionsRemove(
   System.string _bsCompositionName
)

public:
virtual void CompositionsRemove(
   System.String^ _bsCompositionName
)

Parameters
_bsCompositionName

composition name

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsRemoveItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsRemoveItem Method
composition name
item ID
removes item from a composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsRemoveItem( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsItemID As System.String _
)

public virtual void CompositionsRemoveItem(
   System.string _bsCompositionName,
   System.string _bsItemID
)

public:
virtual void CompositionsRemoveItem(
   System.String^ _bsCompositionName,
   System.String^ _bsItemID
)

Parameters
_bsCompositionName

composition name
_bsItemID

item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsSaveToFile Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsSaveToFile Method
composition name
output file name
saves composition configuration to the file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsSaveToFile( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsFileName As System.String _
)

public virtual void CompositionsSaveToFile(
   System.string _bsCompositionName,
   System.string _bsFileName
)

public:
virtual void CompositionsSaveToFile(
   System.String^ _bsCompositionName,
   System.String^ _bsFileName
)

Parameters
_bsCompositionName

composition name
_bsFileName

output file name

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


CompositionsSaveToString Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CompositionsSaveToString Method
composition name
output string with description
saves composition configuration to a string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub CompositionsSaveToString( _
   ByVal _bsCompositionName As System.String, _
   ByRef _pbsXMLDesc As System.String _
)

public virtual void CompositionsSaveToString(
   System.string _bsCompositionName,
   out System.string _pbsXMLDesc
)

public:
virtual void CompositionsSaveToString(
   System.String^ _bsCompositionName,
   [Out] System.String^ _pbsXMLDesc
)

Parameters
_bsCompositionName

composition name
_pbsXMLDesc

output string with description

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditItemAbsoluteRectGet Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditItemAbsoluteRectGet Method
ID of the edited item
rectangle for the edited item
Returns absolute rectangle of edited item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditItemAbsoluteRectGet( _
   ByVal _bsItemID As System.String, _
   ByRef _prcItemRect As tagRECT _
)

public virtual void EditItemAbsoluteRectGet(
   System.string _bsItemID,
   out tagRECT _prcItemRect
)

public:
virtual void EditItemAbsoluteRectGet(
   System.String^ _bsItemID,
   [Out] tagRECT _prcItemRect
)

Parameters
_bsItemID

ID of the edited item
_prcItemRect

rectangle for the edited item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditItemAbsoluteRectSet Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditItemAbsoluteRectSet Method
ID of the edited item
item rectangle to be set
Sets absolute rectangle for edited item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditItemAbsoluteRectSet( _
   ByVal _bsItemID As System.String, _
   ByRef _prcItemRect As tagRECT _
)

public virtual void EditItemAbsoluteRectSet(
   System.string _bsItemID,
   ref tagRECT _prcItemRect
)

public:
virtual void EditItemAbsoluteRectSet(
   System.String^ _bsItemID,
   tagRECT% _prcItemRect
)

Parameters
_bsItemID

ID of the edited item
_prcItemRect

item rectangle to be set

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditItemGetByPoint Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditItemGetByPoint Method
ID of the edited group
horizontal position of the point
vertical position of the point
ID of the selected item
Returns item ID by point. It is used for example in mouse click event in CG editor.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditItemGetByPoint( _
   ByVal _bsGroupID As System.String, _
   ByVal _nPosX As System.Integer, _
   ByVal _nPosY As System.Integer, _
   ByRef _pbsItemID As System.String _
)

public virtual void EditItemGetByPoint(
   System.string _bsGroupID,
   System.int _nPosX,
   System.int _nPosY,
   out System.string _pbsItemID
)

public:
virtual void EditItemGetByPoint(
   System.String^ _bsGroupID,
   System.int _nPosX,
   System.int _nPosY,
   [Out] System.String^ _pbsItemID
)

Parameters
_bsGroupID

ID of the edited group
_nPosX

horizontal position of the point
_nPosY

vertical position of the point
_pbsItemID

ID of the selected item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditItemsGetByRect Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditItemsGetByRect Method
edited group ID
left position of the selected rectangle
top position of the selected rectangle
right position of the selected rectangle
bottom position of the selected rectangle
list of items' IDs
Gets a set of items' IDs in a selected rectangle.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditItemsGetByRect( _
   ByVal _bsGroupID As System.String, _
   ByVal _nLeft As System.Integer, _
   ByVal _nTop As System.Integer, _
   ByVal _nRight As System.Integer, _
   ByVal _nBottom As System.Integer, _
   ByRef _pbsItemsIDs As System.String _
)

public virtual void EditItemsGetByRect(
   System.string _bsGroupID,
   System.int _nLeft,
   System.int _nTop,
   System.int _nRight,
   System.int _nBottom,
   out System.string _pbsItemsIDs
)

public:
virtual void EditItemsGetByRect(
   System.String^ _bsGroupID,
   System.int _nLeft,
   System.int _nTop,
   System.int _nRight,
   System.int _nBottom,
   [Out] System.String^ _pbsItemsIDs
)

Parameters
_bsGroupID

edited group ID
_nLeft

left position of the selected rectangle
_nTop

top position of the selected rectangle
_nRight

right position of the selected rectangle
_nBottom

bottom position of the selected rectangle
_pbsItemsIDs

list of items' IDs

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditSelectionAdd Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditSelectionAdd Method
item ID
selection color
indicates whether a previous selection will be cleared
Adds item into a selection.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditSelectionAdd( _
   ByVal _bsItemID As System.String, _
   ByVal _bsColor As System.String, _
   ByVal _bClearSel As System.Integer _
)

public virtual void EditSelectionAdd(
   System.string _bsItemID,
   System.string _bsColor,
   System.int _bClearSel
)

public:
virtual void EditSelectionAdd(
   System.String^ _bsItemID,
   System.String^ _bsColor,
   System.int _bClearSel
)

Parameters
_bsItemID

item ID
_bsColor

selection color
_bClearSel

indicates whether a previous selection will be cleared

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditSelectionGetByIndex Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditSelectionGetByIndex Method
item index
item ID
selection color for the item
Gets a selected item from the selection by item index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditSelectionGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String, _
   ByRef _pbsColor As System.String _
)

public virtual void EditSelectionGetByIndex(
   System.int _nIndex,
   out System.string _pbsItemID,
   out System.string _pbsColor
)

public:
virtual void EditSelectionGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsItemID,
   [Out] System.String^ _pbsColor
)

Parameters
_nIndex

item index
_pbsItemID

item ID
_pbsColor

selection color for the item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditSelectionGetCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditSelectionGetCount Method
number of a selected items
Gets count of the selected items
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditSelectionGetCount( _
   ByRef _pnSelCount As System.Integer _
)

public virtual void EditSelectionGetCount(
   out System.int _pnSelCount
)

public:
virtual void EditSelectionGetCount(
   [Out] System.int _pnSelCount
)

Parameters
_pnSelCount

number of a selected items

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EditSelectionRemove Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EditSelectionRemove Method
item ID
Removes a selection from the item.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EditSelectionRemove( _
   ByVal _bsItemID As System.String _
)

public virtual void EditSelectionRemove(
   System.string _bsItemID
)

public:
virtual void EditSelectionRemove(
   System.String^ _bsItemID
)

Parameters
_bsItemID

item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


EnableKeyingMode Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : EnableKeyingMode Method
"1" to enable keying, "0" to desable keying
enables keyig mode
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub EnableKeyingMode( _
   ByVal _bEnable As System.Integer _
)

public virtual void EnableKeyingMode(
   System.int _bEnable
)

public:
virtual void EnableKeyingMode(
   System.int _bEnable
)

Parameters
_bEnable

"1" to enable keying, "0" to desable keying

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashCallFunction Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashCallFunction Method
item ID
flash function name
result of request
calls function of flash object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashCallFunction( _
   ByVal _bsItemID As System.String, _
   ByVal _bsRequest As System.String, _
   ByRef _pbsResponce As System.String _
)

public virtual void FlashCallFunction(
   System.string _bsItemID,
   System.string _bsRequest,
   out System.string _pbsResponce
)

public:
virtual void FlashCallFunction(
   System.String^ _bsItemID,
   System.String^ _bsRequest,
   [Out] System.String^ _pbsResponce
)

Parameters
_bsItemID

item ID
_bsRequest

flash function name
_pbsResponce

result of request

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashGetClipInfo Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashGetClipInfo Method
item ID
number of frames
frame rate
gets flash clip information
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashGetClipInfo( _
   ByVal _bsItemID As System.String, _
   ByRef _pnTotalFrames As System.Integer, _
   ByRef _pdblFrameRate As System.Double _
)

public virtual void FlashGetClipInfo(
   System.string _bsItemID,
   out System.int _pnTotalFrames,
   out System.double _pdblFrameRate
)

public:
virtual void FlashGetClipInfo(
   System.String^ _bsItemID,
   [Out] System.int _pnTotalFrames,
   [Out] System.double _pdblFrameRate
)

Parameters
_bsItemID

item ID
_pnTotalFrames

number of frames
_pdblFrameRate

frame rate

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashGetVariable Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashGetVariable Method
item ID
name of variable
value of variable
gets flash variable
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashGetVariable( _
   ByVal _bsItemID As System.String, _
   ByVal _bsVarName As System.String, _
   ByRef _pbsVarValue As System.String _
)

public virtual void FlashGetVariable(
   System.string _bsItemID,
   System.string _bsVarName,
   out System.string _pbsVarValue
)

public:
virtual void FlashGetVariable(
   System.String^ _bsItemID,
   System.String^ _bsVarName,
   [Out] System.String^ _pbsVarValue
)

Parameters
_bsItemID

item ID
_bsVarName

name of variable
_pbsVarValue

value of variable

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashGetVariableName Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashGetVariableName Method
item ID
variable index
name of a variable
gets name of variable by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashGetVariableName( _
   ByVal _bsItemID As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsVarName As System.String _
)

public virtual void FlashGetVariableName(
   System.string _bsItemID,
   System.int _nIndex,
   out System.string _pbsVarName
)

public:
virtual void FlashGetVariableName(
   System.String^ _bsItemID,
   System.int _nIndex,
   [Out] System.String^ _pbsVarName
)

Parameters
_bsItemID

item ID
_nIndex

variable index
_pbsVarName

name of a variable

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashGetVariablesCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashGetVariablesCount Method

item ID

number of variables
gets count of flash variables
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashGetVariablesCount( _
   ByVal _bsItemID As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void FlashGetVariablesCount(
   System.string _bsItemID,
   out System.int _pnCount
)

public:
virtual void FlashGetVariablesCount(
   System.String^ _bsItemID,
   [Out] System.int _pnCount
)

Parameters
_bsItemID

item ID
_pnCount

number of variables

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashGoToFrame Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashGoToFrame Method
item ID
flash target
frame number
seeks to the frame in flash
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashGoToFrame( _
   ByVal _bsItemID As System.String, _
   ByVal _bsTarget As System.String, _
   ByVal _nFrame As System.Integer _
)

public virtual void FlashGoToFrame(
   System.string _bsItemID,
   System.string _bsTarget,
   System.int _nFrame
)

public:
virtual void FlashGoToFrame(
   System.String^ _bsItemID,
   System.String^ _bsTarget,
   System.int _nFrame
)

Parameters
_bsItemID

item ID
_bsTarget

flash target
_nFrame

frame number

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashGoToLabel Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashGoToLabel Method
item ID
flash target

flash label

seeks to a flash label
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashGoToLabel( _
   ByVal _bsItemID As System.String, _
   ByVal _bsTarget As System.String, _
   ByVal _bsLabel As System.String _
)

public virtual void FlashGoToLabel(
   System.string _bsItemID,
   System.string _bsTarget,
   System.string _bsLabel
)

public:
virtual void FlashGoToLabel(
   System.String^ _bsItemID,
   System.String^ _bsTarget,
   System.String^ _bsLabel
)

Parameters
_bsItemID

item ID
_bsTarget

flash target
_bsLabel

flash label

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashSetReturnValueCB Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashSetReturnValueCB Method
returned value
sets flash returned value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashSetReturnValueCB( _
   ByVal _bsReturnValue As System.String _
)

public virtual void FlashSetReturnValueCB(
   System.string _bsReturnValue
)

public:
virtual void FlashSetReturnValueCB(
   System.String^ _bsReturnValue
)

Parameters
_bsReturnValue

returned value

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


FlashSetVariable Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : FlashSetVariable Method
item ID
name of variable
value of variable
sets flash variable
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub FlashSetVariable( _
   ByVal _bsItemID As System.String, _
   ByVal _bsVarName As System.String, _
   ByVal _bsVarValue As System.String _
)

public virtual void FlashSetVariable(
   System.string _bsItemID,
   System.string _bsVarName,
   System.string _bsVarValue
)

public:
virtual void FlashSetVariable(
   System.String^ _bsItemID,
   System.String^ _bsVarName,
   System.String^ _bsVarValue
)

Parameters
_bsItemID

item ID
_bsVarName

name of variable
_bsVarValue

value of variable

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetAutoBlend Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetAutoBlend Method
item ID
auto-blend configuration
get auto-blend configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetAutoBlend( _
   ByVal _bsItemID As System.String, _
   ByRef _pAutoBlend As CG_AUTO_BLEND _
)

public virtual void GetAutoBlend(
   System.string _bsItemID,
   out CG_AUTO_BLEND _pAutoBlend
)

public:
virtual void GetAutoBlend(
   System.String^ _bsItemID,
   [Out] CG_AUTO_BLEND _pAutoBlend
)

Parameters
_bsItemID

item ID
_pAutoBlend

auto-blend configuration

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItem Method
item index
item ID
gets item by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItem( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String _
)

public virtual void GetItem(
   System.int _nIndex,
   out System.string _pbsItemID
)

public:
virtual void GetItem(
   System.int _nIndex,
   [Out] System.String^ _pbsItemID
)

Parameters
_nIndex

item index
_pbsItemID

item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemAnchorPos Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemAnchorPos Method
item ID
item relative anchor
screen relative anchor
gets item anchor position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemAnchorPos( _
   ByVal _bsItemID As System.String, _
   ByRef _peItemRelAnchor As eCG_Align, _
   ByRef _peScreenRelAnchor As eCG_Align _
)

public virtual void GetItemAnchorPos(
   System.string _bsItemID,
   out eCG_Align _peItemRelAnchor,
   out eCG_Align _peScreenRelAnchor
)

public:
virtual void GetItemAnchorPos(
   System.String^ _bsItemID,
   [Out] eCG_Align _peItemRelAnchor,
   [Out] eCG_Align _peScreenRelAnchor
)

Parameters
_bsItemID

item ID
_peItemRelAnchor

item relative anchor
_peScreenRelAnchor

screen relative anchor

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemBaseProps Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemBaseProps Method
item ID
file name or description of item
properties of the item
gets item base properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemBaseProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pbsFileNameOrDesc As System.String, _
   ByRef _pItemProps As CG_ITEM_PROPS _
)

public virtual void GetItemBaseProps(
   System.string _bsItemID,
   out System.string _pbsFileNameOrDesc,
   out CG_ITEM_PROPS _pItemProps
)

public:
virtual void GetItemBaseProps(
   System.String^ _bsItemID,
   [Out] System.String^ _pbsFileNameOrDesc,
   [Out] CG_ITEM_PROPS _pItemProps
)

Parameters
_bsItemID

item ID
_pbsFileNameOrDesc

file name or description of item
_pItemProps

properties of the item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemMovement Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemMovement Method
item ID
item movement
gets item movement configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemMovement( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemMove As CG_ITEM_MOVEMENT _
)

public virtual void GetItemMovement(
   System.string _bsItemID,
   out CG_ITEM_MOVEMENT _pItemMove
)

public:
virtual void GetItemMovement(
   System.String^ _bsItemID,
   [Out] CG_ITEM_MOVEMENT _pItemMove
)

Parameters
_bsItemID

item ID
_pItemMove

item movement

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemOriginalSize Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemOriginalSize Method
item ID
size of the item
gets item original size
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemOriginalSize( _
   ByVal _bsItemID As System.String, _
   ByRef _pSize As tagSIZE _
)

public virtual void GetItemOriginalSize(
   System.string _bsItemID,
   out tagSIZE _pSize
)

public:
virtual void GetItemOriginalSize(
   System.String^ _bsItemID,
   [Out] tagSIZE _pSize
)

Parameters
_bsItemID

item ID
_pSize

size of the item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemProperties Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemProperties Method
item ID
name of the property
description (value) of the property
gets item property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemProperties( _
   ByVal _bsItemID As System.String, _
   ByVal _bsPropertyName As System.String, _
   ByRef _pbsPropertyDesc As System.String _
)

public virtual void GetItemProperties(
   System.string _bsItemID,
   System.string _bsPropertyName,
   out System.string _pbsPropertyDesc
)

public:
virtual void GetItemProperties(
   System.String^ _bsItemID,
   System.String^ _bsPropertyName,
   [Out] System.String^ _pbsPropertyDesc
)

Parameters
_bsItemID

item ID
_bsPropertyName

name of the property
_pbsPropertyDesc

description (value) of the property

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemRate Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemRate Method
item ID
original rate
rate of the item
gets item rate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemRate( _
   ByVal _bsItemID As System.String, _
   ByRef _pbOriginalRate As System.Integer, _
   ByRef _pdblSpeed As System.Double _
)

public virtual void GetItemRate(
   System.string _bsItemID,
   out System.int _pbOriginalRate,
   out System.double _pdblSpeed
)

public:
virtual void GetItemRate(
   System.String^ _bsItemID,
   [Out] System.int _pbOriginalRate,
   [Out] System.double _pdblSpeed
)

Parameters
_bsItemID

item ID
_pbOriginalRate

original rate
_pdblSpeed

rate of the item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetItemsCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetItemsCount Method
number of items
gets count of items
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetItemsCount( _
   ByRef _pnItems As System.Integer _
)

public virtual void GetItemsCount(
   out System.int _pnItems
)

public:
virtual void GetItemsCount(
   [Out] System.int _pnItems
)

Parameters
_pnItems

number of items

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetMLProps Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetMLProps Method
name of the property
value of the property
gets a property value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetMLProps( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

public virtual void GetMLProps(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

public:
virtual void GetMLProps(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

name of the property
_pbsPropValue

value of the property

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetPlayingFrame Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetPlayingFrame Method
item ID
frame number
description of current image
gets a current frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetPlayingFrame( _
   ByVal _bsItemID As System.String, _
   ByRef _pnFrame As System.Integer, _
   ByRef _bsCurrentImage As System.String _
)

public virtual void GetPlayingFrame(
   System.string _bsItemID,
   out System.int _pnFrame,
   out System.string _bsCurrentImage
)

public:
virtual void GetPlayingFrame(
   System.String^ _bsItemID,
   [Out] System.int _pnFrame,
   [Out] System.String^ _bsCurrentImage
)

Parameters
_bsItemID

item ID
_pnFrame

frame number
_bsCurrentImage

description of current image

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetVideoOutputRect Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetVideoOutputRect Method
source rectangular
target rectangular
background color
index of the most top video
gets item output rectangular
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetVideoOutputRect( _
   ByRef _prcSource As tagRECT, _
   ByRef _prcTarget As tagRECT, _
   ByRef _pcrBackColor As System.Integer, _
   ByRef _pbTopmostVideo As System.Integer _
)

public virtual void GetVideoOutputRect(
   out tagRECT _prcSource,
   out tagRECT _prcTarget,
   out System.int _pcrBackColor,
   out System.int _pbTopmostVideo
)

public:
virtual void GetVideoOutputRect(
   [Out] tagRECT _prcSource,
   [Out] tagRECT _prcTarget,
   [Out] System.int _pcrBackColor,
   [Out] System.int _pbTopmostVideo
)

Parameters
_prcSource

source rectangular
_prcTarget

target rectangular
_pcrBackColor

background color
_pbTopmostVideo

index of the most top video

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetVideoProperties Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetVideoProperties Method
video properties
original video properties
gets video properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GetVideoProperties( _
   ByRef _pVideoPropsSet As CG_VIDEO_PROPS, _
   ByRef _pVideoPropsOrigin As CG_VIDEO_PROPS _
)

public virtual void GetVideoProperties(
   out CG_VIDEO_PROPS _pVideoPropsSet,
   out CG_VIDEO_PROPS _pVideoPropsOrigin
)

public:
virtual void GetVideoProperties(
   [Out] CG_VIDEO_PROPS _pVideoPropsSet,
   [Out] CG_VIDEO_PROPS _pVideoPropsOrigin
)

Parameters
_pVideoPropsSet

video properties
_pVideoPropsOrigin

original video properties

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GroupAddItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GroupAddItem Method
item ID
indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
type of a group
group ID
adds item to a group
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GroupAddItem( _
   ByVal _bsItemID As System.String, _
   ByVal _bAddAsReference As System.Integer, _
   ByVal _bsGroupType As System.String, _
   ByRef _pbsGroupID As System.String _
)

public virtual void GroupAddItem(
   System.string _bsItemID,
   System.int _bAddAsReference,
   System.string _bsGroupType,
   out System.string _pbsGroupID
)

public:
virtual void GroupAddItem(
   System.String^ _bsItemID,
   System.int _bAddAsReference,
   System.String^ _bsGroupType,
   [Out] System.String^ _pbsGroupID
)

Parameters
_bsItemID

item ID
_bAddAsReference

indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
_bsGroupType

type of a group
_pbsGroupID

group ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GroupGetItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GroupGetItem Method
group ID
item index
item ID
gets group item by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GroupGetItem( _
   ByVal _bsGroupID As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String _
)

public virtual void GroupGetItem(
   System.string _bsGroupID,
   System.int _nIndex,
   out System.string _pbsItemID
)

public:
virtual void GroupGetItem(
   System.String^ _bsGroupID,
   System.int _nIndex,
   [Out] System.String^ _pbsItemID
)

Parameters
_bsGroupID

group ID
_nIndex

item index
_pbsItemID

item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GroupGetItemGroup Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GroupGetItemGroup Method
item ID
group ID (if item is not in group then empty string)
gets group by item ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GroupGetItemGroup( _
   ByVal _bsItemID As System.String, _
   ByRef _pbsGroupID As System.String _
)

public virtual void GroupGetItemGroup(
   System.string _bsItemID,
   out System.string _pbsGroupID
)

public:
virtual void GroupGetItemGroup(
   System.String^ _bsItemID,
   [Out] System.String^ _pbsGroupID
)

Parameters
_bsItemID

item ID
_pbsGroupID

group ID (if item is not in group then empty string)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GroupItemsCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GroupItemsCount Method
group ID
number of items
gets count of items in a group.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GroupItemsCount( _
   ByVal _bsGroupID As System.String, _
   ByRef _pnItemsCount As System.Integer _
)

public virtual void GroupItemsCount(
   System.string _bsGroupID,
   out System.int _pnItemsCount
)

public:
virtual void GroupItemsCount(
   System.String^ _bsGroupID,
   [Out] System.int _pnItemsCount
)

Parameters
_bsGroupID

group ID
_pnItemsCount

number of items

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GroupRemoveAll Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GroupRemoveAll Method
group ID
type of removing
removes all items from group
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GroupRemoveAll( _
   ByVal _bsGroupID As System.String, _
   ByVal _eRemoveType As eCG_GroupItemsRemoveType _
)

public virtual void GroupRemoveAll(
   System.string _bsGroupID,
   eCG_GroupItemsRemoveType _eRemoveType
)

public:
virtual void GroupRemoveAll(
   System.String^ _bsGroupID,
   eCG_GroupItemsRemoveType _eRemoveType
)

Parameters
_bsGroupID

group ID
_eRemoveType

type of removing

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GroupRemoveItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GroupRemoveItem Method
group ID
item ID
removes single item from a group
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub GroupRemoveItem( _
   ByVal _bsGroupID As System.String, _
   ByVal _bsItemID As System.String _
)

public virtual void GroupRemoveItem(
   System.string _bsGroupID,
   System.string _bsItemID
)

public:
virtual void GroupRemoveItem(
   System.String^ _bsGroupID,
   System.String^ _bsItemID
)

Parameters
_bsGroupID

group ID
_bsItemID

item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


IsKeyingMode Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : IsKeyingMode Method
1 is for keying ON, 0 is for OFF
indicates whether CG is in keying mode
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IsKeyingMode( _
   ByRef _pbKeying As System.Integer _
)

public virtual void IsKeyingMode(
   out System.int _pbKeying
)

public:
virtual void IsKeyingMode(
   [Out] System.int _pbKeying
)

Parameters
_pbKeying

1 is for keying ON, 0 is for OFF

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


IsUseExtraBuffer Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : IsUseExtraBuffer Method
1 means that CG uses extra buffer, 0 means that doesn't
indicates whether CG uses extra buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub IsUseExtraBuffer( _
   ByRef _pnUse As System.Integer _
)

public virtual void IsUseExtraBuffer(
   out System.int _pnUse
)

public:
virtual void IsUseExtraBuffer(
   [Out] System.int _pnUse
)

Parameters
_pnUse

1 means that CG uses extra buffer, 0 means that doesn't

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


LoadConfig Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : LoadConfig Method
path to XML configuration
indicates whether configuration will be cleared by default or not
parameters
load configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub LoadConfig( _
   ByVal _bsConfigPathXML As System.String, _
   ByVal _bDefaultClear As System.Integer, _
   ByVal _bsParam As System.String _
)

public virtual void LoadConfig(
   System.string _bsConfigPathXML,
   System.int _bDefaultClear,
   System.string _bsParam
)

public:
virtual void LoadConfig(
   System.String^ _bsConfigPathXML,
   System.int _bDefaultClear,
   System.String^ _bsParam
)

Parameters
_bsConfigPathXML

path to XML configuration
_bDefaultClear

indicates whether configuration will be cleared by default or not
_bsParam

parameters

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


LoadFromXML Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : LoadFromXML Method
file name or string with configuration
loads a configuration from string or from file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub LoadFromXML( _
   ByVal _bsXMLDescOrFile As System.String, _
   ByVal _nLength As System.Integer _
)

public virtual void LoadFromXML(
   System.string _bsXMLDescOrFile,
   System.int _nLength
)

public:
virtual void LoadFromXML(
   System.String^ _bsXMLDescOrFile,
   System.int _nLength
)

Parameters
_bsXMLDescOrFile

file name or string with configuration
_nLength

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnMediaEnd Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnMediaEnd Method
callback cookie
sender of media
flags
Appears when media is over
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub OnMediaEnd( _
   ByVal _llCallbackCookie As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

public virtual void OnMediaEnd(
   System.long _llCallbackCookie,
   System.object _pSender,
   System.uint _dwFlags
)

public:
virtual void OnMediaEnd(
   System.int64 _llCallbackCookie,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackCookie

callback cookie
_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnMediaFlush Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnMediaFlush Method
callback cookie
sender of media
flags
Appears on media flush
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub OnMediaFlush( _
   ByVal _llCallbackCookie As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

public virtual void OnMediaFlush(
   System.long _llCallbackCookie,
   System.object _pSender,
   System.uint _dwFlags
)

public:
virtual void OnMediaFlush(
   System.int64 _llCallbackCookie,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackCookie

callback cookie
_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnMediaReceive Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnMediaReceive Method
callback cookie
sender of media
input frame
output frame
Appears on media receive
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub OnMediaReceive( _
   ByVal _llCallbackCookie As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _pFrame As IMFrame, _
   ByRef _ppFrameRes As IMFrame _
)

public virtual void OnMediaReceive(
   System.long _llCallbackCookie,
   System.object _pSender,
   IMFrame _pFrame,
   out IMFrame _ppFrameRes
)

public:
virtual void OnMediaReceive(
   System.int64 _llCallbackCookie,
   System.Object^ _pSender,
   IMFrame^ _pFrame,
   [Out] IMFrame^ _ppFrameRes
)

Parameters
_llCallbackCookie

callback cookie
_pSender

sender of media
_pFrame

input frame
_ppFrameRes

output frame

Remarks

Example

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


PauseItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : PauseItem Method
item ID
1 to pause an item, 0 to unpause the one
pauses an item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub PauseItem( _
   ByVal _bsItemID As System.String, _
   ByVal _bPause As System.Integer _
)

public virtual void PauseItem(
   System.string _bsItemID,
   System.int _bPause
)

public:
virtual void PauseItem(
   System.String^ _bsItemID,
   System.int _bPause
)

Parameters
_bsItemID

item ID
_bPause

1 to pause an item, 0 to unpause the one

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


RemoveCallback Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : RemoveCallback Method
callback interface
removes CG callback
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub RemoveCallback( _
   ByVal _pCallback As IMLCharGenCallback _
)

public virtual void RemoveCallback(
   IMLCharGenCallback _pCallback
)

public:
virtual void RemoveCallback(
   IMLCharGenCallback^ _pCallback
)

Parameters
_pCallback

callback interface

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


RemoveCallback2 Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : RemoveCallback2 Method
callback cookie
removes callback cookie
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub RemoveCallback2( _
   ByVal _nCookie As System.Integer _
)

public virtual void RemoveCallback2(
   System.int _nCookie
)

public:
virtual void RemoveCallback2(
   System.int _nCookie
)

Parameters
_nCookie

callback cookie

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


RemoveItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : RemoveItem Method
item ID
time to fade the item (in msec)
removes item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub RemoveItem( _
   ByVal _bsItemID As System.String, _
   ByVal _nFadeOutMsec As System.Integer _
)

public virtual void RemoveItem(
   System.string _bsItemID,
   System.int _nFadeOutMsec
)

public:
virtual void RemoveItem(
   System.String^ _bsItemID,
   System.int _nFadeOutMsec
)

Parameters
_bsItemID

item ID
_nFadeOutMsec

time to fade the item (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


RemoveItemWithDelay Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : RemoveItemWithDelay Method
item ID
delay duration (in msec)
time to fade the item (in msec)
removes item with delay
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub RemoveItemWithDelay( _
   ByVal _bsItemID As System.String, _
   ByVal _nMsecDelay As System.Integer, _
   ByVal _nFadeOutMsec As System.Integer _
)

public virtual void RemoveItemWithDelay(
   System.string _bsItemID,
   System.int _nMsecDelay,
   System.int _nFadeOutMsec
)

public:
virtual void RemoveItemWithDelay(
   System.String^ _bsItemID,
   System.int _nMsecDelay,
   System.int _nFadeOutMsec
)

Parameters
_bsItemID

item ID
_nMsecDelay

delay duration (in msec)
_nFadeOutMsec

time to fade the item (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


RewindItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : RewindItem Method
item item
rewinds an item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub RewindItem( _
   ByVal _bsItemID As System.String _
)

public virtual void RewindItem(
   System.string _bsItemID
)

public:
virtual void RewindItem(
   System.String^ _bsItemID
)

Parameters
_bsItemID

item item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SaveToXMLFile Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SaveToXMLFile Method
file name
idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
saves configuration to a file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SaveToXMLFile( _
   ByVal _bsFileName As System.String, _
   ByVal _bUnicode As System.Integer _
)

public virtual void SaveToXMLFile(
   System.string _bsFileName,
   System.int _bUnicode
)

public:
virtual void SaveToXMLFile(
   System.String^ _bsFileName,
   System.int _bUnicode
)

Parameters
_bsFileName

file name
_bUnicode

idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SaveToXMLFileParam Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SaveToXMLFileParam Method
file name
idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
additional parameters
saves configuration to a file with additional parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SaveToXMLFileParam( _
   ByVal _bsFileName As System.String, _
   ByVal _bUnicode As System.Integer, _
   ByVal _bsAdditionParam As System.String _
)

public virtual void SaveToXMLFileParam(
   System.string _bsFileName,
   System.int _bUnicode,
   System.string _bsAdditionParam
)

public:
virtual void SaveToXMLFileParam(
   System.String^ _bsFileName,
   System.int _bUnicode,
   System.String^ _bsAdditionParam
)

Parameters
_bsFileName

file name
_bUnicode

idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
_bsAdditionParam

additional parameters

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SaveToXMLString Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SaveToXMLString Method
output configuration
indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.
saves configuration to a string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SaveToXMLString( _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _nTabs As System.Integer _
)

public virtual void SaveToXMLString(
   out System.string _pbsXMLDesc,
   System.int _nTabs
)

public:
virtual void SaveToXMLString(
   [Out] System.String^ _pbsXMLDesc,
   System.int _nTabs
)

Parameters
_pbsXMLDesc

output configuration
_nTabs

indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SaveToXMLStringParam Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SaveToXMLStringParam Method
output configuration
indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.
additional parameters
saves configuration to a string with additional parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SaveToXMLStringParam( _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _nTabs As System.Integer, _
   ByVal _bsAdditionParam As System.String _
)

public virtual void SaveToXMLStringParam(
   out System.string _pbsXMLDesc,
   System.int _nTabs,
   System.string _bsAdditionParam
)

public:
virtual void SaveToXMLStringParam(
   [Out] System.String^ _pbsXMLDesc,
   System.int _nTabs,
   System.String^ _bsAdditionParam
)

Parameters
_pbsXMLDesc

output configuration
_nTabs

indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.
_bsAdditionParam

additional parameters

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleAdd Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleAdd Method
ID of timeline (scheduling identificator)
ID of item or composition
string with parameters or XML description
item schedule time structure
adds scheduling to the item or composition.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleAdd( _
   ByVal _bsTimelineID As System.String, _
   ByVal _bsItemOrCompositionID As System.String, _
   ByVal _bsParamStringOrXMLFullDesc As System.String, _
   ByRef _pTimes As CG_SCHEDULE_TIMES _
)

public virtual void ScheduleAdd(
   System.string _bsTimelineID,
   System.string _bsItemOrCompositionID,
   System.string _bsParamStringOrXMLFullDesc,
   ref CG_SCHEDULE_TIMES _pTimes
)

public:
virtual void ScheduleAdd(
   System.String^ _bsTimelineID,
   System.String^ _bsItemOrCompositionID,
   System.String^ _bsParamStringOrXMLFullDesc,
   CG_SCHEDULE_TIMES% _pTimes
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_bsItemOrCompositionID

ID of item or composition
_bsParamStringOrXMLFullDesc

string with parameters or XML description
_pTimes

item schedule time structure

Example

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleBasic Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleBasic Method
ID of timeline (scheduling identificator)
item index
string with parameters
time structure
makes item as basic scheduling item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleBasic( _
   ByVal _bsItemOrCompositionID As System.String, _
   ByVal _bItem As System.Integer, _
   ByVal _bsParamString As System.String, _
   ByRef _pTimes As CG_SCHEDULE_TIMES _
)

public virtual void ScheduleBasic(
   System.string _bsItemOrCompositionID,
   System.int _bItem,
   System.string _bsParamString,
   ref CG_SCHEDULE_TIMES _pTimes
)

public:
virtual void ScheduleBasic(
   System.String^ _bsItemOrCompositionID,
   System.int _bItem,
   System.String^ _bsParamString,
   CG_SCHEDULE_TIMES% _pTimes
)

Parameters
_bsItemOrCompositionID

ID of timeline (scheduling identificator)
_bItem

item index
_bsParamString

string with parameters
_pTimes

time structure

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleBasicCancel Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleBasicCancel Method
ID of timeline (scheduling identificator)
item index
whether show or hide item
cancel "basic" state for the item.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleBasicCancel( _
   ByVal _bsItemOrCompositionID As System.String, _
   ByVal _bItem As System.Integer, _
   ByVal _nShowHide As System.Integer _
)

public virtual void ScheduleBasicCancel(
   System.string _bsItemOrCompositionID,
   System.int _bItem,
   System.int _nShowHide
)

public:
virtual void ScheduleBasicCancel(
   System.String^ _bsItemOrCompositionID,
   System.int _bItem,
   System.int _nShowHide
)

Parameters
_bsItemOrCompositionID

ID of timeline (scheduling identificator)
_bItem

item index
_nShowHide

whether show or hide item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleGet Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleGet Method
ID of timeline (scheduling identificator)
scheduling index
ID of item or composition
string with parameters or XML description
item schedule time structure
gets scheduling configuration by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleGet( _
   ByVal _bsTimelineID As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemOrCompositionID As System.String, _
   ByRef _pbsParamStringOrXMLFullDesc As System.String, _
   ByRef _pTimes As CG_SCHEDULE_TIMES _
)

public virtual void ScheduleGet(
   System.string _bsTimelineID,
   System.int _nIndex,
   out System.string _pbsItemOrCompositionID,
   out System.string _pbsParamStringOrXMLFullDesc,
   out CG_SCHEDULE_TIMES _pTimes
)

public:
virtual void ScheduleGet(
   System.String^ _bsTimelineID,
   System.int _nIndex,
   [Out] System.String^ _pbsItemOrCompositionID,
   [Out] System.String^ _pbsParamStringOrXMLFullDesc,
   [Out] CG_SCHEDULE_TIMES _pTimes
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_nIndex

scheduling index
_pbsItemOrCompositionID

ID of item or composition
_pbsParamStringOrXMLFullDesc

string with parameters or XML description
_pTimes

item schedule time structure

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleGetCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleGetCount Method
ID of timeline (scheduling identificator)
number of items
gets count of scheduling items
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleGetCount( _
   ByVal _bsTimelineID As System.String, _
   ByRef _pnCount As System.Integer _
)

public virtual void ScheduleGetCount(
   System.string _bsTimelineID,
   out System.int _pnCount
)

public:
virtual void ScheduleGetCount(
   System.String^ _bsTimelineID,
   [Out] System.int _pnCount
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_pnCount

number of items

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleLoadFromXML Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleLoadFromXML Method
file name or string with configuration
indicates whether all previous timelines will be removed ("-1" to leave timeliness, "1" to remove all of them)
loads scheduling from file or string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleLoadFromXML( _
   ByVal _bsPathNameOrXMLDesc As System.String, _
   ByVal _bRemoveAllTimelines As System.Integer _
)

public virtual void ScheduleLoadFromXML(
   System.string _bsPathNameOrXMLDesc,
   System.int _bRemoveAllTimelines
)

public:
virtual void ScheduleLoadFromXML(
   System.String^ _bsPathNameOrXMLDesc,
   System.int _bRemoveAllTimelines
)

Parameters
_bsPathNameOrXMLDesc

file name or string with configuration
_bRemoveAllTimelines

indicates whether all previous timelines will be removed ("-1" to leave timeliness, "1" to remove all of them)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleRemove Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleRemove Method
ID of timeline (scheduling identificator)
index of item
removes an item from scheduling timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleRemove( _
   ByVal _bsTimelineID As System.String, _
   ByVal _nIndex As System.Integer _
)

public virtual void ScheduleRemove(
   System.string _bsTimelineID,
   System.int _nIndex
)

public:
virtual void ScheduleRemove(
   System.String^ _bsTimelineID,
   System.int _nIndex
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_nIndex

index of item

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleSaveToFile Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleSaveToFile Method
ID of timeline (scheduling identificator)
file name
idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
saves scheduling to a file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleSaveToFile( _
   ByVal _bsTimelineID As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _bUnicode As System.Integer _
)

public virtual void ScheduleSaveToFile(
   System.string _bsTimelineID,
   System.string _bsFileName,
   System.int _bUnicode
)

public:
virtual void ScheduleSaveToFile(
   System.String^ _bsTimelineID,
   System.String^ _bsFileName,
   System.int _bUnicode
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_bsFileName

file name
_bUnicode

idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleSaveToString Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleSaveToString Method
ID of timeline (scheduling identificator)
output configuration
saves scheduling to a string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleSaveToString( _
   ByVal _bsTimelineID As System.String, _
   ByRef _pbsTimeLineXMLDesc As System.String _
)

public virtual void ScheduleSaveToString(
   System.string _bsTimelineID,
   out System.string _pbsTimeLineXMLDesc
)

public:
virtual void ScheduleSaveToString(
   System.String^ _bsTimelineID,
   [Out] System.String^ _pbsTimeLineXMLDesc
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_pbsTimeLineXMLDesc

output configuration

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelineContinue Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelineContinue Method
ID of timeline (scheduling identificator)
position in the timeline
seeks a timeline to the position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelineContinue( _
   ByVal _bsTimelineID As System.String, _
   ByVal _dblSeekTime As System.Double _
)

public virtual void ScheduleTimelineContinue(
   System.string _bsTimelineID,
   System.double _dblSeekTime
)

public:
virtual void ScheduleTimelineContinue(
   System.String^ _bsTimelineID,
   System.double _dblSeekTime
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_dblSeekTime

position in the timeline

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelineGetCount Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelineGetCount Method
number of timelines
gets count of timelines
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelineGetCount( _
   ByRef _pnTimelines As System.Integer _
)

public virtual void ScheduleTimelineGetCount(
   out System.int _pnTimelines
)

public:
virtual void ScheduleTimelineGetCount(
   [Out] System.int _pnTimelines
)

Parameters
_pnTimelines

number of timelines

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelineGetID Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelineGetID Method
timeline index
timeline ID
gets timeline ID by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelineGetID( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsTimelineID As System.String _
)

public virtual void ScheduleTimelineGetID(
   System.int _nIndex,
   out System.string _pbsTimelineID
)

public:
virtual void ScheduleTimelineGetID(
   System.int _nIndex,
   [Out] System.String^ _pbsTimelineID
)

Parameters
_nIndex

timeline index
_pbsTimelineID

timeline ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelineGetTimes Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelineGetTimes Method
ID of timeline (scheduling identificator)
current time
time for a single cicle
state of the timeline
gets time positions of scheduling
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelineGetTimes( _
   ByVal _bsTimelineID As System.String, _
   ByRef _pdblTime As System.Double, _
   ByRef _pdblCicleTime As System.Double, _
   ByRef _ptState As eCG_TimelineState _
)

public virtual void ScheduleTimelineGetTimes(
   System.string _bsTimelineID,
   out System.double _pdblTime,
   out System.double _pdblCicleTime,
   out eCG_TimelineState _ptState
)

public:
virtual void ScheduleTimelineGetTimes(
   System.String^ _bsTimelineID,
   [Out] System.double _pdblTime,
   [Out] System.double _pdblCicleTime,
   [Out] eCG_TimelineState _ptState
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_pdblTime

current time
_pdblCicleTime

time for a single cicle
_ptState

state of the timeline

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelinePause Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelinePause Method
ID of timeline (scheduling identificator)
pauses timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelinePause( _
   ByVal _bsTimelineID As System.String _
)

public virtual void ScheduleTimelinePause(
   System.string _bsTimelineID
)

public:
virtual void ScheduleTimelinePause(
   System.String^ _bsTimelineID
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelineStart Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelineStart Method
ID of timeline (scheduling identificator)
start time
time for a single cicle
indicates whether all other timelines will be stopped
starts timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelineStart( _
   ByVal _bsTimelineID As System.String, _
   ByVal _dblStartTime As System.Double, _
   ByVal _dblCycleTime As System.Double, _
   ByVal _bStopAllOthers As System.Integer _
)

public virtual void ScheduleTimelineStart(
   System.string _bsTimelineID,
   System.double _dblStartTime,
   System.double _dblCycleTime,
   System.int _bStopAllOthers
)

public:
virtual void ScheduleTimelineStart(
   System.String^ _bsTimelineID,
   System.double _dblStartTime,
   System.double _dblCycleTime,
   System.int _bStopAllOthers
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_dblStartTime

start time
_dblCycleTime

time for a single cicle
_bStopAllOthers

indicates whether all other timelines will be stopped

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ScheduleTimelineStop Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ScheduleTimelineStop Method
ID of timeline (scheduling identificator)
stops timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ScheduleTimelineStop( _
   ByVal _bsTimelineID As System.String _
)

public virtual void ScheduleTimelineStop(
   System.string _bsTimelineID
)

public:
virtual void ScheduleTimelineStop(
   System.String^ _bsTimelineID
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetAutoBlend Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetAutoBlend Method
item ID
auto-blend parameters
sets item auto-blend parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetAutoBlend( _
   ByVal _bsItemID As System.String, _
   ByRef _pAutoBlend As CG_AUTO_BLEND _
)

public virtual void SetAutoBlend(
   System.string _bsItemID,
   ref CG_AUTO_BLEND _pAutoBlend
)

public:
virtual void SetAutoBlend(
   System.String^ _bsItemID,
   CG_AUTO_BLEND% _pAutoBlend
)

Parameters
_bsItemID

item ID
_pAutoBlend

auto-blend parameters

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemAlpha Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemAlpha Method
item ID
alpha value
time for changes (in msec)
sets item transparency (from 0 to 255)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemAlpha( _
   ByVal _bsItemID As System.String, _
   ByVal _nNewAlpha As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetItemAlpha(
   System.string _bsItemID,
   System.int _nNewAlpha,
   System.int _nMsecForChange
)

public:
virtual void SetItemAlpha(
   System.String^ _bsItemID,
   System.int _nNewAlpha,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_nNewAlpha

alpha value
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemAnchorPos Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemAnchorPos Method
item ID
item relative anchor
screen relative anchor
sets item anchor position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemAnchorPos( _
   ByVal _bsItemID As System.String, _
   ByVal _eItemRelAnchor As eCG_Align, _
   ByVal _eScreenRelAnchor As eCG_Align _
)

public virtual void SetItemAnchorPos(
   System.string _bsItemID,
   eCG_Align _eItemRelAnchor,
   eCG_Align _eScreenRelAnchor
)

public:
virtual void SetItemAnchorPos(
   System.String^ _bsItemID,
   eCG_Align _eItemRelAnchor,
   eCG_Align _eScreenRelAnchor
)

Parameters
_bsItemID

item ID
_eItemRelAnchor

item relative anchor
_eScreenRelAnchor

screen relative anchor

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemBackground Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemBackground Method
item ID
background color
time for changes (in msec)
sets item background
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemBackground( _
   ByVal _bsItemID As System.String, _
   ByVal _nBackground As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetItemBackground(
   System.string _bsItemID,
   System.int _nBackground,
   System.int _nMsecForChange
)

public:
virtual void SetItemBackground(
   System.String^ _bsItemID,
   System.int _nBackground,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_nBackground

background color
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemBaseProps Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemBaseProps Method
item ID
item properties
time for changes (in msec)
sets item base properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemBaseProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemInfo As CG_ITEM_PROPS, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetItemBaseProps(
   System.string _bsItemID,
   ref CG_ITEM_PROPS _pItemInfo,
   System.int _nMsecForChange
)

public:
virtual void SetItemBaseProps(
   System.String^ _bsItemID,
   CG_ITEM_PROPS% _pItemInfo,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_pItemInfo

item properties
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemMovement Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemMovement Method
item ID
movement parameters
sets item movement
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemMovement( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemMove As CG_ITEM_MOVEMENT _
)

public virtual void SetItemMovement(
   System.string _bsItemID,
   ref CG_ITEM_MOVEMENT _pItemMove
)

public:
virtual void SetItemMovement(
   System.String^ _bsItemID,
   CG_ITEM_MOVEMENT% _pItemMove
)

Parameters
_bsItemID

item ID
_pItemMove

movement parameters

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemPos Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemPos Method
item ID
X axis position
Y axis position
indicates whether position is relative
time for changes (in msec)
sets item positions
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemPos( _
   ByVal _bsItemID As System.String, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetItemPos(
   System.string _bsItemID,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _nMsecForChange
)

public:
virtual void SetItemPos(
   System.String^ _bsItemID,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePos

indicates whether position is relative
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemProperties Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemProperties Method
item ID
property name
value of the property
type of change
time for change (in msec)
sets item properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemProperties( _
   ByVal _bsItemID As System.String, _
   ByVal _bsPropertyName As System.String, _
   ByVal _bsPropertyValue As System.String, _
   ByVal _bsChangeType As System.String, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetItemProperties(
   System.string _bsItemID,
   System.string _bsPropertyName,
   System.string _bsPropertyValue,
   System.string _bsChangeType,
   System.int _nMsecForChange
)

public:
virtual void SetItemProperties(
   System.String^ _bsItemID,
   System.String^ _bsPropertyName,
   System.String^ _bsPropertyValue,
   System.String^ _bsChangeType,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_bsPropertyName

property name
_bsPropertyValue

value of the property
_bsChangeType

type of change
_nMsecForChange

time for change (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemRate Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemRate Method
item ID
original rate
item rate
sets item rate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemRate( _
   ByVal _bsItemID As System.String, _
   ByVal _bOriginalRate As System.Integer, _
   ByVal _dblSpeed As System.Double _
)

public virtual void SetItemRate(
   System.string _bsItemID,
   System.int _bOriginalRate,
   System.double _dblSpeed
)

public:
virtual void SetItemRate(
   System.String^ _bsItemID,
   System.int _bOriginalRate,
   System.double _dblSpeed
)

Parameters
_bsItemID

item ID
_bOriginalRate

original rate
_dblSpeed

item rate

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetItemSize Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetItemSize Method
item ID
width
height
indicates whether size is relative
time for changes (in msec)
sets item size
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetItemSize( _
   ByVal _bsItemID As System.String, _
   ByVal _dblSizeX As System.Double, _
   ByVal _dblSizeY As System.Double, _
   ByVal _bRelativeSize As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetItemSize(
   System.string _bsItemID,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativeSize,
   System.int _nMsecForChange
)

public:
virtual void SetItemSize(
   System.String^ _bsItemID,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativeSize,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_dblSizeX

width
_dblSizeY

height
_bRelativeSize

indicates whether size is relative
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetMLProps Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetMLProps Method
name of the property
value of the property
sets a property value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetMLProps( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

public virtual void SetMLProps(
   System.string _bsPropName,
   System.string _bsPropValue
)

public:
virtual void SetMLProps(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

name of the property
_bsPropValue

value of the property

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetPlayingFrame Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetPlayingFrame Method
item ID
frame number
sets item playing frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetPlayingFrame( _
   ByVal _bsItemID As System.String, _
   ByVal _nFrame As System.Integer _
)

public virtual void SetPlayingFrame(
   System.string _bsItemID,
   System.int _nFrame
)

public:
virtual void SetPlayingFrame(
   System.String^ _bsItemID,
   System.int _nFrame
)

Parameters
_bsItemID

item ID
_nFrame

frame number

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetTimeOffset Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetTimeOffset Method
offset position
stream time
sets offset position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetTimeOffset( _
   ByVal _dblTime As System.Double, _
   ByVal _bStreamTime As System.Integer _
)

public virtual void SetTimeOffset(
   System.double _dblTime,
   System.int _bStreamTime
)

public:
virtual void SetTimeOffset(
   System.double _dblTime,
   System.int _bStreamTime
)

Parameters
_dblTime

offset position
_bStreamTime

stream time

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetVideoOutputRect Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetVideoOutputRect Method
The source rectangle structure. Specifies the source rectangle on the video that will be transformed. Determins the transformation start point.
The target rectangle structure. Specifies the destination rectangle for the video transforming. Determins the transformation end point.
Background color.

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)
  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRectWithDelay method performs the video transformation immediately.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetVideoOutputRect( _
   ByRef _prcSource As tagRECT, _
   ByRef _prcTarget As tagRECT, _
   ByVal _crBackColor As System.Integer, _
   ByVal _bTopmostVideo As System.Integer _
)

public virtual void SetVideoOutputRect(
   ref tagRECT _prcSource,
   ref tagRECT _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo
)

public:
virtual void SetVideoOutputRect(
   tagRECT% _prcSource,
   tagRECT% _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo
)

Parameters
_prcSource

The source rectangle structure. Specifies the source rectangle on the video that will be transformed.  Determins the transformation start point.
_prcTarget

The target rectangle structure. Specifies the destination rectangle for the video transforming.  Determins the transformation end point.
_crBackColor

Background color.
_bTopmostVideo

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)

  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetVideoOutputRectWithDelay Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetVideoOutputRectWithDelay Method
The source rectangle structure. Specifies the source rectangle on the video that will be transformed. Determins the transformation start point.
The target rectangle structure. Specifies the destination rectangle for the video transforming. Determins the transformation end point.
Background color.

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)
  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.

The delay value in milliseconds before the transformation start.
A time span in milliseconds to perform the transformation. Should be used to make a smooth transition between the start and end transformation points.

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRect method performs the video transformation within a certain period of time which allows to make a smooth transition between the start and end transformation points.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetVideoOutputRectWithDelay( _
   ByRef _prcSource As tagRECT, _
   ByRef _prcTarget As tagRECT, _
   ByVal _crBackColor As System.Integer, _
   ByVal _bTopmostVideo As System.Integer, _
   ByVal _nMsecDelay As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void SetVideoOutputRectWithDelay(
   ref tagRECT _prcSource,
   ref tagRECT _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

public:
virtual void SetVideoOutputRectWithDelay(
   tagRECT% _prcSource,
   tagRECT% _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

Parameters
_prcSource

The source rectangle structure. Specifies the source rectangle on the video that will be transformed.  Determins the transformation start point.
_prcTarget

The target rectangle structure. Specifies the destination rectangle for the video transforming.  Determins the transformation end point.
_crBackColor

Background color.
_bTopmostVideo

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)

  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.

_nMsecDelay

The delay value in milliseconds  before the transformation start.
_nMsecForChange

A time span in milliseconds to perform the transformation. Should be used to make a smooth transition between the start and end transformation points.

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


SetVideoProperties Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : SetVideoProperties Method
video properties
sets video properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub SetVideoProperties( _
   ByRef _pVideoProps As CG_VIDEO_PROPS _
)

public virtual void SetVideoProperties(
   ref CG_VIDEO_PROPS _pVideoProps
)

public:
virtual void SetVideoProperties(
   CG_VIDEO_PROPS% _pVideoProps
)

Parameters
_pVideoProps

video properties

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ShowItem Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ShowItem Method
item ID
1 to show an item, 0 to hide the one
time for changes (in msec)
shows or hides item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ShowItem( _
   ByVal _bsItemID As System.String, _
   ByVal _bShow As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void ShowItem(
   System.string _bsItemID,
   System.int _bShow,
   System.int _nMsecForChange
)

public:
virtual void ShowItem(
   System.String^ _bsItemID,
   System.int _bShow,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_bShow

1 to show an item, 0 to hide the one
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ShowItemWithDelay Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ShowItemWithDelay Method
item ID
1 to show an item, 0 to hide the one
delay duration (in msec)
time for changes (in msec)
shows or hides item with delay
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ShowItemWithDelay( _
   ByVal _bsItemID As System.String, _
   ByVal _bShow As System.Integer, _
   ByVal _nMsecDelay As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void ShowItemWithDelay(
   System.string _bsItemID,
   System.int _bShow,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

public:
virtual void ShowItemWithDelay(
   System.String^ _bsItemID,
   System.int _bShow,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_bShow

1 to show an item, 0 to hide the one
_nMsecDelay

delay duration (in msec)
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


ShowPropertiesPage Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ShowPropertiesPage Method
parent window handle
shows CG properties menu
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub ShowPropertiesPage( _
   ByVal _lHWndParent As System.Integer _
)

public virtual void ShowPropertiesPage(
   System.int _lHWndParent
)

public:
virtual void ShowPropertiesPage(
   System.int _lHWndParent
)

Parameters
_lHWndParent

parent window handle

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


TextGetProps Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : TextGetProps Method
text item ID
text properties
gets text item properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub TextGetProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pTextProps As CG_TEXT_PROPS _
)

public virtual void TextGetProps(
   System.string _bsItemID,
   out CG_TEXT_PROPS _pTextProps
)

public:
virtual void TextGetProps(
   System.String^ _bsItemID,
   [Out] CG_TEXT_PROPS _pTextProps
)

Parameters
_bsItemID

text item ID
_pTextProps

text properties

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


TextSetProps Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : TextSetProps Method
text item ID
text properties
indicates whether item size will be update after setting new properties (1 to update, 0 to ignore)
time for changes (in msec)
sets text item properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub TextSetProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemInfo As CG_TEXT_PROPS, _
   ByVal _bUpdateItemSize As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

public virtual void TextSetProps(
   System.string _bsItemID,
   ref CG_TEXT_PROPS _pItemInfo,
   System.int _bUpdateItemSize,
   System.int _nMsecForChange
)

public:
virtual void TextSetProps(
   System.String^ _bsItemID,
   CG_TEXT_PROPS% _pItemInfo,
   System.int _bUpdateItemSize,
   System.int _nMsecForChange
)

Parameters
_bsItemID

text item ID
_pItemInfo

text properties
_bUpdateItemSize

indicates whether item size will be update after setting new properties (1 to update, 0 to ignore)
_nMsecForChange

time for changes (in msec)

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


TickerAddContent Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : TickerAddContent Method
ticker item ID
text ot file path to add to ticker
The adding type
Supported:
'add-to-end' (default) - the new ticker item added to the end of items list
'remove-first' - the first items from ticker removed, new one - added to the end
'remove-all' - all items removed (except displaying now) - new item/items added
Flag:
'multiline' - each line of text string added as separate item
'not-track-file' - not track the text file changing (for update tickers)
Usage:
TickerAddContent( cbsTickerID, "Some Text...", "remove-first, multiline" );
TickerAddContent( cbsTickerID, "C:\Folder\news.txt", "remove-all, not-track-file" );
adds content to the ticker.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub TickerAddContent( _
   ByVal _bsTickerItemID As System.String, _
   ByVal _bsTickerTextOrFile As System.String, _
   ByVal _bsAddType As System.String _
)

public virtual void TickerAddContent(
   System.string _bsTickerItemID,
   System.string _bsTickerTextOrFile,
   System.string _bsAddType
)

public:
virtual void TickerAddContent(
   System.String^ _bsTickerItemID,
   System.String^ _bsTickerTextOrFile,
   System.String^ _bsAddType
)

Parameters
_bsTickerItemID

ticker item ID
_bsTickerTextOrFile

text ot file path to add to ticker
_bsAddType

The adding type
Supported:
'add-to-end' (default) - the new ticker item added to the end of items list
'remove-first' - the first items from ticker removed, new one - added to the end
'remove-all' - all items removed (except displaying now) - new item/items added
Flag:
'multiline' - each line of text string added as separate item
'not-track-file' - not track the text file changing (for update tickers)
Usage:
TickerAddContent( cbsTickerID, "Some Text...", "remove-first, multiline" );
TickerAddContent( cbsTickerID, "C:\Folder\news.txt", "remove-all, not-track-file" );

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


TickerAddNew Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : TickerAddNew Method
description of ticker
X axis position
Y axis position
width
height
indicates whether position is relative
1 to show an item, 0 to hide the one
item ID
adds new ticker item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub TickerAddNew( _
   ByVal _bsItemTypeOrXMLDesc As System.String, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _dblSizeX As System.Double, _
   ByVal _dblSizeY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsTickerID As System.String _
)

public virtual void TickerAddNew(
   System.string _bsItemTypeOrXMLDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativePos,
   System.int _bShow,
   out System.string _pbsTickerID
)

public:
virtual void TickerAddNew(
   System.String^ _bsItemTypeOrXMLDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativePos,
   System.int _bShow,
   [Out] System.String^ _pbsTickerID
)

Parameters
_bsItemTypeOrXMLDesc

description of ticker
_dblPosX

X axis position
_dblPosY

Y axis position
_dblSizeX

width
_dblSizeY

height
_bRelativePos

indicates whether position is relative
_bShow

1 to show an item, 0 to hide the one
_pbsTickerID

item ID

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


UseExtraBuffer Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : UseExtraBuffer Method
1 to use buffer, 0 to stop its usage
start or stop using extra buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Sub UseExtraBuffer( _
   ByVal _nUse As System.Integer _
)

public virtual void UseExtraBuffer(
   System.int _nUse
)

public:
virtual void UseExtraBuffer(
   System.int _nUse
)

Parameters
_nUse

1 to use buffer, 0 to stop its usage

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


%%PageItemTitle%% $$Events$$

CoMLCharGenClass Class Events

MLCHARGENLib Namespace : CoMLCharGenClass Class

For a list of all members of this type, see CoMLCharGenClass members.

Public Events
 | Name | Description
Public Event | OnCGEvent | This method is called when some CG event occurs.
Public Event | OnEndOfClip | This method is called when clip is over.
Public Event | OnFlashCallback | This method is called when some flash callback event occurs.
Public Event | OnFrame | This method is called on every frame.
Public Event | OnTransitionDone | This method is called when transition between items is done.
Top
See Also

Reference

CoMLCharGenClass Class
MLCHARGENLib Namespace


OnCGEvent Event

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnCGEvent Event
This method is called when some CG event occurs.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnCGEvent As IMLCharGenEvents_OnCGEventEventHandler

public event IMLCharGenEvents_OnCGEventEventHandler OnCGEvent

public:
event IMLCharGenEvents_OnCGEventEventHandler^ OnCGEvent

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnEndOfClip Event

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnEndOfClip Event
This method is called when clip is over.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnEndOfClip As IMLCharGenEvents_OnEndOfClipEventHandler

public event IMLCharGenEvents_OnEndOfClipEventHandler OnEndOfClip

public:
event IMLCharGenEvents_OnEndOfClipEventHandler^ OnEndOfClip

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnFlashCallback Event

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnFlashCallback Event
This method is called when some flash callback event occurs.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnFlashCallback As IMLCharGenEvents_OnFlashCallbackEventHandler

public event IMLCharGenEvents_OnFlashCallbackEventHandler OnFlashCallback

public:
event IMLCharGenEvents_OnFlashCallbackEventHandler^ OnFlashCallback

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnFrame Event

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnFrame Event
This method is called on every frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnFrame As IMLCharGenEvents_OnFrameEventHandler

public event IMLCharGenEvents_OnFrameEventHandler OnFrame

public:
event IMLCharGenEvents_OnFrameEventHandler^ OnFrame

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


OnTransitionDone Event

MLCHARGENLib Namespace > CoMLCharGenClass Class : OnTransitionDone Event
This method is called when transition between items is done.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Event OnTransitionDone As IMLCharGenEvents_OnTransitionDoneEventHandler

public event IMLCharGenEvents_OnTransitionDoneEventHandler OnTransitionDone

public:
event IMLCharGenEvents_OnTransitionDoneEventHandler^ OnTransitionDone

Requirements
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


%%PageItemTitle%%

eCG_Align Enumeration

MLCHARGENLib Namespace : eCG_Align Enumeration

Specifies item alignment

Members
Member | Description
eCGA_Auto | auto alignment
eCGA_Bottom | bottom
eCGA_BottomLeft | bottom left
eCGA_BottomRight | bottom right
eCGA_Center | center
eCGA_Left | left
eCGA_Right | right
eCGA_Safe | safe alignment
eCGA_SafeBottom | safe bottom
eCGA_SafeBottomLeft | safe bottom left
eCGA_SafeBottomRight | safe bottom right
eCGA_SafeLeft | safe left
eCGA_SafeRight | safe right
eCGA_SafeTop | safe top
eCGA_SafeTopLeft | safe top left
eCGA_SafeTopRight | safe top right
eCGA_Top | top
eCGA_TopLeft | top left
eCGA_TopRight | top right
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_DTFlags Enumeration

MLCHARGENLib Namespace : eCG_DTFlags Enumeration
Specifies text direction
Members
Member | Description
eCGDT_BOTTOM | bottom alignment in rectangular
eCGDT_CENTER | center alignment
eCGDT_END_ELLIPSIS | ellips text on the end
eCGDT_FLIP_HORZ | flip text horizontally
eCGDT_FLIP_VERT | flip text vertically
eCGDT_LOWERCASE | lowercase text
eCGDT_NO_TAB | no tab text
eCGDT_NOT_MEASURE_TRAILING_SPACE | not measure trailing space text
eCGDT_PATH_ELLIPSIS | path ellipsis
eCGDT_RIGHT | right alignment
eCGDT_RTLREADING | right to left direction text
eCGDT_SINGLELINE | single line text
eCGDT_TOP_LEFT | top left alignment in rectangular
eCGDT_TRIMMING_CHAR | trimming characters in text
eCGDT_TRIMMING_WORD | trimming word in text
eCGDT_UPPERCASE | uppercase text
eCGDT_VCENTER | vertical center alignment
eCGDT_VERTICAL | vertical direction of text
eCGDT_WORD_ELLIPSIS | word ellipsis
eCGDT_WORDBREAK | word break text
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_FileType Enumeration

MLCHARGENLib Namespace : eCG_FileType Enumeration
Specifies file type for images
Members
Member | Description
eCGFT_BMP32 | .bmp
eCGFT_GIF | .gif
eCGFT_JPG | .jpg
eCGFT_PNG | .png
eCGFT_TIFF | .tiff
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_GroupItemsRemoveType Enumeration

MLCHARGENLib Namespace : eCG_GroupItemsRemoveType Enumeration
Specifies removing type of group items
Members
Member | Description
eCGRT_RemoveOnlyGroup | remove only group
eCGRT_RemoveOnlyItems | remove only items
eCGRT_Ungroup | ungroup items
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_Interlace Enumeration

MLCHARGENLib Namespace : eCG_Interlace Enumeration
Specifies interlacing
Members
Member | Description
eCGI_Auto | auto interlace
eCGI_Field1First | field 1 first
eCGI_Field2First | field 2 first
eCGI_Progressive | progressive interlacing
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_ItemType Enumeration

MLCHARGENLib Namespace : eCG_ItemType Enumeration
Specifies item types
Members
Member | Description
eCGIT_Empty | empty item
eCGIT_Flash | flash item
eCGIT_Flash_Group | flash item in group
eCGIT_Flash_Reference | flash item as reference
eCGIT_Graphics | graphic item
eCGIT_Graphics_Group | graphic item in group
eCGIT_Graphics_Reference | graphic item as reference
eCGIT_Group | group of items
eCGIT_Image | image item
eCGIT_Image_Group | image item in group
eCGIT_Image_Reference | image item as reference
eCGIT_Reference | reference item
eCGIT_Text | text item
eCGIT_Text_Group | text item in group
eCGIT_Text_Reference | text item as reference
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_PlayingMode Enumeration

MLCHARGENLib Namespace : eCG_PlayingMode Enumeration
Specifies item playing mode
Members
Member | Description
eCGPM_Loop | loop mode
eCGPM_OneTime | plays item one time
eCGPM_OneTime_n_Hide | plays item one time and hide it
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_Scale Enumeration

MLCHARGENLib Namespace : eCG_Scale Enumeration
Specifies scale type
Members
Member | Description
eCGS_CoverAR | cover aspect ratio
eCGS_ExactFit | exact fit
eCGS_FitAR | fit aspect ratio
eCGS_NoScale | no scale
eCGS_ShrinkToFit | shrink to fit
eCGS_ShrinkToFitAR | shrink to fit aspect ratio
eCGS_Text | text
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_TextType Enumeration

MLCHARGENLib Namespace : eCG_TextType Enumeration
Specifies type of a text item
Members
Member | Description
eCGTT_Counter | counter
eCGTT_DateTime | date and time
eCGTT_FrameNumber | frame counter
eCGTT_FrameTime | frame time
eCGTT_StopWatch | stopwatch
eCGTT_Subtitles | subtitles
eCGTT_Text | simple text
eCGTT_Timecode | drop frame timecode
eCGTT_Timecode_NDF | non drop frame timecode
eCGTT_Timer | timer
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

eCG_TimelineState Enumeration

MLCHARGENLib Namespace : eCG_TimelineState Enumeration
Specifies timeline state
Members
Member | Description
eCGTS_Paused | timeline is paused
eCGTS_Running | timeline is running
eCGTS_Stopped | timeline is stopped
See Also

Reference

MLCHARGENLib Namespace


%%PageItemTitle%%

CG_AUTO_BLEND Structure
Members

MLCHARGENLib Namespace : CG_AUTO_BLEND Structure
Contains information about item auto-blend.
See Also

Reference

CG_AUTO_BLEND Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CG_AUTO_BLEND Structure Members
Fields

MLCHARGENLib Namespace : CG_AUTO_BLEND Structure

The following tables list the members exposed by CG_AUTO_BLEND.

Public Fields
 | Name | Description
Public Field | bRepeat | whether will the item be repeated or not
Public Field | bRewind | whether rewind the item or not
Public Field | nMsecOff | time for hiding of the item
Public Field | nMsecOn | time for apparing of the item
Public Field | nMsecRamp | time for showing of the item
Public Field | nMsecStart | time for start to show the item
Top
See Also

Reference

CG_AUTO_BLEND Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

CG_AUTO_BLEND Structure Fields

MLCHARGENLib Namespace : CG_AUTO_BLEND Structure

For a list of all members of this type, see CG_AUTO_BLEND members.

Public Fields
 | Name | Description
Public Field | bRepeat | whether will the item be repeated or not
Public Field | bRewind | whether rewind the item or not
Public Field | nMsecOff | time for hiding of the item
Public Field | nMsecOn | time for apparing of the item
Public Field | nMsecRamp | time for showing of the item
Public Field | nMsecStart | time for start to show the item
Top
See Also

Reference

CG_AUTO_BLEND Structure
MLCHARGENLib Namespace


bRepeat Field

MLCHARGENLib Namespace > CG_AUTO_BLEND Structure : bRepeat Field
whether will the item be repeated or not
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bRepeat As System.Integer

public System.int bRepeat

public:
System.int bRepeat

See Also
Reference
CG_AUTO_BLEND Structure

CG_AUTO_BLEND Members


bRewind Field

MLCHARGENLib Namespace > CG_AUTO_BLEND Structure : bRewind Field
whether rewind the item or not
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bRewind As System.Integer

public System.int bRewind

public:
System.int bRewind

See Also
Reference
CG_AUTO_BLEND Structure

CG_AUTO_BLEND Members


nMsecOff Field

MLCHARGENLib Namespace > CG_AUTO_BLEND Structure : nMsecOff Field
time for hiding of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMsecOff As System.Integer

public System.int nMsecOff

public:
System.int nMsecOff

See Also
Reference
CG_AUTO_BLEND Structure

CG_AUTO_BLEND Members


nMsecOn Field

MLCHARGENLib Namespace > CG_AUTO_BLEND Structure : nMsecOn Field
time for apparing of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMsecOn As System.Integer

public System.int nMsecOn

public:
System.int nMsecOn

See Also
Reference
CG_AUTO_BLEND Structure

CG_AUTO_BLEND Members


nMsecRamp Field

MLCHARGENLib Namespace > CG_AUTO_BLEND Structure : nMsecRamp Field
time for showing of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMsecRamp As System.Integer

public System.int nMsecRamp

public:
System.int nMsecRamp

See Also
Reference
CG_AUTO_BLEND Structure

CG_AUTO_BLEND Members


nMsecStart Field

MLCHARGENLib Namespace > CG_AUTO_BLEND Structure : nMsecStart Field
time for start to show the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nMsecStart As System.Integer

public System.int nMsecStart

public:
System.int nMsecStart

See Also
Reference
CG_AUTO_BLEND Structure

CG_AUTO_BLEND Members


%%PageItemTitle%%

CG_ITEM_MOVEMENT Structure
Members

MLCHARGENLib Namespace : CG_ITEM_MOVEMENT Structure
Contains information about item movement.
See Also

Reference

CG_ITEM_MOVEMENT Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CG_ITEM_MOVEMENT Structure Members
Fields

MLCHARGENLib Namespace : CG_ITEM_MOVEMENT Structure

The following tables list the members exposed by CG_ITEM_MOVEMENT.

Public Fields
 | Name | Description
Public Field | dblXSpeed | speed on X axis
Public Field | dblYSpeed | speed on Y axis
Top
See Also

Reference

CG_ITEM_MOVEMENT Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

CG_ITEM_MOVEMENT Structure Fields

MLCHARGENLib Namespace : CG_ITEM_MOVEMENT Structure

For a list of all members of this type, see CG_ITEM_MOVEMENT members.

Public Fields
 | Name | Description
Public Field | dblXSpeed | speed on X axis
Public Field | dblYSpeed | speed on Y axis
Top
See Also

Reference

CG_ITEM_MOVEMENT Structure
MLCHARGENLib Namespace


dblXSpeed Field

MLCHARGENLib Namespace > CG_ITEM_MOVEMENT Structure : dblXSpeed Field
speed on X axis
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblXSpeed As System.Double

public System.double dblXSpeed

public:
System.double dblXSpeed

See Also
Reference
CG_ITEM_MOVEMENT Structure

CG_ITEM_MOVEMENT Members


dblYSpeed Field

MLCHARGENLib Namespace > CG_ITEM_MOVEMENT Structure : dblYSpeed Field
speed on Y axis
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblYSpeed As System.Double

public System.double dblYSpeed

public:
System.double dblYSpeed

See Also
Reference
CG_ITEM_MOVEMENT Structure

CG_ITEM_MOVEMENT Members


%%PageItemTitle%%

CG_ITEM_PROPS Structure
Members

MLCHARGENLib Namespace : CG_ITEM_PROPS Structure
Contains item base properties
See Also

Reference

CG_ITEM_PROPS Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CG_ITEM_PROPS Structure Members
Fields

MLCHARGENLib Namespace : CG_ITEM_PROPS Structure

The following tables list the members exposed by CG_ITEM_PROPS.

Public Fields
 | Name | Description
Public Field | bPauseItem | indicates whether the item is paused or not
Public Field | bShowItem | indicates whether the item is shown or not
Public Field | dblPixelAR | aspect ratio of the item
Public Field | eAlign | type of alignment of an item
Public Field | eInterlace | type of item interlace
Public Field | ePlayingMode | mode of item playback
Public Field | eScale | scale type of an item
Public Field | eType | item type
Public Field | nAlpha | value of alpha (transparency)
Public Field | nBackColor | transparency of item background (0 to 255)
Public Field | nEdgesSmooth | indicates whether the edges of the item are smooth or not
Public Field | ptPos | position of the item
Public Field | rcIndent | indent of the item
Public Field | szItem | size of the item
Top
See Also

Reference

CG_ITEM_PROPS Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

CG_ITEM_PROPS Structure Fields

MLCHARGENLib Namespace : CG_ITEM_PROPS Structure

For a list of all members of this type, see CG_ITEM_PROPS members.

Public Fields
 | Name | Description
Public Field | bPauseItem | indicates whether the item is paused or not
Public Field | bShowItem | indicates whether the item is shown or not
Public Field | dblPixelAR | aspect ratio of the item
Public Field | eAlign | type of alignment of an item
Public Field | eInterlace | type of item interlace
Public Field | ePlayingMode | mode of item playback
Public Field | eScale | scale type of an item
Public Field | eType | item type
Public Field | nAlpha | value of alpha (transparency)
Public Field | nBackColor | transparency of item background (0 to 255)
Public Field | nEdgesSmooth | indicates whether the edges of the item are smooth or not
Public Field | ptPos | position of the item
Public Field | rcIndent | indent of the item
Public Field | szItem | size of the item
Top
See Also

Reference

CG_ITEM_PROPS Structure
MLCHARGENLib Namespace


bPauseItem Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : bPauseItem Field
indicates whether the item is paused or not
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bPauseItem As System.Integer

public System.int bPauseItem

public:
System.int bPauseItem

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


bShowItem Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : bShowItem Field
indicates whether the item is shown or not
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bShowItem As System.Integer

public System.int bShowItem

public:
System.int bShowItem

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


dblPixelAR Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : dblPixelAR Field
aspect ratio of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblPixelAR As System.Double

public System.double dblPixelAR

public:
System.double dblPixelAR

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


eAlign Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : eAlign Field
type of alignment of an item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eAlign As eCG_Align

public eCG_Align eAlign

public:
eCG_Align eAlign

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


eInterlace Field (CG_ITEM_PROPS)

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : eInterlace Field
type of item interlace
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eInterlace As eCG_Interlace

public eCG_Interlace eInterlace

public:
eCG_Interlace eInterlace

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


ePlayingMode Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : ePlayingMode Field
mode of item playback
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public ePlayingMode As eCG_PlayingMode

public eCG_PlayingMode ePlayingMode

public:
eCG_PlayingMode ePlayingMode

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


eScale Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : eScale Field
scale type of an item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eScale As eCG_Scale

public eCG_Scale eScale

public:
eCG_Scale eScale

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


eType Field (CG_ITEM_PROPS)

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : eType Field
item type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eType As eCG_ItemType

public eCG_ItemType eType

public:
eCG_ItemType eType

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


nAlpha Field (CG_ITEM_PROPS)

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : nAlpha Field
value of alpha (transparency)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nAlpha As System.Integer

public System.int nAlpha

public:
System.int nAlpha

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


nBackColor Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : nBackColor Field
transparency of item background (0 to 255)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nBackColor As System.Integer

public System.int nBackColor

public:
System.int nBackColor

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


nEdgesSmooth Field (CG_ITEM_PROPS)

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : nEdgesSmooth Field
indicates whether the edges of the item are smooth or not
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nEdgesSmooth As System.Integer

public System.int nEdgesSmooth

public:
System.int nEdgesSmooth

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


ptPos Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : ptPos Field
position of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public ptPos As tagPOINT

public tagPOINT ptPos

public:
tagPOINT ptPos

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


rcIndent Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : rcIndent Field
indent of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public rcIndent As tagRECT

public tagRECT rcIndent

public:
tagRECT rcIndent

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


szItem Field

MLCHARGENLib Namespace > CG_ITEM_PROPS Structure : szItem Field
size of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public szItem As tagSIZE

public tagSIZE szItem

public:
tagSIZE szItem

See Also
Reference
CG_ITEM_PROPS Structure

CG_ITEM_PROPS Members


%%PageItemTitle%%

CG_SCHEDULE_TIMES Structure
Members

MLCHARGENLib Namespace : CG_SCHEDULE_TIMES Structure
contains information about item schedule
See Also

Reference

CG_SCHEDULE_TIMES Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CG_SCHEDULE_TIMES Structure Members
Fields

MLCHARGENLib Namespace : CG_SCHEDULE_TIMES Structure

The following tables list the members exposed by CG_SCHEDULE_TIMES.

Public Fields
 | Name | Description
Public Field | dblExitTime | time for hide
Public Field | dblIntroTime | time to intro
Public Field | dblScheduledTime | item scheduled time
Public Field | dblShowTime | time to show the item
Public Field | nShowHide | indicates whether item is showed
Top
See Also

Reference

CG_SCHEDULE_TIMES Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

CG_SCHEDULE_TIMES Structure Fields

MLCHARGENLib Namespace : CG_SCHEDULE_TIMES Structure

For a list of all members of this type, see CG_SCHEDULE_TIMES members.

Public Fields
 | Name | Description
Public Field | dblExitTime | time for hide
Public Field | dblIntroTime | time to intro
Public Field | dblScheduledTime | item scheduled time
Public Field | dblShowTime | time to show the item
Public Field | nShowHide | indicates whether item is showed
Top
See Also

Reference

CG_SCHEDULE_TIMES Structure
MLCHARGENLib Namespace


dblExitTime Field

MLCHARGENLib Namespace > CG_SCHEDULE_TIMES Structure : dblExitTime Field
time for hide
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblExitTime As System.Double

public System.double dblExitTime

public:
System.double dblExitTime

See Also
Reference
CG_SCHEDULE_TIMES Structure

CG_SCHEDULE_TIMES Members


dblIntroTime Field

MLCHARGENLib Namespace > CG_SCHEDULE_TIMES Structure : dblIntroTime Field
time to intro
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblIntroTime As System.Double

public System.double dblIntroTime

public:
System.double dblIntroTime

See Also
Reference
CG_SCHEDULE_TIMES Structure

CG_SCHEDULE_TIMES Members


dblScheduledTime Field

MLCHARGENLib Namespace > CG_SCHEDULE_TIMES Structure : dblScheduledTime Field
item scheduled time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblScheduledTime As System.Double

public System.double dblScheduledTime

public:
System.double dblScheduledTime

See Also
Reference
CG_SCHEDULE_TIMES Structure

CG_SCHEDULE_TIMES Members


dblShowTime Field

MLCHARGENLib Namespace > CG_SCHEDULE_TIMES Structure : dblShowTime Field
time to show the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblShowTime As System.Double

public System.double dblShowTime

public:
System.double dblShowTime

See Also
Reference
CG_SCHEDULE_TIMES Structure

CG_SCHEDULE_TIMES Members


nShowHide Field

MLCHARGENLib Namespace > CG_SCHEDULE_TIMES Structure : nShowHide Field
indicates whether item is showed
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nShowHide As System.Integer

public System.int nShowHide

public:
System.int nShowHide

See Also
Reference
CG_SCHEDULE_TIMES Structure

CG_SCHEDULE_TIMES Members


%%PageItemTitle%%

CG_TEXT_PROPS Structure
Members

MLCHARGENLib Namespace : CG_TEXT_PROPS Structure
Contains information about text item properties
See Also

Reference

CG_TEXT_PROPS Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CG_TEXT_PROPS Structure Members
Fields

MLCHARGENLib Namespace : CG_TEXT_PROPS Structure

The following tables list the members exposed by CG_TEXT_PROPS.

Public Fields
 | Name | Description
Public Field | bsFontFace | font face of the item
Public Field | bsTextString | item text
Public Field | dblOutlineWidth | outline width
Public Field | eTextType | type of text item
Public Field | nDTFlags | additional flags for text formatting
Public Field | nFontHeight | font height
Public Field | nOutlineColor | color of outline
Public Field | nTextColor | text color
Public Field | nTimeOffset | item time offset
Top
See Also

Reference

CG_TEXT_PROPS Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

CG_TEXT_PROPS Structure Fields

MLCHARGENLib Namespace : CG_TEXT_PROPS Structure

For a list of all members of this type, see CG_TEXT_PROPS members.

Public Fields
 | Name | Description
Public Field | bsFontFace | font face of the item
Public Field | bsTextString | item text
Public Field | dblOutlineWidth | outline width
Public Field | eTextType | type of text item
Public Field | nDTFlags | additional flags for text formatting
Public Field | nFontHeight | font height
Public Field | nOutlineColor | color of outline
Public Field | nTextColor | text color
Public Field | nTimeOffset | item time offset
Top
See Also

Reference

CG_TEXT_PROPS Structure
MLCHARGENLib Namespace


bsFontFace Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : bsFontFace Field
font face of the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bsFontFace As System.String

public System.string bsFontFace

public:
System.String^ bsFontFace

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


bsTextString Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : bsTextString Field
item text
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bsTextString As System.String

public System.string bsTextString

public:
System.String^ bsTextString

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


dblOutlineWidth Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : dblOutlineWidth Field
outline width
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblOutlineWidth As System.Double

public System.double dblOutlineWidth

public:
System.double dblOutlineWidth

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


eTextType Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : eTextType Field
type of text item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eTextType As eCG_TextType

public eCG_TextType eTextType

public:
eCG_TextType eTextType

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


nDTFlags Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : nDTFlags Field
additional flags for text formatting
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nDTFlags As eCG_DTFlags

public eCG_DTFlags nDTFlags

public:
eCG_DTFlags nDTFlags

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


nFontHeight Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : nFontHeight Field
font height
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nFontHeight As System.Integer

public System.int nFontHeight

public:
System.int nFontHeight

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


nOutlineColor Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : nOutlineColor Field
color of outline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nOutlineColor As System.Integer

public System.int nOutlineColor

public:
System.int nOutlineColor

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


nTextColor Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : nTextColor Field
text color
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nTextColor As System.Integer

public System.int nTextColor

public:
System.int nTextColor

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


nTimeOffset Field

MLCHARGENLib Namespace > CG_TEXT_PROPS Structure : nTimeOffset Field
item time offset
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nTimeOffset As System.Integer

public System.int nTimeOffset

public:
System.int nTimeOffset

See Also
Reference
CG_TEXT_PROPS Structure

CG_TEXT_PROPS Members


%%PageItemTitle%%

CG_VIDEO_PROPS Structure
Members

MLCHARGENLib Namespace : CG_VIDEO_PROPS Structure
Contains information about video item properties
See Also

Reference

CG_VIDEO_PROPS Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

CG_VIDEO_PROPS Structure Members
Fields

MLCHARGENLib Namespace : CG_VIDEO_PROPS Structure

The following tables list the members exposed by CG_VIDEO_PROPS.

Public Fields
 | Name | Description
Public Field | bsColorSpace | item colorspace
Public Field | dblFPS | value of frames per second
Public Field | eInterlace | interlacing type
Public Field | nApsectX | aspect ratio on X axis
Public Field | nApsectY | aspect ration on Y axis
Public Field | nHeight | item height
Public Field | nWidth | item width
Top
See Also

Reference

CG_VIDEO_PROPS Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

CG_VIDEO_PROPS Structure Fields

MLCHARGENLib Namespace : CG_VIDEO_PROPS Structure

For a list of all members of this type, see CG_VIDEO_PROPS members.

Public Fields
 | Name | Description
Public Field | bsColorSpace | item colorspace
Public Field | dblFPS | value of frames per second
Public Field | eInterlace | interlacing type
Public Field | nApsectX | aspect ratio on X axis
Public Field | nApsectY | aspect ration on Y axis
Public Field | nHeight | item height
Public Field | nWidth | item width
Top
See Also

Reference

CG_VIDEO_PROPS Structure
MLCHARGENLib Namespace


bsColorSpace Field

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : bsColorSpace Field
item colorspace
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bsColorSpace As System.String

public System.string bsColorSpace

public:
System.String^ bsColorSpace

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


dblFPS Field

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : dblFPS Field
value of frames per second
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public dblFPS As System.Double

public System.double dblFPS

public:
System.double dblFPS

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


eInterlace Field (CG_VIDEO_PROPS)

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : eInterlace Field
interlacing type
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public eInterlace As eCG_Interlace

public eCG_Interlace eInterlace

public:
eCG_Interlace eInterlace

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


nApsectX Field

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : nApsectX Field
aspect ratio on X axis
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nApsectX As System.Integer

public System.int nApsectX

public:
System.int nApsectX

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


nApsectY Field

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : nApsectY Field
aspect ration on Y axis
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nApsectY As System.Integer

public System.int nApsectY

public:
System.int nApsectY

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


nHeight Field (CG_VIDEO_PROPS)

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : nHeight Field
item height
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nHeight As System.Integer

public System.int nHeight

public:
System.int nHeight

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


nWidth Field (CG_VIDEO_PROPS)

MLCHARGENLib Namespace > CG_VIDEO_PROPS Structure : nWidth Field
item width
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public nWidth As System.Integer

public System.int nWidth

public:
System.int nWidth

See Also
Reference
CG_VIDEO_PROPS Structure

CG_VIDEO_PROPS Members


%%PageItemTitle%%

tagPOINT Structure
Members

MLCHARGENLib Namespace : tagPOINT Structure
Contains information about item position
See Also

Reference

tagPOINT Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

tagPOINT Structure Members
Fields

MLCHARGENLib Namespace : tagPOINT Structure

The following tables list the members exposed by tagPOINT.

Public Fields
 | Name | Description
Public Field | x | position on X axis
Public Field | y | position on Y axis
Top
See Also

Reference

tagPOINT Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

tagPOINT Structure Fields

MLCHARGENLib Namespace : tagPOINT Structure

For a list of all members of this type, see tagPOINT members.

Public Fields
 | Name | Description
Public Field | x | position on X axis
Public Field | y | position on Y axis
Top
See Also

Reference

tagPOINT Structure
MLCHARGENLib Namespace


x Field

MLCHARGENLib Namespace > tagPOINT Structure : x Field
position on X axis
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public x As System.Integer

public System.int x

public:
System.int x

See Also
Reference
tagPOINT Structure

tagPOINT Members


y Field

MLCHARGENLib Namespace > tagPOINT Structure : y Field
position on Y axis
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public y As System.Integer

public System.int y

public:
System.int y

See Also
Reference
tagPOINT Structure

tagPOINT Members


%%PageItemTitle%%

tagRECT Structure
Members

MLCHARGENLib Namespace : tagRECT Structure
Contains information about rectangular around item.
See Also

Reference

tagRECT Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

tagRECT Structure Members
Fields

MLCHARGENLib Namespace : tagRECT Structure

The following tables list the members exposed by tagRECT.

Public Fields
 | Name | Description
Public Field | bottom | bottom Y axis position
Public Field | left | left X axis position
Public Field | right | right X axis position
Public Field | top | top Y axis position
Top
See Also

Reference

tagRECT Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

tagRECT Structure Fields

MLCHARGENLib Namespace : tagRECT Structure

For a list of all members of this type, see tagRECT members.

Public Fields
 | Name | Description
Public Field | bottom | bottom Y axis position
Public Field | left | left X axis position
Public Field | right | right X axis position
Public Field | top | top Y axis position
Top
See Also

Reference

tagRECT Structure
MLCHARGENLib Namespace


bottom Field (tagRECT)

MLCHARGENLib Namespace > tagRECT Structure : bottom Field
bottom Y axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public bottom As System.Integer

public System.int bottom

public:
System.int bottom

See Also
Reference
tagRECT Structure

tagRECT Members


left Field (tagRECT)

MLCHARGENLib Namespace > tagRECT Structure : left Field
left X axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public left As System.Integer

public System.int left

public:
System.int left

See Also
Reference
tagRECT Structure

tagRECT Members


right Field (tagRECT)

MLCHARGENLib Namespace > tagRECT Structure : right Field
right X axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public right As System.Integer

public System.int right

public:
System.int right

See Also
Reference
tagRECT Structure

tagRECT Members


top Field (tagRECT)

MLCHARGENLib Namespace > tagRECT Structure : top Field
top Y axis position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public top As System.Integer

public System.int top

public:
System.int top

See Also
Reference
tagRECT Structure

tagRECT Members


%%PageItemTitle%%

tagSIZE Structure
Members

MLCHARGENLib Namespace : tagSIZE Structure
Contains information about item size
See Also

Reference

tagSIZE Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

tagSIZE Structure Members
Fields

MLCHARGENLib Namespace : tagSIZE Structure

The following tables list the members exposed by tagSIZE.

Public Fields
 | Name | Description
Public Field | cx | width
Public Field | cy | height
Top
See Also

Reference

tagSIZE Structure
MLCHARGENLib Namespace


%%PageItemTitle%% $$Fields$$

tagSIZE Structure Fields

MLCHARGENLib Namespace : tagSIZE Structure

For a list of all members of this type, see tagSIZE members.

Public Fields
 | Name | Description
Public Field | cx | width
Public Field | cy | height
Top
See Also

Reference

tagSIZE Structure
MLCHARGENLib Namespace


cx Field (tagSIZE)

MLCHARGENLib Namespace > tagSIZE Structure : cx Field
width
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cx As System.Integer

public System.int cx

public:
System.int cx

See Also
Reference
tagSIZE Structure

tagSIZE Members


cy Field (tagSIZE)

MLCHARGENLib Namespace > tagSIZE Structure : cy Field
height
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public cy As System.Integer

public System.int cy

public:
System.int cy

See Also
Reference
tagSIZE Structure

tagSIZE Members


%%PageItemTitle%%

IMLCharGen Interface
Members

MLCHARGENLib Namespace : IMLCharGen Interface
Operates CG items
See Also

Reference

IMLCharGen Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLCharGen Interface Members
Methods

MLCHARGENLib Namespace : IMLCharGen Interface

The following tables list the members exposed by IMLCharGen.

Public Methods
Name | Description
Method | AddCallback | adds callback (for C++ and Delphi) to CG.
Method | AddImageByHandle | adds image from memory by its handle
Method | AddNewItem | adds new item to CG configuration.
Method | AddNewTextItem | adds new text item to CG configuration.
Method | CaptureItemImage | captures item image to a file.
Method | ChangeItemID | changes item ID
Method | ChangeItemZOrder | changes order of item on Z axis (front - back)
Method | CloneItem | copies the item
Method | CompositionsAddItems | adds item to a composition.
Method | CompositionsChangeName | changes composition name
Method | CompositionsDisplay | displays a composition.
Method | CompositionsDisplayInLayer | displays composition in some layer. You need to create layer before call this method.
Method | CompositionsGetByIndex | gets composition by its index
Method | CompositionsGetCount | gets count of compositions.
Method | CompositionsGetItem | gets item in composition by its index
Method | CompositionsGetItemsCount | gets count of items in a composition
Method | CompositionsLoadAll | loads several compositions at once
Method | CompositionsLoadOne | loads a single composition
Method | CompositionsRemove | removes composition
Method | CompositionsRemoveItem | removes item from a composition
Method | CompositionsSaveToFile | saves composition configuration to the file
Method | CompositionsSaveToString | saves composition configuration to a string
Method | EnableKeyingMode | enables keyig mode
Method | FlashCallFunction | calls function of flash object
Method | FlashGetClipInfo | gets flash clip information
Method | FlashGetVariable | gets flash variable
Method | FlashGetVariableName | gets name of variable by its index
Method | FlashGetVariablesCount | gets count of flash variables
Method | FlashGoToFrame | seeks to the frame in flash
Method | FlashGoToLabel | seeks to a flash label
Method | FlashSetReturnValueCB | sets flash returned value
Method | FlashSetVariable | sets flash variable
Method | GetAutoBlend | get auto-blend configuration
Method | GetItem | gets item by its index
Method | GetItemAnchorPos | gets item anchor position
Method | GetItemBaseProps | gets item base properties
Method | GetItemMovement | gets item movement configuration
Method | GetItemOriginalSize | gets item original size
Method | GetItemProperties | gets item property
Method | GetItemRate | gets item rate
Method | GetItemsCount | gets count of items
Method | GetPlayingFrame | gets a current frame
Method | GetVideoOutputRect | gets item output rectangular
Method | GetVideoProperties | gets video properties
Method | GroupAddItem | adds item to a group
Method | GroupGetItem | gets group item by its index
Method | GroupGetItemGroup | gets group by item ID
Method | GroupItemsCount | gets count of items in a group.
Method | GroupRemoveAll | removes all items from group
Method | GroupRemoveItem | removes single item from a group
Method | IsKeyingMode | indicates whether CG is in keying mode
Method | IsUseExtraBuffer | indicates whether CG uses extra buffer
Method | LoadConfig | load configuration
Method | PauseItem | pauses an item
Method | RemoveCallback | removes CG callback
Method | RemoveCallback2 | removes callback cookie
Method | RemoveItem | removes item
Method | RemoveItemWithDelay | removes item with delay
Method | RewindItem | rewinds an item
Method | SetAutoBlend | sets item auto-blend parameters
Method | SetItemAlpha | sets item transparency (from 0 to 255)
Method | SetItemAnchorPos | sets item anchor position
Method | SetItemBackground | sets item background
Method | SetItemBaseProps | sets item base properties
Method | SetItemMovement | sets item movement
Method | SetItemPos | sets item positions
Method | SetItemProperties | sets item properties
Method | SetItemRate | sets item rate
Method | SetItemSize | sets item size
Method | SetPlayingFrame | sets item playing frame
Method | SetTimeOffset | sets offset position
Method SetVideoOutputRect

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRectWithDelay method performs the video transformation immediately.

Method SetVideoOutputRectWithDelay

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRect method performs the video transformation within a certain period of time which allows to make a smooth transition between the start and end transformation points.

Method | SetVideoProperties | sets video properties
Method | ShowItem | shows or hides item
Method | ShowItemWithDelay | shows or hides item with delay
Method | ShowPropertiesPage | shows CG properties menu
Method | TextGetProps | gets text item properties
Method | TextSetProps | sets text item properties
Method | TickerAddContent | adds content to the ticker.
Method | TickerAddNew | adds new ticker item
Method | UseExtraBuffer | start or stop using extra buffer
Top
See Also

Reference

IMLCharGen Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLCharGen Interface Methods

MLCHARGENLib Namespace : IMLCharGen Interface

For a list of all members of this type, see IMLCharGen members.

Public Methods
Name | Description
Method | AddCallback | adds callback (for C++ and Delphi) to CG.
Method | AddImageByHandle | adds image from memory by its handle
Method | AddNewItem | adds new item to CG configuration.
Method | AddNewTextItem | adds new text item to CG configuration.
Method | CaptureItemImage | captures item image to a file.
Method | ChangeItemID | changes item ID
Method | ChangeItemZOrder | changes order of item on Z axis (front - back)
Method | CloneItem | copies the item
Method | CompositionsAddItems | adds item to a composition.
Method | CompositionsChangeName | changes composition name
Method | CompositionsDisplay | displays a composition.
Method | CompositionsDisplayInLayer | displays composition in some layer. You need to create layer before call this method.
Method | CompositionsGetByIndex | gets composition by its index
Method | CompositionsGetCount | gets count of compositions.
Method | CompositionsGetItem | gets item in composition by its index
Method | CompositionsGetItemsCount | gets count of items in a composition
Method | CompositionsLoadAll | loads several compositions at once
Method | CompositionsLoadOne | loads a single composition
Method | CompositionsRemove | removes composition
Method | CompositionsRemoveItem | removes item from a composition
Method | CompositionsSaveToFile | saves composition configuration to the file
Method | CompositionsSaveToString | saves composition configuration to a string
Method | EnableKeyingMode | enables keyig mode
Method | FlashCallFunction | calls function of flash object
Method | FlashGetClipInfo | gets flash clip information
Method | FlashGetVariable | gets flash variable
Method | FlashGetVariableName | gets name of variable by its index
Method | FlashGetVariablesCount | gets count of flash variables
Method | FlashGoToFrame | seeks to the frame in flash
Method | FlashGoToLabel | seeks to a flash label
Method | FlashSetReturnValueCB | sets flash returned value
Method | FlashSetVariable | sets flash variable
Method | GetAutoBlend | get auto-blend configuration
Method | GetItem | gets item by its index
Method | GetItemAnchorPos | gets item anchor position
Method | GetItemBaseProps | gets item base properties
Method | GetItemMovement | gets item movement configuration
Method | GetItemOriginalSize | gets item original size
Method | GetItemProperties | gets item property
Method | GetItemRate | gets item rate
Method | GetItemsCount | gets count of items
Method | GetPlayingFrame | gets a current frame
Method | GetVideoOutputRect | gets item output rectangular
Method | GetVideoProperties | gets video properties
Method | GroupAddItem | adds item to a group
Method | GroupGetItem | gets group item by its index
Method | GroupGetItemGroup | gets group by item ID
Method | GroupItemsCount | gets count of items in a group.
Method | GroupRemoveAll | removes all items from group
Method | GroupRemoveItem | removes single item from a group
Method | IsKeyingMode | indicates whether CG is in keying mode
Method | IsUseExtraBuffer | indicates whether CG uses extra buffer
Method | LoadConfig | load configuration
Method | PauseItem | pauses an item
Method | RemoveCallback | removes CG callback
Method | RemoveCallback2 | removes callback cookie
Method | RemoveItem | removes item
Method | RemoveItemWithDelay | removes item with delay
Method | RewindItem | rewinds an item
Method | SetAutoBlend | sets item auto-blend parameters
Method | SetItemAlpha | sets item transparency (from 0 to 255)
Method | SetItemAnchorPos | sets item anchor position
Method | SetItemBackground | sets item background
Method | SetItemBaseProps | sets item base properties
Method | SetItemMovement | sets item movement
Method | SetItemPos | sets item positions
Method | SetItemProperties | sets item properties
Method | SetItemRate | sets item rate
Method | SetItemSize | sets item size
Method | SetPlayingFrame | sets item playing frame
Method | SetTimeOffset | sets offset position
Method SetVideoOutputRect

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRectWithDelay method performs the video transformation immediately.

Method SetVideoOutputRectWithDelay

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRect method performs the video transformation within a certain period of time which allows to make a smooth transition between the start and end transformation points.

Method | SetVideoProperties | sets video properties
Method | ShowItem | shows or hides item
Method | ShowItemWithDelay | shows or hides item with delay
Method | ShowPropertiesPage | shows CG properties menu
Method | TextGetProps | gets text item properties
Method | TextSetProps | sets text item properties
Method | TickerAddContent | adds content to the ticker.
Method | TickerAddNew | adds new ticker item
Method | UseExtraBuffer | start or stop using extra buffer
Top
See Also

Reference

IMLCharGen Interface
MLCHARGENLib Namespace


AddCallback Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : AddCallback Method
callback interface
callback cookie
adds callback (for C++ and Delphi) to CG.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub AddCallback( _
   ByVal _pCallback As IMLCharGenCallback, _
   ByVal _nCookie As System.Integer _
)

void AddCallback(
   IMLCharGenCallback _pCallback,
   System.int _nCookie
)

void AddCallback(
   IMLCharGenCallback^ _pCallback,
   System.int _nCookie
)

Parameters
_pCallback

callback interface
_nCookie

callback cookie

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


AddImageByHandle Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : AddImageByHandle Method
image handle
X axis position
Y axis position
indicates whether position is relative ("1") or not ("0")
indicates whether item will be showed ("1") or not ("0")
ID of new item
adds image from memory by its handle
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub AddImageByHandle( _
   ByVal _hBitmap As System.Integer, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsItemID As System.String _
)

void AddImageByHandle(
   System.int _hBitmap,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   out System.string _pbsItemID
)

void AddImageByHandle(
   System.int _hBitmap,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   [Out] System.String^ _pbsItemID
)

Parameters
_hBitmap

image handle
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePos

indicates whether position is relative ("1") or not ("0")
_bShow

indicates whether item will be showed ("1") or not ("0")
_pbsItemID

ID of new item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


AddNewItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : AddNewItem Method
file name or item XML description
X axis position
Y axis position
indicates whether position and item size are relative ("1") or not ("0")
indicates whether a new item will be showed ("1") or not ("0")
new item ID
adds new item to CG configuration.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub AddNewItem( _
   ByVal _bsFileNameOrItemDesc As System.String, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePosAndSize As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsItemID As System.String _
)

void AddNewItem(
   System.string _bsFileNameOrItemDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePosAndSize,
   System.int _bShow,
   out System.string _pbsItemID
)

void AddNewItem(
   System.String^ _bsFileNameOrItemDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePosAndSize,
   System.int _bShow,
   [Out] System.String^ _pbsItemID
)

Parameters
_bsFileNameOrItemDesc

file name or item XML description
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePosAndSize

indicates whether position and item size are relative ("1") or not ("0")
_bShow

indicates whether a new item will be showed ("1") or not ("0")
_pbsItemID

new item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


AddNewTextItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : AddNewTextItem Method
text properties
X axis position
Y axis position
indicates whether position in relative ('1") or not ("0")
indicates whether an item will be showed ("1") or not ("0")
new item ID
adds new text item to CG configuration.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub AddNewTextItem( _
   ByRef _pTextProps As CG_TEXT_PROPS, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsItemID As System.String _
)

void AddNewTextItem(
   ref CG_TEXT_PROPS _pTextProps,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   out System.string _pbsItemID
)

void AddNewTextItem(
   CG_TEXT_PROPS% _pTextProps,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _bShow,
   [Out] System.String^ _pbsItemID
)

Parameters
_pTextProps

text properties
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePos

indicates whether position in relative ('1") or not ("0")
_bShow

indicates whether an item will be showed ("1") or not ("0")
_pbsItemID

new item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CaptureItemImage Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CaptureItemImage Method
item ID
output file name
file type
captures item image to a file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CaptureItemImage( _
   ByVal _bsItemID As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _eFileType As eCG_FileType _
)

void CaptureItemImage(
   System.string _bsItemID,
   System.string _bsFileName,
   eCG_FileType _eFileType
)

void CaptureItemImage(
   System.String^ _bsItemID,
   System.String^ _bsFileName,
   eCG_FileType _eFileType
)

Parameters
_bsItemID

item ID
_bsFileName

output file name
_eFileType

file type

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


ChangeItemID Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : ChangeItemID Method
item ID
new ID of the item
changes item ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ChangeItemID( _
   ByVal _bsItemID As System.String, _
   ByVal _bsItemNewID As System.String _
)

void ChangeItemID(
   System.string _bsItemID,
   System.string _bsItemNewID
)

void ChangeItemID(
   System.String^ _bsItemID,
   System.String^ _bsItemNewID
)

Parameters
_bsItemID

item ID
_bsItemNewID

new ID of the item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


ChangeItemZOrder Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : ChangeItemZOrder Method
item ID
direction and lenght of changes (negative is to back, positive is to front)
changes order of item on Z axis (front - back)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ChangeItemZOrder( _
   ByVal _bsItemID As System.String, _
   ByVal _nChange As System.Integer _
)

void ChangeItemZOrder(
   System.string _bsItemID,
   System.int _nChange
)

void ChangeItemZOrder(
   System.String^ _bsItemID,
   System.int _nChange
)

Parameters
_bsItemID

item ID
_nChange

direction and lenght of changes (negative is to back, positive is to front)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CloneItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CloneItem Method
original item ID
indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
new item ID
copies the item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CloneItem( _
   ByVal _bsOriginalItemID As System.String, _
   ByVal _bMakeReference As System.Integer, _
   ByRef _pbsNewItemID As System.String _
)

void CloneItem(
   System.string _bsOriginalItemID,
   System.int _bMakeReference,
   out System.string _pbsNewItemID
)

void CloneItem(
   System.String^ _bsOriginalItemID,
   System.int _bMakeReference,
   [Out] System.String^ _pbsNewItemID
)

Parameters
_bsOriginalItemID

original item ID
_bMakeReference

indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
_pbsNewItemID

new item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsAddItems Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsAddItems Method
item ID
indicates whether the composition will be cleared before add this item ("1") or not ("0")
comment to the composition
name of the composition
adds item to a composition.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsAddItems( _
   ByVal _bsItemsID As System.String, _
   ByVal _bClearBeforeAdd As System.Integer, _
   ByVal _bsCompositionComment As System.String, _
   ByRef _pbsCompositionName As System.String _
)

void CompositionsAddItems(
   System.string _bsItemsID,
   System.int _bClearBeforeAdd,
   System.string _bsCompositionComment,
   out System.string _pbsCompositionName
)

void CompositionsAddItems(
   System.String^ _bsItemsID,
   System.int _bClearBeforeAdd,
   System.String^ _bsCompositionComment,
   [Out] System.String^ _pbsCompositionName
)

Parameters
_bsItemsID

item ID
_bClearBeforeAdd

indicates whether the composition will be cleared before add this item ("1") or not ("0")
_bsCompositionComment

comment to the composition
_pbsCompositionName

name of the composition

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsChangeName Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsChangeName Method
composition name
new composition name
new composition comment
changes composition name
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsChangeName( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsNewCompositionName As System.String, _
   ByVal _bsNewCommment As System.String _
)

void CompositionsChangeName(
   System.string _bsCompositionName,
   System.string _bsNewCompositionName,
   System.string _bsNewCommment
)

void CompositionsChangeName(
   System.String^ _bsCompositionName,
   System.String^ _bsNewCompositionName,
   System.String^ _bsNewCommment
)

Parameters
_bsCompositionName

composition name
_bsNewCompositionName

new composition name
_bsNewCommment

new composition comment

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsDisplay Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsDisplay Method
composition name
parameters
time to introduce a composition
time to show composition. To display composition forever you should set 0.
time to hide a composition
displays a composition.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsDisplay( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsParamString As System.String, _
   ByVal _dblTimeIntro As System.Double, _
   ByVal _dblShowTime As System.Double, _
   ByVal _dblTimeExit As System.Double _
)

void CompositionsDisplay(
   System.string _bsCompositionName,
   System.string _bsParamString,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

void CompositionsDisplay(
   System.String^ _bsCompositionName,
   System.String^ _bsParamString,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

Parameters
_bsCompositionName

composition name
_bsParamString

parameters
_dblTimeIntro

time to introduce a composition
_dblShowTime

time to show composition. To display composition forever you should set 0.
_dblTimeExit

time to hide a composition

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsDisplayInLayer Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsDisplayInLayer Method
composition name
parameters
layer ID
time to introduce a composition
time to show composition. To display composition forever you should set 0.
time to hide a composition
displays composition in some layer. You need to create layer before call this method.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsDisplayInLayer( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsParamString As System.String, _
   ByVal _bsLayerID As System.String, _
   ByVal _dblTimeIntro As System.Double, _
   ByVal _dblShowTime As System.Double, _
   ByVal _dblTimeExit As System.Double _
)

void CompositionsDisplayInLayer(
   System.string _bsCompositionName,
   System.string _bsParamString,
   System.string _bsLayerID,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

void CompositionsDisplayInLayer(
   System.String^ _bsCompositionName,
   System.String^ _bsParamString,
   System.String^ _bsLayerID,
   System.double _dblTimeIntro,
   System.double _dblShowTime,
   System.double _dblTimeExit
)

Parameters
_bsCompositionName

composition name
_bsParamString

parameters
_bsLayerID

layer ID
_dblTimeIntro

time to introduce a composition
_dblShowTime

time to show composition. To display composition forever you should set 0.
_dblTimeExit

time to hide a composition

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsGetByIndex Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsGetByIndex Method
composition index
name of the composition
composition comment
gets composition by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsName As System.String, _
   ByRef _pbsComment As System.String _
)

void CompositionsGetByIndex(
   System.int _nIndex,
   out System.string _pbsName,
   out System.string _pbsComment
)

void CompositionsGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsName,
   [Out] System.String^ _pbsComment
)

Parameters
_nIndex

composition index
_pbsName

name of the composition
_pbsComment

composition comment

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsGetCount Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsGetCount Method
number of compositions
gets count of compositions.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsGetCount( _
   ByRef _pnCount As System.Integer _
)

void CompositionsGetCount(
   out System.int _pnCount
)

void CompositionsGetCount(
   [Out] System.int _pnCount
)

Parameters
_pnCount

number of compositions

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsGetItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsGetItem Method
composition name
item index
item ID
descriprion of the item
gets item in composition by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsGetItem( _
   ByVal _bsCompositionName As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String, _
   ByRef _pbsItemXMLDesc As System.String _
)

void CompositionsGetItem(
   System.string _bsCompositionName,
   System.int _nIndex,
   out System.string _pbsItemID,
   out System.string _pbsItemXMLDesc
)

void CompositionsGetItem(
   System.String^ _bsCompositionName,
   System.int _nIndex,
   [Out] System.String^ _pbsItemID,
   [Out] System.String^ _pbsItemXMLDesc
)

Parameters
_bsCompositionName

composition name
_nIndex

item index
_pbsItemID

item ID
_pbsItemXMLDesc

descriprion of the item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsGetItemsCount Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsGetItemsCount Method
composition name
number of items
gets count of items in a composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsGetItemsCount( _
   ByVal _bsCompositionName As System.String, _
   ByRef _pnCount As System.Integer _
)

void CompositionsGetItemsCount(
   System.string _bsCompositionName,
   ref System.int _pnCount
)

void CompositionsGetItemsCount(
   System.String^ _bsCompositionName,
   System.int% _pnCount
)

Parameters
_bsCompositionName

composition name
_pnCount

number of items

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsLoadAll Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsLoadAll Method
file name or XML description of compositions
indicates whether all composition will be cleared before loading
loads several compositions at once
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsLoadAll( _
   ByVal _bsFileNameOrXMLDescription As System.String, _
   ByVal _bClearBeforeLoad As System.Integer _
)

void CompositionsLoadAll(
   System.string _bsFileNameOrXMLDescription,
   System.int _bClearBeforeLoad
)

void CompositionsLoadAll(
   System.String^ _bsFileNameOrXMLDescription,
   System.int _bClearBeforeLoad
)

Parameters
_bsFileNameOrXMLDescription

file name or XML description of compositions
_bClearBeforeLoad

indicates whether all composition will be cleared before loading

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsLoadOne Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsLoadOne Method
file name or XML description of composition
composition name
loads a single composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsLoadOne( _
   ByVal _bsFileNameOrXMLDescription As System.String, _
   ByRef _pbsCompositionName As System.String _
)

void CompositionsLoadOne(
   System.string _bsFileNameOrXMLDescription,
   out System.string _pbsCompositionName
)

void CompositionsLoadOne(
   System.String^ _bsFileNameOrXMLDescription,
   [Out] System.String^ _pbsCompositionName
)

Parameters
_bsFileNameOrXMLDescription

file name or XML description of composition
_pbsCompositionName

composition name

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsRemove Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsRemove Method
composition name
removes composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsRemove( _
   ByVal _bsCompositionName As System.String _
)

void CompositionsRemove(
   System.string _bsCompositionName
)

void CompositionsRemove(
   System.String^ _bsCompositionName
)

Parameters
_bsCompositionName

composition name

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsRemoveItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsRemoveItem Method
composition name
item ID
removes item from a composition
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsRemoveItem( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsItemID As System.String _
)

void CompositionsRemoveItem(
   System.string _bsCompositionName,
   System.string _bsItemID
)

void CompositionsRemoveItem(
   System.String^ _bsCompositionName,
   System.String^ _bsItemID
)

Parameters
_bsCompositionName

composition name
_bsItemID

item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsSaveToFile Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsSaveToFile Method
composition name
output file name
saves composition configuration to the file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsSaveToFile( _
   ByVal _bsCompositionName As System.String, _
   ByVal _bsFileName As System.String _
)

void CompositionsSaveToFile(
   System.string _bsCompositionName,
   System.string _bsFileName
)

void CompositionsSaveToFile(
   System.String^ _bsCompositionName,
   System.String^ _bsFileName
)

Parameters
_bsCompositionName

composition name
_bsFileName

output file name

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


CompositionsSaveToString Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : CompositionsSaveToString Method
composition name
output string with description
saves composition configuration to a string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub CompositionsSaveToString( _
   ByVal _bsCompositionName As System.String, _
   ByRef _pbsXMLDesc As System.String _
)

void CompositionsSaveToString(
   System.string _bsCompositionName,
   out System.string _pbsXMLDesc
)

void CompositionsSaveToString(
   System.String^ _bsCompositionName,
   [Out] System.String^ _pbsXMLDesc
)

Parameters
_bsCompositionName

composition name
_pbsXMLDesc

output string with description

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


EnableKeyingMode Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : EnableKeyingMode Method
"1" to enable keying, "0" to desable keying
enables keyig mode
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EnableKeyingMode( _
   ByVal _bEnable As System.Integer _
)

void EnableKeyingMode(
   System.int _bEnable
)

void EnableKeyingMode(
   System.int _bEnable
)

Parameters
_bEnable

"1" to enable keying, "0" to desable keying

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashCallFunction Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashCallFunction Method
item ID
flash function name
result of request
calls function of flash object
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashCallFunction( _
   ByVal _bsItemID As System.String, _
   ByVal _bsRequest As System.String, _
   ByRef _pbsResponce As System.String _
)

void FlashCallFunction(
   System.string _bsItemID,
   System.string _bsRequest,
   out System.string _pbsResponce
)

void FlashCallFunction(
   System.String^ _bsItemID,
   System.String^ _bsRequest,
   [Out] System.String^ _pbsResponce
)

Parameters
_bsItemID

item ID
_bsRequest

flash function name
_pbsResponce

result of request

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashGetClipInfo Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashGetClipInfo Method
item ID
number of frames
frame rate
gets flash clip information
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashGetClipInfo( _
   ByVal _bsItemID As System.String, _
   ByRef _pnTotalFrames As System.Integer, _
   ByRef _pdblFrameRate As System.Double _
)

void FlashGetClipInfo(
   System.string _bsItemID,
   out System.int _pnTotalFrames,
   out System.double _pdblFrameRate
)

void FlashGetClipInfo(
   System.String^ _bsItemID,
   [Out] System.int _pnTotalFrames,
   [Out] System.double _pdblFrameRate
)

Parameters
_bsItemID

item ID
_pnTotalFrames

number of frames
_pdblFrameRate

frame rate

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashGetVariable Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashGetVariable Method
item ID
name of variable
value of variable
gets flash variable
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashGetVariable( _
   ByVal _bsItemID As System.String, _
   ByVal _bsVarName As System.String, _
   ByRef _pbsVarValue As System.String _
)

void FlashGetVariable(
   System.string _bsItemID,
   System.string _bsVarName,
   out System.string _pbsVarValue
)

void FlashGetVariable(
   System.String^ _bsItemID,
   System.String^ _bsVarName,
   [Out] System.String^ _pbsVarValue
)

Parameters
_bsItemID

item ID
_bsVarName

name of variable
_pbsVarValue

value of variable

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashGetVariableName Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashGetVariableName Method
item ID
variable index
name of a variable
gets name of variable by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashGetVariableName( _
   ByVal _bsItemID As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsVarName As System.String _
)

void FlashGetVariableName(
   System.string _bsItemID,
   System.int _nIndex,
   out System.string _pbsVarName
)

void FlashGetVariableName(
   System.String^ _bsItemID,
   System.int _nIndex,
   [Out] System.String^ _pbsVarName
)

Parameters
_bsItemID

item ID
_nIndex

variable index
_pbsVarName

name of a variable

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashGetVariablesCount Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashGetVariablesCount Method

item ID

number of variables
gets count of flash variables
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashGetVariablesCount( _
   ByVal _bsItemID As System.String, _
   ByRef _pnCount As System.Integer _
)

void FlashGetVariablesCount(
   System.string _bsItemID,
   out System.int _pnCount
)

void FlashGetVariablesCount(
   System.String^ _bsItemID,
   [Out] System.int _pnCount
)

Parameters
_bsItemID

item ID
_pnCount

number of variables

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashGoToFrame Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashGoToFrame Method
item ID
flash target
frame number
seeks to the frame in flash
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashGoToFrame( _
   ByVal _bsItemID As System.String, _
   ByVal _bsTarget As System.String, _
   ByVal _nFrame As System.Integer _
)

void FlashGoToFrame(
   System.string _bsItemID,
   System.string _bsTarget,
   System.int _nFrame
)

void FlashGoToFrame(
   System.String^ _bsItemID,
   System.String^ _bsTarget,
   System.int _nFrame
)

Parameters
_bsItemID

item ID
_bsTarget

flash target
_nFrame

frame number

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashGoToLabel Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashGoToLabel Method
item ID
flash target

flash label

seeks to a flash label
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashGoToLabel( _
   ByVal _bsItemID As System.String, _
   ByVal _bsTarget As System.String, _
   ByVal _bsLabel As System.String _
)

void FlashGoToLabel(
   System.string _bsItemID,
   System.string _bsTarget,
   System.string _bsLabel
)

void FlashGoToLabel(
   System.String^ _bsItemID,
   System.String^ _bsTarget,
   System.String^ _bsLabel
)

Parameters
_bsItemID

item ID
_bsTarget

flash target
_bsLabel

flash label

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashSetReturnValueCB Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashSetReturnValueCB Method
returned value
sets flash returned value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashSetReturnValueCB( _
   ByVal _bsReturnValue As System.String _
)

void FlashSetReturnValueCB(
   System.string _bsReturnValue
)

void FlashSetReturnValueCB(
   System.String^ _bsReturnValue
)

Parameters
_bsReturnValue

returned value

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


FlashSetVariable Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : FlashSetVariable Method
item ID
name of variable
value of variable
sets flash variable
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FlashSetVariable( _
   ByVal _bsItemID As System.String, _
   ByVal _bsVarName As System.String, _
   ByVal _bsVarValue As System.String _
)

void FlashSetVariable(
   System.string _bsItemID,
   System.string _bsVarName,
   System.string _bsVarValue
)

void FlashSetVariable(
   System.String^ _bsItemID,
   System.String^ _bsVarName,
   System.String^ _bsVarValue
)

Parameters
_bsItemID

item ID
_bsVarName

name of variable
_bsVarValue

value of variable

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetAutoBlend Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetAutoBlend Method
item ID
auto-blend configuration
get auto-blend configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetAutoBlend( _
   ByVal _bsItemID As System.String, _
   ByRef _pAutoBlend As CG_AUTO_BLEND _
)

void GetAutoBlend(
   System.string _bsItemID,
   out CG_AUTO_BLEND _pAutoBlend
)

void GetAutoBlend(
   System.String^ _bsItemID,
   [Out] CG_AUTO_BLEND _pAutoBlend
)

Parameters
_bsItemID

item ID
_pAutoBlend

auto-blend configuration

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItem Method
item index
item ID
gets item by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItem( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String _
)

void GetItem(
   System.int _nIndex,
   out System.string _pbsItemID
)

void GetItem(
   System.int _nIndex,
   [Out] System.String^ _pbsItemID
)

Parameters
_nIndex

item index
_pbsItemID

item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemAnchorPos Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemAnchorPos Method
item ID
item relative anchor
screen relative anchor
gets item anchor position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemAnchorPos( _
   ByVal _bsItemID As System.String, _
   ByRef _peItemRelAnchor As eCG_Align, _
   ByRef _peScreenRelAnchor As eCG_Align _
)

void GetItemAnchorPos(
   System.string _bsItemID,
   out eCG_Align _peItemRelAnchor,
   out eCG_Align _peScreenRelAnchor
)

void GetItemAnchorPos(
   System.String^ _bsItemID,
   [Out] eCG_Align _peItemRelAnchor,
   [Out] eCG_Align _peScreenRelAnchor
)

Parameters
_bsItemID

item ID
_peItemRelAnchor

item relative anchor
_peScreenRelAnchor

screen relative anchor

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemBaseProps Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemBaseProps Method
item ID
file name or description of item
properties of the item
gets item base properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemBaseProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pbsFileNameOrDesc As System.String, _
   ByRef _pItemProps As CG_ITEM_PROPS _
)

void GetItemBaseProps(
   System.string _bsItemID,
   out System.string _pbsFileNameOrDesc,
   out CG_ITEM_PROPS _pItemProps
)

void GetItemBaseProps(
   System.String^ _bsItemID,
   [Out] System.String^ _pbsFileNameOrDesc,
   [Out] CG_ITEM_PROPS _pItemProps
)

Parameters
_bsItemID

item ID
_pbsFileNameOrDesc

file name or description of item
_pItemProps

properties of the item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemMovement Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemMovement Method
item ID
item movement
gets item movement configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemMovement( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemMove As CG_ITEM_MOVEMENT _
)

void GetItemMovement(
   System.string _bsItemID,
   out CG_ITEM_MOVEMENT _pItemMove
)

void GetItemMovement(
   System.String^ _bsItemID,
   [Out] CG_ITEM_MOVEMENT _pItemMove
)

Parameters
_bsItemID

item ID
_pItemMove

item movement

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemOriginalSize Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemOriginalSize Method
item ID
size of the item
gets item original size
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemOriginalSize( _
   ByVal _bsItemID As System.String, _
   ByRef _pSize As tagSIZE _
)

void GetItemOriginalSize(
   System.string _bsItemID,
   out tagSIZE _pSize
)

void GetItemOriginalSize(
   System.String^ _bsItemID,
   [Out] tagSIZE _pSize
)

Parameters
_bsItemID

item ID
_pSize

size of the item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemProperties Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemProperties Method
item ID
name of the property
description (value) of the property
gets item property
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemProperties( _
   ByVal _bsItemID As System.String, _
   ByVal _bsPropertyName As System.String, _
   ByRef _pbsPropertyDesc As System.String _
)

void GetItemProperties(
   System.string _bsItemID,
   System.string _bsPropertyName,
   out System.string _pbsPropertyDesc
)

void GetItemProperties(
   System.String^ _bsItemID,
   System.String^ _bsPropertyName,
   [Out] System.String^ _pbsPropertyDesc
)

Parameters
_bsItemID

item ID
_bsPropertyName

name of the property
_pbsPropertyDesc

description (value) of the property

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemRate Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemRate Method
item ID
original rate
rate of the item
gets item rate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemRate( _
   ByVal _bsItemID As System.String, _
   ByRef _pbOriginalRate As System.Integer, _
   ByRef _pdblSpeed As System.Double _
)

void GetItemRate(
   System.string _bsItemID,
   out System.int _pbOriginalRate,
   out System.double _pdblSpeed
)

void GetItemRate(
   System.String^ _bsItemID,
   [Out] System.int _pbOriginalRate,
   [Out] System.double _pdblSpeed
)

Parameters
_bsItemID

item ID
_pbOriginalRate

original rate
_pdblSpeed

rate of the item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetItemsCount Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetItemsCount Method
number of items
gets count of items
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetItemsCount( _
   ByRef _pnItems As System.Integer _
)

void GetItemsCount(
   out System.int _pnItems
)

void GetItemsCount(
   [Out] System.int _pnItems
)

Parameters
_pnItems

number of items

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetPlayingFrame Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetPlayingFrame Method
item ID
frame number
description of current image
gets a current frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetPlayingFrame( _
   ByVal _bsItemID As System.String, _
   ByRef _pnFrame As System.Integer, _
   ByRef _bsCurrentImage As System.String _
)

void GetPlayingFrame(
   System.string _bsItemID,
   out System.int _pnFrame,
   out System.string _bsCurrentImage
)

void GetPlayingFrame(
   System.String^ _bsItemID,
   [Out] System.int _pnFrame,
   [Out] System.String^ _bsCurrentImage
)

Parameters
_bsItemID

item ID
_pnFrame

frame number
_bsCurrentImage

description of current image

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetVideoOutputRect Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetVideoOutputRect Method
source rectangular
target rectangular
background color
index of the most top video
gets item output rectangular
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetVideoOutputRect( _
   ByRef _prcSource As tagRECT, _
   ByRef _prcTarget As tagRECT, _
   ByRef _pcrBackColor As System.Integer, _
   ByRef _pbTopmostVideo As System.Integer _
)

void GetVideoOutputRect(
   out tagRECT _prcSource,
   out tagRECT _prcTarget,
   out System.int _pcrBackColor,
   out System.int _pbTopmostVideo
)

void GetVideoOutputRect(
   [Out] tagRECT _prcSource,
   [Out] tagRECT _prcTarget,
   [Out] System.int _pcrBackColor,
   [Out] System.int _pbTopmostVideo
)

Parameters
_prcSource

source rectangular
_prcTarget

target rectangular
_pcrBackColor

background color
_pbTopmostVideo

index of the most top video

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GetVideoProperties Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GetVideoProperties Method
video properties
original video properties
gets video properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetVideoProperties( _
   ByRef _pVideoPropsSet As CG_VIDEO_PROPS, _
   ByRef _pVideoPropsOrigin As CG_VIDEO_PROPS _
)

void GetVideoProperties(
   out CG_VIDEO_PROPS _pVideoPropsSet,
   out CG_VIDEO_PROPS _pVideoPropsOrigin
)

void GetVideoProperties(
   [Out] CG_VIDEO_PROPS _pVideoPropsSet,
   [Out] CG_VIDEO_PROPS _pVideoPropsOrigin
)

Parameters
_pVideoPropsSet

video properties
_pVideoPropsOrigin

original video properties

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GroupAddItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GroupAddItem Method
item ID
indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
type of a group
group ID
adds item to a group
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GroupAddItem( _
   ByVal _bsItemID As System.String, _
   ByVal _bAddAsReference As System.Integer, _
   ByVal _bsGroupType As System.String, _
   ByRef _pbsGroupID As System.String _
)

void GroupAddItem(
   System.string _bsItemID,
   System.int _bAddAsReference,
   System.string _bsGroupType,
   out System.string _pbsGroupID
)

void GroupAddItem(
   System.String^ _bsItemID,
   System.int _bAddAsReference,
   System.String^ _bsGroupType,
   [Out] System.String^ _pbsGroupID
)

Parameters
_bsItemID

item ID
_bAddAsReference

indicates whether the new item is reference of old item. It means that if you change something with old item then all this changes will be implement to the new one.
_bsGroupType

type of a group
_pbsGroupID

group ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GroupGetItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GroupGetItem Method
group ID
item index
item ID
gets group item by its index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GroupGetItem( _
   ByVal _bsGroupID As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String _
)

void GroupGetItem(
   System.string _bsGroupID,
   System.int _nIndex,
   out System.string _pbsItemID
)

void GroupGetItem(
   System.String^ _bsGroupID,
   System.int _nIndex,
   [Out] System.String^ _pbsItemID
)

Parameters
_bsGroupID

group ID
_nIndex

item index
_pbsItemID

item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GroupGetItemGroup Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GroupGetItemGroup Method
item ID
group ID (if item is not in group then empty string)
gets group by item ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GroupGetItemGroup( _
   ByVal _bsItemID As System.String, _
   ByRef _pbsGroupID As System.String _
)

void GroupGetItemGroup(
   System.string _bsItemID,
   out System.string _pbsGroupID
)

void GroupGetItemGroup(
   System.String^ _bsItemID,
   [Out] System.String^ _pbsGroupID
)

Parameters
_bsItemID

item ID
_pbsGroupID

group ID (if item is not in group then empty string)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GroupItemsCount Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GroupItemsCount Method
group ID
number of items
gets count of items in a group.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GroupItemsCount( _
   ByVal _bsGroupID As System.String, _
   ByRef _pnItemsCount As System.Integer _
)

void GroupItemsCount(
   System.string _bsGroupID,
   out System.int _pnItemsCount
)

void GroupItemsCount(
   System.String^ _bsGroupID,
   [Out] System.int _pnItemsCount
)

Parameters
_bsGroupID

group ID
_pnItemsCount

number of items

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GroupRemoveAll Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GroupRemoveAll Method
group ID
type of removing
removes all items from group
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GroupRemoveAll( _
   ByVal _bsGroupID As System.String, _
   ByVal _eRemoveType As eCG_GroupItemsRemoveType _
)

void GroupRemoveAll(
   System.string _bsGroupID,
   eCG_GroupItemsRemoveType _eRemoveType
)

void GroupRemoveAll(
   System.String^ _bsGroupID,
   eCG_GroupItemsRemoveType _eRemoveType
)

Parameters
_bsGroupID

group ID
_eRemoveType

type of removing

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


GroupRemoveItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : GroupRemoveItem Method
group ID
item ID
removes single item from a group
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GroupRemoveItem( _
   ByVal _bsGroupID As System.String, _
   ByVal _bsItemID As System.String _
)

void GroupRemoveItem(
   System.string _bsGroupID,
   System.string _bsItemID
)

void GroupRemoveItem(
   System.String^ _bsGroupID,
   System.String^ _bsItemID
)

Parameters
_bsGroupID

group ID
_bsItemID

item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


IsKeyingMode Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : IsKeyingMode Method
1 is for keying ON, 0 is for OFF
indicates whether CG is in keying mode
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub IsKeyingMode( _
   ByRef _pbKeying As System.Integer _
)

void IsKeyingMode(
   out System.int _pbKeying
)

void IsKeyingMode(
   [Out] System.int _pbKeying
)

Parameters
_pbKeying

1 is for keying ON, 0 is for OFF

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


IsUseExtraBuffer Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : IsUseExtraBuffer Method
1 means that CG uses extra buffer, 0 means that doesn't
indicates whether CG uses extra buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub IsUseExtraBuffer( _
   ByRef _pnUse As System.Integer _
)

void IsUseExtraBuffer(
   out System.int _pnUse
)

void IsUseExtraBuffer(
   [Out] System.int _pnUse
)

Parameters
_pnUse

1 means that CG uses extra buffer, 0 means that doesn't

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


LoadConfig Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : LoadConfig Method
path to XML configuration
indicates whether configuration will be cleared by default or not
parameters
load configuration
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub LoadConfig( _
   ByVal _bsConfigPathXML As System.String, _
   ByVal _bDefaultClear As System.Integer, _
   ByVal _bsParam As System.String _
)

void LoadConfig(
   System.string _bsConfigPathXML,
   System.int _bDefaultClear,
   System.string _bsParam
)

void LoadConfig(
   System.String^ _bsConfigPathXML,
   System.int _bDefaultClear,
   System.String^ _bsParam
)

Parameters
_bsConfigPathXML

path to XML configuration
_bDefaultClear

indicates whether configuration will be cleared by default or not
_bsParam

parameters

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


PauseItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : PauseItem Method
item ID
1 to pause an item, 0 to unpause the one
pauses an item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub PauseItem( _
   ByVal _bsItemID As System.String, _
   ByVal _bPause As System.Integer _
)

void PauseItem(
   System.string _bsItemID,
   System.int _bPause
)

void PauseItem(
   System.String^ _bsItemID,
   System.int _bPause
)

Parameters
_bsItemID

item ID
_bPause

1 to pause an item, 0 to unpause the one

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


RemoveCallback Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : RemoveCallback Method
callback interface
removes CG callback
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoveCallback( _
   ByVal _pCallback As IMLCharGenCallback _
)

void RemoveCallback(
   IMLCharGenCallback _pCallback
)

void RemoveCallback(
   IMLCharGenCallback^ _pCallback
)

Parameters
_pCallback

callback interface

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


RemoveCallback2 Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : RemoveCallback2 Method
callback cookie
removes callback cookie
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoveCallback2( _
   ByVal _nCookie As System.Integer _
)

void RemoveCallback2(
   System.int _nCookie
)

void RemoveCallback2(
   System.int _nCookie
)

Parameters
_nCookie

callback cookie

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


RemoveItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : RemoveItem Method
item ID
time to fade the item (in msec)
removes item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoveItem( _
   ByVal _bsItemID As System.String, _
   ByVal _nFadeOutMsec As System.Integer _
)

void RemoveItem(
   System.string _bsItemID,
   System.int _nFadeOutMsec
)

void RemoveItem(
   System.String^ _bsItemID,
   System.int _nFadeOutMsec
)

Parameters
_bsItemID

item ID
_nFadeOutMsec

time to fade the item (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


RemoveItemWithDelay Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : RemoveItemWithDelay Method
item ID
delay duration (in msec)
time to fade the item (in msec)
removes item with delay
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RemoveItemWithDelay( _
   ByVal _bsItemID As System.String, _
   ByVal _nMsecDelay As System.Integer, _
   ByVal _nFadeOutMsec As System.Integer _
)

void RemoveItemWithDelay(
   System.string _bsItemID,
   System.int _nMsecDelay,
   System.int _nFadeOutMsec
)

void RemoveItemWithDelay(
   System.String^ _bsItemID,
   System.int _nMsecDelay,
   System.int _nFadeOutMsec
)

Parameters
_bsItemID

item ID
_nMsecDelay

delay duration (in msec)
_nFadeOutMsec

time to fade the item (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


RewindItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : RewindItem Method
item item
rewinds an item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub RewindItem( _
   ByVal _bsItemID As System.String _
)

void RewindItem(
   System.string _bsItemID
)

void RewindItem(
   System.String^ _bsItemID
)

Parameters
_bsItemID

item item

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetAutoBlend Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetAutoBlend Method
item ID
auto-blend parameters
sets item auto-blend parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetAutoBlend( _
   ByVal _bsItemID As System.String, _
   ByRef _pAutoBlend As CG_AUTO_BLEND _
)

void SetAutoBlend(
   System.string _bsItemID,
   ref CG_AUTO_BLEND _pAutoBlend
)

void SetAutoBlend(
   System.String^ _bsItemID,
   CG_AUTO_BLEND% _pAutoBlend
)

Parameters
_bsItemID

item ID
_pAutoBlend

auto-blend parameters

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemAlpha Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemAlpha Method
item ID
alpha value
time for changes (in msec)
sets item transparency (from 0 to 255)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemAlpha( _
   ByVal _bsItemID As System.String, _
   ByVal _nNewAlpha As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void SetItemAlpha(
   System.string _bsItemID,
   System.int _nNewAlpha,
   System.int _nMsecForChange
)

void SetItemAlpha(
   System.String^ _bsItemID,
   System.int _nNewAlpha,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_nNewAlpha

alpha value
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemAnchorPos Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemAnchorPos Method
item ID
item relative anchor
screen relative anchor
sets item anchor position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemAnchorPos( _
   ByVal _bsItemID As System.String, _
   ByVal _eItemRelAnchor As eCG_Align, _
   ByVal _eScreenRelAnchor As eCG_Align _
)

void SetItemAnchorPos(
   System.string _bsItemID,
   eCG_Align _eItemRelAnchor,
   eCG_Align _eScreenRelAnchor
)

void SetItemAnchorPos(
   System.String^ _bsItemID,
   eCG_Align _eItemRelAnchor,
   eCG_Align _eScreenRelAnchor
)

Parameters
_bsItemID

item ID
_eItemRelAnchor

item relative anchor
_eScreenRelAnchor

screen relative anchor

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemBackground Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemBackground Method
item ID
background color
time for changes (in msec)
sets item background
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemBackground( _
   ByVal _bsItemID As System.String, _
   ByVal _nBackground As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void SetItemBackground(
   System.string _bsItemID,
   System.int _nBackground,
   System.int _nMsecForChange
)

void SetItemBackground(
   System.String^ _bsItemID,
   System.int _nBackground,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_nBackground

background color
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemBaseProps Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemBaseProps Method
item ID
item properties
time for changes (in msec)
sets item base properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemBaseProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemInfo As CG_ITEM_PROPS, _
   ByVal _nMsecForChange As System.Integer _
)

void SetItemBaseProps(
   System.string _bsItemID,
   ref CG_ITEM_PROPS _pItemInfo,
   System.int _nMsecForChange
)

void SetItemBaseProps(
   System.String^ _bsItemID,
   CG_ITEM_PROPS% _pItemInfo,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_pItemInfo

item properties
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemMovement Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemMovement Method
item ID
movement parameters
sets item movement
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemMovement( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemMove As CG_ITEM_MOVEMENT _
)

void SetItemMovement(
   System.string _bsItemID,
   ref CG_ITEM_MOVEMENT _pItemMove
)

void SetItemMovement(
   System.String^ _bsItemID,
   CG_ITEM_MOVEMENT% _pItemMove
)

Parameters
_bsItemID

item ID
_pItemMove

movement parameters

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemPos Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemPos Method
item ID
X axis position
Y axis position
indicates whether position is relative
time for changes (in msec)
sets item positions
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemPos( _
   ByVal _bsItemID As System.String, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void SetItemPos(
   System.string _bsItemID,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _nMsecForChange
)

void SetItemPos(
   System.String^ _bsItemID,
   System.double _dblPosX,
   System.double _dblPosY,
   System.int _bRelativePos,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_dblPosX

X axis position
_dblPosY

Y axis position
_bRelativePos

indicates whether position is relative
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemProperties Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemProperties Method
item ID
property name
value of the property
type of change
time for change (in msec)
sets item properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemProperties( _
   ByVal _bsItemID As System.String, _
   ByVal _bsPropertyName As System.String, _
   ByVal _bsPropertyValue As System.String, _
   ByVal _bsChangeType As System.String, _
   ByVal _nMsecForChange As System.Integer _
)

void SetItemProperties(
   System.string _bsItemID,
   System.string _bsPropertyName,
   System.string _bsPropertyValue,
   System.string _bsChangeType,
   System.int _nMsecForChange
)

void SetItemProperties(
   System.String^ _bsItemID,
   System.String^ _bsPropertyName,
   System.String^ _bsPropertyValue,
   System.String^ _bsChangeType,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_bsPropertyName

property name
_bsPropertyValue

value of the property
_bsChangeType

type of change
_nMsecForChange

time for change (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemRate Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemRate Method
item ID
original rate
item rate
sets item rate
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemRate( _
   ByVal _bsItemID As System.String, _
   ByVal _bOriginalRate As System.Integer, _
   ByVal _dblSpeed As System.Double _
)

void SetItemRate(
   System.string _bsItemID,
   System.int _bOriginalRate,
   System.double _dblSpeed
)

void SetItemRate(
   System.String^ _bsItemID,
   System.int _bOriginalRate,
   System.double _dblSpeed
)

Parameters
_bsItemID

item ID
_bOriginalRate

original rate
_dblSpeed

item rate

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetItemSize Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetItemSize Method
item ID
width
height
indicates whether size is relative
time for changes (in msec)
sets item size
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetItemSize( _
   ByVal _bsItemID As System.String, _
   ByVal _dblSizeX As System.Double, _
   ByVal _dblSizeY As System.Double, _
   ByVal _bRelativeSize As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void SetItemSize(
   System.string _bsItemID,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativeSize,
   System.int _nMsecForChange
)

void SetItemSize(
   System.String^ _bsItemID,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativeSize,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_dblSizeX

width
_dblSizeY

height
_bRelativeSize

indicates whether size is relative
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetPlayingFrame Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetPlayingFrame Method
item ID
frame number
sets item playing frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetPlayingFrame( _
   ByVal _bsItemID As System.String, _
   ByVal _nFrame As System.Integer _
)

void SetPlayingFrame(
   System.string _bsItemID,
   System.int _nFrame
)

void SetPlayingFrame(
   System.String^ _bsItemID,
   System.int _nFrame
)

Parameters
_bsItemID

item ID
_nFrame

frame number

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetTimeOffset Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetTimeOffset Method
offset position
stream time
sets offset position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetTimeOffset( _
   ByVal _dblTime As System.Double, _
   ByVal _bStreamTime As System.Integer _
)

void SetTimeOffset(
   System.double _dblTime,
   System.int _bStreamTime
)

void SetTimeOffset(
   System.double _dblTime,
   System.int _bStreamTime
)

Parameters
_dblTime

offset position
_bStreamTime

stream time

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetVideoOutputRect Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetVideoOutputRect Method
The source rectangle structure. Specifies the source rectangle on the video that will be transformed. Determins the transformation start point.
The target rectangle structure. Specifies the destination rectangle for the video transforming. Determins the transformation end point.
Background color.

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)
  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRectWithDelay method performs the video transformation immediately.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetVideoOutputRect( _
   ByRef _prcSource As tagRECT, _
   ByRef _prcTarget As tagRECT, _
   ByVal _crBackColor As System.Integer, _
   ByVal _bTopmostVideo As System.Integer _
)

void SetVideoOutputRect(
   ref tagRECT _prcSource,
   ref tagRECT _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo
)

void SetVideoOutputRect(
   tagRECT% _prcSource,
   tagRECT% _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo
)

Parameters
_prcSource

The source rectangle structure. Specifies the source rectangle on the video that will be transformed.  Determins the transformation start point.
_prcTarget

The target rectangle structure. Specifies the destination rectangle for the video transforming.  Determins the transformation end point.
_crBackColor

Background color.
_bTopmostVideo

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)

  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetVideoOutputRectWithDelay Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetVideoOutputRectWithDelay Method
The source rectangle structure. Specifies the source rectangle on the video that will be transformed. Determins the transformation start point.
The target rectangle structure. Specifies the destination rectangle for the video transforming. Determins the transformation end point.
Background color.

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)
  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.
The delay value in milliseconds before the transformation start.
A time span in milliseconds to perform the transformation. Should be used to make a smooth transition between the start and end transformation points.

Transform (squeeze) the video output rectangle. Can also be used to move the CG overlay layer behind a video and perform the L-shape items displaying.

Please refer to this article for details: http://docs.medialooks.com/150F4P/

In opposite to SetVideoOutputRect method performs the video transformation within a certain period of time which allows to make a smooth transition between the start and end transformation points.

Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetVideoOutputRectWithDelay( _
   ByRef _prcSource As tagRECT, _
   ByRef _prcTarget As tagRECT, _
   ByVal _crBackColor As System.Integer, _
   ByVal _bTopmostVideo As System.Integer, _
   ByVal _nMsecDelay As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void SetVideoOutputRectWithDelay(
   ref tagRECT _prcSource,
   ref tagRECT _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

void SetVideoOutputRectWithDelay(
   tagRECT% _prcSource,
   tagRECT% _prcTarget,
   System.int _crBackColor,
   System.int _bTopmostVideo,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

Parameters
_prcSource

The source rectangle structure. Specifies the source rectangle on the video that will be transformed.  Determins the transformation start point.
_prcTarget

The target rectangle structure. Specifies the destination rectangle for the video transforming.  Determins the transformation end point.
_crBackColor

Background color.
_bTopmostVideo

Use this parameter to move the CG overlay layer behind the video.

Possible values:

  • 0 - display CG layer on top of the video (default)

  • 1 - display CG layer behind the video. Should be used to perform the L-shape items displaying.
_nMsecDelay

The delay value in milliseconds  before the transformation start.
_nMsecForChange

A time span in milliseconds to perform the transformation. Should be used to make a smooth transition between the start and end transformation points.

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


SetVideoProperties Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : SetVideoProperties Method
video properties
sets video properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetVideoProperties( _
   ByRef _pVideoProps As CG_VIDEO_PROPS _
)

void SetVideoProperties(
   ref CG_VIDEO_PROPS _pVideoProps
)

void SetVideoProperties(
   CG_VIDEO_PROPS% _pVideoProps
)

Parameters
_pVideoProps

video properties

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


ShowItem Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : ShowItem Method
item ID
1 to show an item, 0 to hide the one
time for changes (in msec)
shows or hides item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ShowItem( _
   ByVal _bsItemID As System.String, _
   ByVal _bShow As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void ShowItem(
   System.string _bsItemID,
   System.int _bShow,
   System.int _nMsecForChange
)

void ShowItem(
   System.String^ _bsItemID,
   System.int _bShow,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_bShow

1 to show an item, 0 to hide the one
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


ShowItemWithDelay Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : ShowItemWithDelay Method
item ID
1 to show an item, 0 to hide the one
delay duration (in msec)
time for changes (in msec)
shows or hides item with delay
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ShowItemWithDelay( _
   ByVal _bsItemID As System.String, _
   ByVal _bShow As System.Integer, _
   ByVal _nMsecDelay As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void ShowItemWithDelay(
   System.string _bsItemID,
   System.int _bShow,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

void ShowItemWithDelay(
   System.String^ _bsItemID,
   System.int _bShow,
   System.int _nMsecDelay,
   System.int _nMsecForChange
)

Parameters
_bsItemID

item ID
_bShow

1 to show an item, 0 to hide the one
_nMsecDelay

delay duration (in msec)
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


ShowPropertiesPage Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : ShowPropertiesPage Method
parent window handle
shows CG properties menu
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ShowPropertiesPage( _
   ByVal _lHWndParent As System.Integer _
)

void ShowPropertiesPage(
   System.int _lHWndParent
)

void ShowPropertiesPage(
   System.int _lHWndParent
)

Parameters
_lHWndParent

parent window handle

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


TextGetProps Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : TextGetProps Method
text item ID
text properties
gets text item properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub TextGetProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pTextProps As CG_TEXT_PROPS _
)

void TextGetProps(
   System.string _bsItemID,
   out CG_TEXT_PROPS _pTextProps
)

void TextGetProps(
   System.String^ _bsItemID,
   [Out] CG_TEXT_PROPS _pTextProps
)

Parameters
_bsItemID

text item ID
_pTextProps

text properties

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


TextSetProps Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : TextSetProps Method
text item ID
text properties
indicates whether item size will be update after setting new properties (1 to update, 0 to ignore)
time for changes (in msec)
sets text item properties
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub TextSetProps( _
   ByVal _bsItemID As System.String, _
   ByRef _pItemInfo As CG_TEXT_PROPS, _
   ByVal _bUpdateItemSize As System.Integer, _
   ByVal _nMsecForChange As System.Integer _
)

void TextSetProps(
   System.string _bsItemID,
   ref CG_TEXT_PROPS _pItemInfo,
   System.int _bUpdateItemSize,
   System.int _nMsecForChange
)

void TextSetProps(
   System.String^ _bsItemID,
   CG_TEXT_PROPS% _pItemInfo,
   System.int _bUpdateItemSize,
   System.int _nMsecForChange
)

Parameters
_bsItemID

text item ID
_pItemInfo

text properties
_bUpdateItemSize

indicates whether item size will be update after setting new properties (1 to update, 0 to ignore)
_nMsecForChange

time for changes (in msec)

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


TickerAddContent Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : TickerAddContent Method
ticker item ID
text ot file path to add to ticker
The adding type
Supported:
'add-to-end' (default) - the new ticker item added to the end of items list
'remove-first' - the first items from ticker removed, new one - added to the end
'remove-all' - all items removed (except displaying now) - new item/items added
Flag:
'multiline' - each line of text string added as separate item
'not-track-file' - not track the text file changing (for update tickers)
Usage:
TickerAddContent( cbsTickerID, "Some Text...", "remove-first, multiline" );
TickerAddContent( cbsTickerID, "C:\Folder\news.txt", "remove-all, not-track-file" );
adds content to the ticker.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub TickerAddContent( _
   ByVal _bsTickerItemID As System.String, _
   ByVal _bsTickerTextOrFile As System.String, _
   ByVal _bsAddType As System.String _
)

void TickerAddContent(
   System.string _bsTickerItemID,
   System.string _bsTickerTextOrFile,
   System.string _bsAddType
)

void TickerAddContent(
   System.String^ _bsTickerItemID,
   System.String^ _bsTickerTextOrFile,
   System.String^ _bsAddType
)

Parameters
_bsTickerItemID

ticker item ID
_bsTickerTextOrFile

text ot file path to add to ticker
_bsAddType

The adding type
Supported:
'add-to-end' (default) - the new ticker item added to the end of items list
'remove-first' - the first items from ticker removed, new one - added to the end
'remove-all' - all items removed (except displaying now) - new item/items added
Flag:
'multiline' - each line of text string added as separate item
'not-track-file' - not track the text file changing (for update tickers)
Usage:
TickerAddContent( cbsTickerID, "Some Text...", "remove-first, multiline" );
TickerAddContent( cbsTickerID, "C:\Folder\news.txt", "remove-all, not-track-file" );

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


TickerAddNew Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : TickerAddNew Method
description of ticker
X axis position
Y axis position
width
height
indicates whether position is relative
1 to show an item, 0 to hide the one
item ID
adds new ticker item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub TickerAddNew( _
   ByVal _bsItemTypeOrXMLDesc As System.String, _
   ByVal _dblPosX As System.Double, _
   ByVal _dblPosY As System.Double, _
   ByVal _dblSizeX As System.Double, _
   ByVal _dblSizeY As System.Double, _
   ByVal _bRelativePos As System.Integer, _
   ByVal _bShow As System.Integer, _
   ByRef _pbsTickerID As System.String _
)

void TickerAddNew(
   System.string _bsItemTypeOrXMLDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativePos,
   System.int _bShow,
   out System.string _pbsTickerID
)

void TickerAddNew(
   System.String^ _bsItemTypeOrXMLDesc,
   System.double _dblPosX,
   System.double _dblPosY,
   System.double _dblSizeX,
   System.double _dblSizeY,
   System.int _bRelativePos,
   System.int _bShow,
   [Out] System.String^ _pbsTickerID
)

Parameters
_bsItemTypeOrXMLDesc

description of ticker
_dblPosX

X axis position
_dblPosY

Y axis position
_dblSizeX

width
_dblSizeY

height
_bRelativePos

indicates whether position is relative
_bShow

1 to show an item, 0 to hide the one
_pbsTickerID

item ID

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


UseExtraBuffer Method (IMLCharGen)

MLCHARGENLib Namespace > IMLCharGen Interface : UseExtraBuffer Method
1 to use buffer, 0 to stop its usage
start or stop using extra buffer
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub UseExtraBuffer( _
   ByVal _nUse As System.Integer _
)

void UseExtraBuffer(
   System.int _nUse
)

void UseExtraBuffer(
   System.int _nUse
)

Parameters
_nUse

1 to use buffer, 0 to stop its usage

See Also
Reference
IMLCharGen Interface

IMLCharGen Members


%%PageItemTitle%%

IMLCharGenCallback Interface
Members

MLCHARGENLib Namespace : IMLCharGenCallback Interface
Operates events in CG (for C++, Delphi languages)
See Also

Reference

IMLCharGenCallback Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLCharGenCallback Interface Members
Methods

MLCHARGENLib Namespace : IMLCharGenCallback Interface

The following tables list the members exposed by IMLCharGenCallback.

Public Methods
 | Name | Description
Method | OnCGEvent | This method is called when some CG event occurs.
Method | OnEndOfClip | This method is called when clip is over.
Method | OnFlashCallback | This method is called when some flash callback event occurs.
Method | OnFrame | This method is called on every frame.
Method | OnTransitionDone | This method is called when transition between items is done.
Top
See Also

Reference

IMLCharGenCallback Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLCharGenCallback Interface Methods

MLCHARGENLib Namespace : IMLCharGenCallback Interface

For a list of all members of this type, see IMLCharGenCallback members.

Public Methods
 | Name | Description
Method | OnCGEvent | This method is called when some CG event occurs.
Method | OnEndOfClip | This method is called when clip is over.
Method | OnFlashCallback | This method is called when some flash callback event occurs.
Method | OnFrame | This method is called on every frame.
Method | OnTransitionDone | This method is called when transition between items is done.
Top
See Also

Reference

IMLCharGenCallback Interface
MLCHARGENLib Namespace


OnCGEvent Method (IMLCharGenCallback)

MLCHARGENLib Namespace > IMLCharGenCallback Interface : OnCGEvent Method
callback cookie
item or composition ID
type of event
parameters of event
This method is called when some CG event occurs.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnCGEvent( _
   ByVal llCallbackCookie As System.Long, _
   ByVal bsItemOrCompositionID As System.String, _
   ByVal bsEventType As System.String, _
   ByVal bsEventParam As System.String _
)

void OnCGEvent(
   System.long llCallbackCookie,
   System.string bsItemOrCompositionID,
   System.string bsEventType,
   System.string bsEventParam
)

void OnCGEvent(
   System.int64 llCallbackCookie,
   System.String^ bsItemOrCompositionID,
   System.String^ bsEventType,
   System.String^ bsEventParam
)

Parameters
llCallbackCookie

callback cookie
bsItemOrCompositionID

item or composition ID
bsEventType

type of event
bsEventParam

parameters  of event

See Also
Reference
IMLCharGenCallback Interface

IMLCharGenCallback Members


OnEndOfClip Method (IMLCharGenCallback)

MLCHARGENLib Namespace > IMLCharGenCallback Interface : OnEndOfClip Method
callback cookie
ID of item
This method is called when clip is over.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnEndOfClip( _
   ByVal llCallbackCookie As System.Long, _
   ByVal bsItemID As System.String _
)

void OnEndOfClip(
   System.long llCallbackCookie,
   System.string bsItemID
)

void OnEndOfClip(
   System.int64 llCallbackCookie,
   System.String^ bsItemID
)

Parameters
llCallbackCookie

callback cookie
bsItemID

ID of item

See Also
Reference
IMLCharGenCallback Interface

IMLCharGenCallback Members


OnFlashCallback Method (IMLCharGenCallback)

MLCHARGENLib Namespace > IMLCharGenCallback Interface : OnFlashCallback Method
callback cookie
ID of item
flash method name
parameters of flash method
This method is called when some flash callback event occurs.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFlashCallback( _
   ByVal llCallbackCookie As System.Long, _
   ByVal bsItemID As System.String, _
   ByVal bsMethodName As System.String, _
   ByVal bsParameters As System.String _
)

void OnFlashCallback(
   System.long llCallbackCookie,
   System.string bsItemID,
   System.string bsMethodName,
   System.string bsParameters
)

void OnFlashCallback(
   System.int64 llCallbackCookie,
   System.String^ bsItemID,
   System.String^ bsMethodName,
   System.String^ bsParameters
)

Parameters
llCallbackCookie

callback cookie
bsItemID

ID of item
bsMethodName

flash method name
bsParameters

parameters of flash method

See Also
Reference
IMLCharGenCallback Interface

IMLCharGenCallback Members


OnFrame Method (IMLCharGenCallback)

MLCHARGENLib Namespace > IMLCharGenCallback Interface : OnFrame Method
callback cookie
frame time
time in media stream
number of the frame
This method is called on every frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFrame( _
   ByVal llCallbackCookie As System.Long, _
   ByVal dblTime As System.Double, _
   ByVal nMediaTime As System.Integer, _
   ByVal nFrameNum As System.Integer _
)

void OnFrame(
   System.long llCallbackCookie,
   System.double dblTime,
   System.int nMediaTime,
   System.int nFrameNum
)

void OnFrame(
   System.int64 llCallbackCookie,
   System.double dblTime,
   System.int nMediaTime,
   System.int nFrameNum
)

Parameters
llCallbackCookie

callback cookie
dblTime

frame time
nMediaTime

time in media stream
nFrameNum

number of the frame

See Also
Reference
IMLCharGenCallback Interface

IMLCharGenCallback Members


OnTransitionDone Method (IMLCharGenCallback)

MLCHARGENLib Namespace > IMLCharGenCallback Interface : OnTransitionDone Method
callback cookie
ID of the item
indicates whether item is showed
This method is called when transition between items is done.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnTransitionDone( _
   ByVal llCallbackCookie As System.Long, _
   ByVal bsItemID As System.String, _
   ByVal bShow As System.Boolean _
)

void OnTransitionDone(
   System.long llCallbackCookie,
   System.string bsItemID,
   System.bool bShow
)

void OnTransitionDone(
   System.int64 llCallbackCookie,
   System.String^ bsItemID,
   System.bool bShow
)

Parameters
llCallbackCookie

callback cookie
bsItemID

ID of the item
bShow

indicates whether item is showed

See Also
Reference
IMLCharGenCallback Interface

IMLCharGenCallback Members


%%PageItemTitle%%

IMLCharGenEdit Interface
Members

MLCHARGENLib Namespace : IMLCharGenEdit Interface
Additional interface for CG Editor.
See Also

Reference

IMLCharGenEdit Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLCharGenEdit Interface Members
Methods

MLCHARGENLib Namespace : IMLCharGenEdit Interface

The following tables list the members exposed by IMLCharGenEdit.

Public Methods
 | Name | Description
Method | EditItemAbsoluteRectGet | Returns absolute rectangle of edited item
Method | EditItemAbsoluteRectSet | Sets absolute rectangle for edited item
Method | EditItemGetByPoint | Returns item ID by point. It is used for example in mouse click event in CG editor.
Method | EditItemsGetByRect | Gets a set of items' IDs in a selected rectangle.
Method | EditSelectionAdd | Adds item into a selection.
Method | EditSelectionGetByIndex | Gets a selected item from the selection by item index
Method | EditSelectionGetCount | Gets count of the selected items
Method | EditSelectionRemove | Removes a selection from the item.
Top
See Also

Reference

IMLCharGenEdit Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLCharGenEdit Interface Methods

MLCHARGENLib Namespace : IMLCharGenEdit Interface

For a list of all members of this type, see IMLCharGenEdit members.

Public Methods
 | Name | Description
Method | EditItemAbsoluteRectGet | Returns absolute rectangle of edited item
Method | EditItemAbsoluteRectSet | Sets absolute rectangle for edited item
Method | EditItemGetByPoint | Returns item ID by point. It is used for example in mouse click event in CG editor.
Method | EditItemsGetByRect | Gets a set of items' IDs in a selected rectangle.
Method | EditSelectionAdd | Adds item into a selection.
Method | EditSelectionGetByIndex | Gets a selected item from the selection by item index
Method | EditSelectionGetCount | Gets count of the selected items
Method | EditSelectionRemove | Removes a selection from the item.
Top
See Also

Reference

IMLCharGenEdit Interface
MLCHARGENLib Namespace


EditItemAbsoluteRectGet Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditItemAbsoluteRectGet Method
ID of the edited item
rectangle for the edited item
Returns absolute rectangle of edited item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditItemAbsoluteRectGet( _
   ByVal _bsItemID As System.String, _
   ByRef _prcItemRect As tagRECT _
)

void EditItemAbsoluteRectGet(
   System.string _bsItemID,
   out tagRECT _prcItemRect
)

void EditItemAbsoluteRectGet(
   System.String^ _bsItemID,
   [Out] tagRECT _prcItemRect
)

Parameters
_bsItemID

ID of the edited item
_prcItemRect

rectangle for the edited item

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditItemAbsoluteRectSet Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditItemAbsoluteRectSet Method
ID of the edited item
item rectangle to be set
Sets absolute rectangle for edited item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditItemAbsoluteRectSet( _
   ByVal _bsItemID As System.String, _
   ByRef _prcItemRect As tagRECT _
)

void EditItemAbsoluteRectSet(
   System.string _bsItemID,
   ref tagRECT _prcItemRect
)

void EditItemAbsoluteRectSet(
   System.String^ _bsItemID,
   tagRECT% _prcItemRect
)

Parameters
_bsItemID

ID of the edited item
_prcItemRect

item rectangle to be set

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditItemGetByPoint Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditItemGetByPoint Method
ID of the edited group
horizontal position of the point
vertical position of the point
ID of the selected item
Returns item ID by point. It is used for example in mouse click event in CG editor.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditItemGetByPoint( _
   ByVal _bsGroupID As System.String, _
   ByVal _nPosX As System.Integer, _
   ByVal _nPosY As System.Integer, _
   ByRef _pbsItemID As System.String _
)

void EditItemGetByPoint(
   System.string _bsGroupID,
   System.int _nPosX,
   System.int _nPosY,
   out System.string _pbsItemID
)

void EditItemGetByPoint(
   System.String^ _bsGroupID,
   System.int _nPosX,
   System.int _nPosY,
   [Out] System.String^ _pbsItemID
)

Parameters
_bsGroupID

ID of the edited group
_nPosX

horizontal position of the point
_nPosY

vertical position of the point
_pbsItemID

ID of the selected item

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditItemsGetByRect Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditItemsGetByRect Method
edited group ID
left position of the selected rectangle
top position of the selected rectangle
right position of the selected rectangle
bottom position of the selected rectangle
list of items' IDs
Gets a set of items' IDs in a selected rectangle.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditItemsGetByRect( _
   ByVal _bsGroupID As System.String, _
   ByVal _nLeft As System.Integer, _
   ByVal _nTop As System.Integer, _
   ByVal _nRight As System.Integer, _
   ByVal _nBottom As System.Integer, _
   ByRef _pbsItemsIDs As System.String _
)

void EditItemsGetByRect(
   System.string _bsGroupID,
   System.int _nLeft,
   System.int _nTop,
   System.int _nRight,
   System.int _nBottom,
   out System.string _pbsItemsIDs
)

void EditItemsGetByRect(
   System.String^ _bsGroupID,
   System.int _nLeft,
   System.int _nTop,
   System.int _nRight,
   System.int _nBottom,
   [Out] System.String^ _pbsItemsIDs
)

Parameters
_bsGroupID

edited group ID
_nLeft

left position of the selected rectangle
_nTop

top position of the selected rectangle
_nRight

right position of the selected rectangle
_nBottom

bottom position of the selected rectangle
_pbsItemsIDs

list of items' IDs

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditSelectionAdd Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditSelectionAdd Method
item ID
selection color
indicates whether a previous selection will be cleared
Adds item into a selection.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditSelectionAdd( _
   ByVal _bsItemID As System.String, _
   ByVal _bsColor As System.String, _
   ByVal _bClearSel As System.Integer _
)

void EditSelectionAdd(
   System.string _bsItemID,
   System.string _bsColor,
   System.int _bClearSel
)

void EditSelectionAdd(
   System.String^ _bsItemID,
   System.String^ _bsColor,
   System.int _bClearSel
)

Parameters
_bsItemID

item ID
_bsColor

selection color
_bClearSel

indicates whether a previous selection will be cleared

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditSelectionGetByIndex Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditSelectionGetByIndex Method
item index
item ID
selection color for the item
Gets a selected item from the selection by item index
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditSelectionGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemID As System.String, _
   ByRef _pbsColor As System.String _
)

void EditSelectionGetByIndex(
   System.int _nIndex,
   out System.string _pbsItemID,
   out System.string _pbsColor
)

void EditSelectionGetByIndex(
   System.int _nIndex,
   [Out] System.String^ _pbsItemID,
   [Out] System.String^ _pbsColor
)

Parameters
_nIndex

item index
_pbsItemID

item ID
_pbsColor

selection color for the item

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditSelectionGetCount Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditSelectionGetCount Method
number of a selected items
Gets count of the selected items
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditSelectionGetCount( _
   ByRef _pnSelCount As System.Integer _
)

void EditSelectionGetCount(
   out System.int _pnSelCount
)

void EditSelectionGetCount(
   [Out] System.int _pnSelCount
)

Parameters
_pnSelCount

number of a selected items

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


EditSelectionRemove Method (IMLCharGenEdit)

MLCHARGENLib Namespace > IMLCharGenEdit Interface : EditSelectionRemove Method
item ID
Removes a selection from the item.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub EditSelectionRemove( _
   ByVal _bsItemID As System.String _
)

void EditSelectionRemove(
   System.string _bsItemID
)

void EditSelectionRemove(
   System.String^ _bsItemID
)

Parameters
_bsItemID

item ID

See Also
Reference
IMLCharGenEdit Interface

IMLCharGenEdit Members


%%PageItemTitle%%

IMLCharGenEvents Interface
Members

MLCHARGENLib Namespace : IMLCharGenEvents Interface
Operates events in CG (for C#, Visual Basic languages)
See Also

Reference

IMLCharGenEvents Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLCharGenEvents Interface Members
Methods

MLCHARGENLib Namespace : IMLCharGenEvents Interface

The following tables list the members exposed by IMLCharGenEvents.

Public Methods
 | Name | Description
Method | OnCGEvent | This method is called when some CG event occurs.
Method | OnEndOfClip | This method is called when clip is over.
Method | OnFlashCallback | This method is called when some flash callback event occurs.
Method | OnFrame | This method is called on every frame.
Method | OnTransitionDone | This method is called when transition between items is done.
Top
See Also

Reference

IMLCharGenEvents Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLCharGenEvents Interface Methods

MLCHARGENLib Namespace : IMLCharGenEvents Interface

For a list of all members of this type, see IMLCharGenEvents members.

Public Methods
 | Name | Description
Method | OnCGEvent | This method is called when some CG event occurs.
Method | OnEndOfClip | This method is called when clip is over.
Method | OnFlashCallback | This method is called when some flash callback event occurs.
Method | OnFrame | This method is called on every frame.
Method | OnTransitionDone | This method is called when transition between items is done.
Top
See Also

Reference

IMLCharGenEvents Interface
MLCHARGENLib Namespace


OnCGEvent Method (IMLCharGenEvents)

MLCHARGENLib Namespace > IMLCharGenEvents Interface : OnCGEvent Method
item or composition ID
type of event
parameters of event
This method is called when some CG event occurs.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnCGEvent( _
   ByVal bsItemOrCompositionID As System.String, _
   ByVal bsEventType As System.String, _
   ByVal bsEventParam As System.String _
)

void OnCGEvent(
   System.string bsItemOrCompositionID,
   System.string bsEventType,
   System.string bsEventParam
)

void OnCGEvent(
   System.String^ bsItemOrCompositionID,
   System.String^ bsEventType,
   System.String^ bsEventParam
)

Parameters
bsItemOrCompositionID

item or composition ID
bsEventType

type of event
bsEventParam

parameters  of event

See Also
Reference
IMLCharGenEvents Interface

IMLCharGenEvents Members


OnEndOfClip Method (IMLCharGenEvents)

MLCHARGENLib Namespace > IMLCharGenEvents Interface : OnEndOfClip Method
ID of item
This method is called when clip is over.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnEndOfClip( _
   ByVal bsItemID As System.String _
)

void OnEndOfClip(
   System.string bsItemID
)

void OnEndOfClip(
   System.String^ bsItemID
)

Parameters
bsItemID

ID of item

See Also
Reference
IMLCharGenEvents Interface

IMLCharGenEvents Members


OnFlashCallback Method (IMLCharGenEvents)

MLCHARGENLib Namespace > IMLCharGenEvents Interface : OnFlashCallback Method
ID of item
flash method name
parameters of flash method
This method is called when some flash callback event occurs.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFlashCallback( _
   ByVal bsItemID As System.String, _
   ByVal bsMethodName As System.String, _
   ByVal bsParameters As System.String _
)

void OnFlashCallback(
   System.string bsItemID,
   System.string bsMethodName,
   System.string bsParameters
)

void OnFlashCallback(
   System.String^ bsItemID,
   System.String^ bsMethodName,
   System.String^ bsParameters
)

Parameters
bsItemID

ID of item
bsMethodName

flash method name
bsParameters

parameters of flash method

See Also
Reference
IMLCharGenEvents Interface

IMLCharGenEvents Members


OnFrame Method (IMLCharGenEvents)

MLCHARGENLib Namespace > IMLCharGenEvents Interface : OnFrame Method
frame time
time in media stream
number of the frame
This method is called on every frame.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnFrame( _
   ByVal dblTime As System.Double, _
   ByVal nMediaTime As System.Integer, _
   ByVal nFrameNum As System.Integer _
)

void OnFrame(
   System.double dblTime,
   System.int nMediaTime,
   System.int nFrameNum
)

void OnFrame(
   System.double dblTime,
   System.int nMediaTime,
   System.int nFrameNum
)

Parameters
dblTime

frame time
nMediaTime

time in media stream
nFrameNum

number of the frame

See Also
Reference
IMLCharGenEvents Interface

IMLCharGenEvents Members


OnTransitionDone Method (IMLCharGenEvents)

MLCHARGENLib Namespace > IMLCharGenEvents Interface : OnTransitionDone Method
ID of the item
indicates whether item is showed
This method is called when transition between items is done.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnTransitionDone( _
   ByVal bsItemID As System.String, _
   ByVal bShow As System.Boolean _
)

void OnTransitionDone(
   System.string bsItemID,
   System.bool bShow
)

void OnTransitionDone(
   System.String^ bsItemID,
   System.bool bShow
)

Parameters
bsItemID

ID of the item
bShow

indicates whether item is showed

See Also
Reference
IMLCharGenEvents Interface

IMLCharGenEvents Members


%%PageItemTitle%%

IMLCharGenSchedule Interface
Members

MLCHARGENLib Namespace : IMLCharGenSchedule Interface
Operates with scheduling of CG item
See Also

Reference

IMLCharGenSchedule Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLCharGenSchedule Interface Members
Methods

MLCHARGENLib Namespace : IMLCharGenSchedule Interface

The following tables list the members exposed by IMLCharGenSchedule.

Public Methods
 | Name | Description
Method | ScheduleAdd | adds scheduling to the item or composition.
Method | ScheduleBasic | makes item as basic scheduling item
Method | ScheduleBasicCancel | cancel "basic" state for the item.
Method | ScheduleGet | gets scheduling configuration by its ID
Method | ScheduleGetCount | gets count of scheduling items
Method | ScheduleLoadFromXML | loads scheduling from file or string
Method | ScheduleRemove | removes an item from scheduling timeline
Method | ScheduleSaveToFile | saves scheduling to a file
Method | ScheduleSaveToString | saves scheduling to a string
Method | ScheduleTimelineContinue | seeks a timeline to the position
Method | ScheduleTimelineGetCount | gets count of timelines
Method | ScheduleTimelineGetID | gets timeline ID by its index.
Method | ScheduleTimelineGetTimes | gets time positions of scheduling
Method | ScheduleTimelinePause | pauses timeline
Method | ScheduleTimelineStart | starts timeline
Method | ScheduleTimelineStop | stops timeline
Top
See Also

Reference

IMLCharGenSchedule Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLCharGenSchedule Interface Methods

MLCHARGENLib Namespace : IMLCharGenSchedule Interface

For a list of all members of this type, see IMLCharGenSchedule members.

Public Methods
 | Name | Description
Method | ScheduleAdd | adds scheduling to the item or composition.
Method | ScheduleBasic | makes item as basic scheduling item
Method | ScheduleBasicCancel | cancel "basic" state for the item.
Method | ScheduleGet | gets scheduling configuration by its ID
Method | ScheduleGetCount | gets count of scheduling items
Method | ScheduleLoadFromXML | loads scheduling from file or string
Method | ScheduleRemove | removes an item from scheduling timeline
Method | ScheduleSaveToFile | saves scheduling to a file
Method | ScheduleSaveToString | saves scheduling to a string
Method | ScheduleTimelineContinue | seeks a timeline to the position
Method | ScheduleTimelineGetCount | gets count of timelines
Method | ScheduleTimelineGetID | gets timeline ID by its index.
Method | ScheduleTimelineGetTimes | gets time positions of scheduling
Method | ScheduleTimelinePause | pauses timeline
Method | ScheduleTimelineStart | starts timeline
Method | ScheduleTimelineStop | stops timeline
Top
See Also

Reference

IMLCharGenSchedule Interface
MLCHARGENLib Namespace


ScheduleAdd Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleAdd Method
ID of timeline (scheduling identificator)
ID of item or composition
string with parameters or XML description
item schedule time structure
adds scheduling to the item or composition.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleAdd( _
   ByVal _bsTimelineID As System.String, _
   ByVal _bsItemOrCompositionID As System.String, _
   ByVal _bsParamStringOrXMLFullDesc As System.String, _
   ByRef _pTimes As CG_SCHEDULE_TIMES _
)

void ScheduleAdd(
   System.string _bsTimelineID,
   System.string _bsItemOrCompositionID,
   System.string _bsParamStringOrXMLFullDesc,
   ref CG_SCHEDULE_TIMES _pTimes
)

void ScheduleAdd(
   System.String^ _bsTimelineID,
   System.String^ _bsItemOrCompositionID,
   System.String^ _bsParamStringOrXMLFullDesc,
   CG_SCHEDULE_TIMES% _pTimes
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_bsItemOrCompositionID

ID of item or composition
_bsParamStringOrXMLFullDesc

string with parameters or XML description
_pTimes

item schedule time structure

Example

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleBasic Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleBasic Method
ID of timeline (scheduling identificator)
item index
string with parameters
time structure
makes item as basic scheduling item
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleBasic( _
   ByVal _bsItemOrCompositionID As System.String, _
   ByVal _bItem As System.Integer, _
   ByVal _bsParamString As System.String, _
   ByRef _pTimes As CG_SCHEDULE_TIMES _
)

void ScheduleBasic(
   System.string _bsItemOrCompositionID,
   System.int _bItem,
   System.string _bsParamString,
   ref CG_SCHEDULE_TIMES _pTimes
)

void ScheduleBasic(
   System.String^ _bsItemOrCompositionID,
   System.int _bItem,
   System.String^ _bsParamString,
   CG_SCHEDULE_TIMES% _pTimes
)

Parameters
_bsItemOrCompositionID

ID of timeline (scheduling identificator)
_bItem

item index
_bsParamString

string with parameters
_pTimes

time structure

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleBasicCancel Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleBasicCancel Method
ID of timeline (scheduling identificator)
item index
whether show or hide item
cancel "basic" state for the item.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleBasicCancel( _
   ByVal _bsItemOrCompositionID As System.String, _
   ByVal _bItem As System.Integer, _
   ByVal _nShowHide As System.Integer _
)

void ScheduleBasicCancel(
   System.string _bsItemOrCompositionID,
   System.int _bItem,
   System.int _nShowHide
)

void ScheduleBasicCancel(
   System.String^ _bsItemOrCompositionID,
   System.int _bItem,
   System.int _nShowHide
)

Parameters
_bsItemOrCompositionID

ID of timeline (scheduling identificator)
_bItem

item index
_nShowHide

whether show or hide item

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleGet Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleGet Method
ID of timeline (scheduling identificator)
scheduling index
ID of item or composition
string with parameters or XML description
item schedule time structure
gets scheduling configuration by its ID
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleGet( _
   ByVal _bsTimelineID As System.String, _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsItemOrCompositionID As System.String, _
   ByRef _pbsParamStringOrXMLFullDesc As System.String, _
   ByRef _pTimes As CG_SCHEDULE_TIMES _
)

void ScheduleGet(
   System.string _bsTimelineID,
   System.int _nIndex,
   out System.string _pbsItemOrCompositionID,
   out System.string _pbsParamStringOrXMLFullDesc,
   out CG_SCHEDULE_TIMES _pTimes
)

void ScheduleGet(
   System.String^ _bsTimelineID,
   System.int _nIndex,
   [Out] System.String^ _pbsItemOrCompositionID,
   [Out] System.String^ _pbsParamStringOrXMLFullDesc,
   [Out] CG_SCHEDULE_TIMES _pTimes
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_nIndex

scheduling index
_pbsItemOrCompositionID

ID of item or composition
_pbsParamStringOrXMLFullDesc

string with parameters or XML description
_pTimes

item schedule time structure

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleGetCount Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleGetCount Method
ID of timeline (scheduling identificator)
number of items
gets count of scheduling items
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleGetCount( _
   ByVal _bsTimelineID As System.String, _
   ByRef _pnCount As System.Integer _
)

void ScheduleGetCount(
   System.string _bsTimelineID,
   out System.int _pnCount
)

void ScheduleGetCount(
   System.String^ _bsTimelineID,
   [Out] System.int _pnCount
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_pnCount

number of items

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleLoadFromXML Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleLoadFromXML Method
file name or string with configuration
indicates whether all previous timelines will be removed ("-1" to leave timeliness, "1" to remove all of them)
loads scheduling from file or string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleLoadFromXML( _
   ByVal _bsPathNameOrXMLDesc As System.String, _
   ByVal _bRemoveAllTimelines As System.Integer _
)

void ScheduleLoadFromXML(
   System.string _bsPathNameOrXMLDesc,
   System.int _bRemoveAllTimelines
)

void ScheduleLoadFromXML(
   System.String^ _bsPathNameOrXMLDesc,
   System.int _bRemoveAllTimelines
)

Parameters
_bsPathNameOrXMLDesc

file name or string with configuration
_bRemoveAllTimelines

indicates whether all previous timelines will be removed ("-1" to leave timeliness, "1" to remove all of them)

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleRemove Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleRemove Method
ID of timeline (scheduling identificator)
index of item
removes an item from scheduling timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleRemove( _
   ByVal _bsTimelineID As System.String, _
   ByVal _nIndex As System.Integer _
)

void ScheduleRemove(
   System.string _bsTimelineID,
   System.int _nIndex
)

void ScheduleRemove(
   System.String^ _bsTimelineID,
   System.int _nIndex
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_nIndex

index of item

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleSaveToFile Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleSaveToFile Method
ID of timeline (scheduling identificator)
file name
idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
saves scheduling to a file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleSaveToFile( _
   ByVal _bsTimelineID As System.String, _
   ByVal _bsFileName As System.String, _
   ByVal _bUnicode As System.Integer _
)

void ScheduleSaveToFile(
   System.string _bsTimelineID,
   System.string _bsFileName,
   System.int _bUnicode
)

void ScheduleSaveToFile(
   System.String^ _bsTimelineID,
   System.String^ _bsFileName,
   System.int _bUnicode
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_bsFileName

file name
_bUnicode

idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleSaveToString Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleSaveToString Method
ID of timeline (scheduling identificator)
output configuration
saves scheduling to a string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleSaveToString( _
   ByVal _bsTimelineID As System.String, _
   ByRef _pbsTimeLineXMLDesc As System.String _
)

void ScheduleSaveToString(
   System.string _bsTimelineID,
   out System.string _pbsTimeLineXMLDesc
)

void ScheduleSaveToString(
   System.String^ _bsTimelineID,
   [Out] System.String^ _pbsTimeLineXMLDesc
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_pbsTimeLineXMLDesc

output configuration

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelineContinue Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelineContinue Method
ID of timeline (scheduling identificator)
position in the timeline
seeks a timeline to the position
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelineContinue( _
   ByVal _bsTimelineID As System.String, _
   ByVal _dblSeekTime As System.Double _
)

void ScheduleTimelineContinue(
   System.string _bsTimelineID,
   System.double _dblSeekTime
)

void ScheduleTimelineContinue(
   System.String^ _bsTimelineID,
   System.double _dblSeekTime
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_dblSeekTime

position in the timeline

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelineGetCount Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelineGetCount Method
number of timelines
gets count of timelines
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelineGetCount( _
   ByRef _pnTimelines As System.Integer _
)

void ScheduleTimelineGetCount(
   out System.int _pnTimelines
)

void ScheduleTimelineGetCount(
   [Out] System.int _pnTimelines
)

Parameters
_pnTimelines

number of timelines

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelineGetID Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelineGetID Method
timeline index
timeline ID
gets timeline ID by its index.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelineGetID( _
   ByVal _nIndex As System.Integer, _
   ByRef _pbsTimelineID As System.String _
)

void ScheduleTimelineGetID(
   System.int _nIndex,
   out System.string _pbsTimelineID
)

void ScheduleTimelineGetID(
   System.int _nIndex,
   [Out] System.String^ _pbsTimelineID
)

Parameters
_nIndex

timeline index
_pbsTimelineID

timeline ID

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelineGetTimes Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelineGetTimes Method
ID of timeline (scheduling identificator)
current time
time for a single cicle
state of the timeline
gets time positions of scheduling
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelineGetTimes( _
   ByVal _bsTimelineID As System.String, _
   ByRef _pdblTime As System.Double, _
   ByRef _pdblCicleTime As System.Double, _
   ByRef _ptState As eCG_TimelineState _
)

void ScheduleTimelineGetTimes(
   System.string _bsTimelineID,
   out System.double _pdblTime,
   out System.double _pdblCicleTime,
   out eCG_TimelineState _ptState
)

void ScheduleTimelineGetTimes(
   System.String^ _bsTimelineID,
   [Out] System.double _pdblTime,
   [Out] System.double _pdblCicleTime,
   [Out] eCG_TimelineState _ptState
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_pdblTime

current time
_pdblCicleTime

time for a single cicle
_ptState

state of the timeline

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelinePause Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelinePause Method
ID of timeline (scheduling identificator)
pauses timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelinePause( _
   ByVal _bsTimelineID As System.String _
)

void ScheduleTimelinePause(
   System.string _bsTimelineID
)

void ScheduleTimelinePause(
   System.String^ _bsTimelineID
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelineStart Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelineStart Method
ID of timeline (scheduling identificator)
start time
time for a single cicle
indicates whether all other timelines will be stopped
starts timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelineStart( _
   ByVal _bsTimelineID As System.String, _
   ByVal _dblStartTime As System.Double, _
   ByVal _dblCycleTime As System.Double, _
   ByVal _bStopAllOthers As System.Integer _
)

void ScheduleTimelineStart(
   System.string _bsTimelineID,
   System.double _dblStartTime,
   System.double _dblCycleTime,
   System.int _bStopAllOthers
)

void ScheduleTimelineStart(
   System.String^ _bsTimelineID,
   System.double _dblStartTime,
   System.double _dblCycleTime,
   System.int _bStopAllOthers
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)
_dblStartTime

start time
_dblCycleTime

time for a single cicle
_bStopAllOthers

indicates whether all other timelines will be stopped

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


ScheduleTimelineStop Method (IMLCharGenSchedule)

MLCHARGENLib Namespace > IMLCharGenSchedule Interface : ScheduleTimelineStop Method
ID of timeline (scheduling identificator)
stops timeline
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub ScheduleTimelineStop( _
   ByVal _bsTimelineID As System.String _
)

void ScheduleTimelineStop(
   System.string _bsTimelineID
)

void ScheduleTimelineStop(
   System.String^ _bsTimelineID
)

Parameters
_bsTimelineID

ID of timeline (scheduling identificator)

See Also
Reference
IMLCharGenSchedule Interface

IMLCharGenSchedule Members


%%PageItemTitle%%

IMLProperties Interface
Members

MLCHARGENLib Namespace : IMLProperties Interface
Operates properties
See Also

Reference

IMLProperties Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLProperties Interface Members
Methods

MLCHARGENLib Namespace : IMLProperties Interface

The following tables list the members exposed by IMLProperties.

Public Methods
 | Name | Description
Method | GetMLProps | gets a property value
Method | SetMLProps | sets a property value
Top
See Also

Reference

IMLProperties Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLProperties Interface Methods

MLCHARGENLib Namespace : IMLProperties Interface

For a list of all members of this type, see IMLProperties members.

Public Methods
 | Name | Description
Method | GetMLProps | gets a property value
Method | SetMLProps | sets a property value
Top
See Also

Reference

IMLProperties Interface
MLCHARGENLib Namespace


GetMLProps Method (IMLProperties)

MLCHARGENLib Namespace > IMLProperties Interface : GetMLProps Method
name of the property
value of the property
gets a property value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub GetMLProps( _
   ByVal _bsPropName As System.String, _
   ByRef _pbsPropValue As System.String _
)

void GetMLProps(
   System.string _bsPropName,
   out System.string _pbsPropValue
)

void GetMLProps(
   System.String^ _bsPropName,
   [Out] System.String^ _pbsPropValue
)

Parameters
_bsPropName

name of the property
_pbsPropValue

value of the property

See Also
Reference
IMLProperties Interface

IMLProperties Members


SetMLProps Method (IMLProperties)

MLCHARGENLib Namespace > IMLProperties Interface : SetMLProps Method
name of the property
value of the property
sets a property value
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SetMLProps( _
   ByVal _bsPropName As System.String, _
   ByVal _bsPropValue As System.String _
)

void SetMLProps(
   System.string _bsPropName,
   System.string _bsPropValue
)

void SetMLProps(
   System.String^ _bsPropName,
   System.String^ _bsPropValue
)

Parameters
_bsPropName

name of the property
_bsPropValue

value of the property

See Also
Reference
IMLProperties Interface

IMLProperties Members


%%PageItemTitle%%

IMLXMLPersist Interface
Members

MLCHARGENLib Namespace : IMLXMLPersist Interface
Operates saving and loading of CG configurations
See Also

Reference

IMLXMLPersist Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMLXMLPersist Interface Members
Methods

MLCHARGENLib Namespace : IMLXMLPersist Interface

The following tables list the members exposed by IMLXMLPersist.

Public Methods
 | Name | Description
Method | LoadFromXML | loads a configuration from string or from file
Method | SaveToXMLFile | saves configuration to a file
Method | SaveToXMLFileParam | saves configuration to a file with additional parameters
Method | SaveToXMLString | saves configuration to a string
Method | SaveToXMLStringParam | saves configuration to a string with additional parameters
Top
See Also

Reference

IMLXMLPersist Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMLXMLPersist Interface Methods

MLCHARGENLib Namespace : IMLXMLPersist Interface

For a list of all members of this type, see IMLXMLPersist members.

Public Methods
 | Name | Description
Method | LoadFromXML | loads a configuration from string or from file
Method | SaveToXMLFile | saves configuration to a file
Method | SaveToXMLFileParam | saves configuration to a file with additional parameters
Method | SaveToXMLString | saves configuration to a string
Method | SaveToXMLStringParam | saves configuration to a string with additional parameters
Top
See Also

Reference

IMLXMLPersist Interface
MLCHARGENLib Namespace


LoadFromXML Method (IMLXMLPersist)

MLCHARGENLib Namespace > IMLXMLPersist Interface : LoadFromXML Method
file name or string with configuration
loads a configuration from string or from file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub LoadFromXML( _
   ByVal _bsXMLDescOrFile As System.String, _
   ByVal _nLength As System.Integer _
)

void LoadFromXML(
   System.string _bsXMLDescOrFile,
   System.int _nLength
)

void LoadFromXML(
   System.String^ _bsXMLDescOrFile,
   System.int _nLength
)

Parameters
_bsXMLDescOrFile

file name or string with configuration
_nLength

See Also
Reference
IMLXMLPersist Interface

IMLXMLPersist Members


SaveToXMLFile Method (IMLXMLPersist)

MLCHARGENLib Namespace > IMLXMLPersist Interface : SaveToXMLFile Method
file name
idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
saves configuration to a file
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SaveToXMLFile( _
   ByVal _bsFileName As System.String, _
   ByVal _bUnicode As System.Integer _
)

void SaveToXMLFile(
   System.string _bsFileName,
   System.int _bUnicode
)

void SaveToXMLFile(
   System.String^ _bsFileName,
   System.int _bUnicode
)

Parameters
_bsFileName

file name
_bUnicode

idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)

See Also
Reference
IMLXMLPersist Interface

IMLXMLPersist Members


SaveToXMLFileParam Method (IMLXMLPersist)

MLCHARGENLib Namespace > IMLXMLPersist Interface : SaveToXMLFileParam Method
file name
idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
additional parameters
saves configuration to a file with additional parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SaveToXMLFileParam( _
   ByVal _bsFileName As System.String, _
   ByVal _bUnicode As System.Integer, _
   ByVal _bsAdditionParam As System.String _
)

void SaveToXMLFileParam(
   System.string _bsFileName,
   System.int _bUnicode,
   System.string _bsAdditionParam
)

void SaveToXMLFileParam(
   System.String^ _bsFileName,
   System.int _bUnicode,
   System.String^ _bsAdditionParam
)

Parameters
_bsFileName

file name
_bUnicode

idicates whether output file is in Unicode or not ("1" is for Unicode, "-1" is for not-Unicode)
_bsAdditionParam

additional parameters

See Also
Reference
IMLXMLPersist Interface

IMLXMLPersist Members


SaveToXMLString Method (IMLXMLPersist)

MLCHARGENLib Namespace > IMLXMLPersist Interface : SaveToXMLString Method
output configuration
indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.
saves configuration to a string
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SaveToXMLString( _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _nTabs As System.Integer _
)

void SaveToXMLString(
   out System.string _pbsXMLDesc,
   System.int _nTabs
)

void SaveToXMLString(
   [Out] System.String^ _pbsXMLDesc,
   System.int _nTabs
)

Parameters
_pbsXMLDesc

output configuration
_nTabs

indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.

See Also
Reference
IMLXMLPersist Interface

IMLXMLPersist Members


SaveToXMLStringParam Method (IMLXMLPersist)

MLCHARGENLib Namespace > IMLXMLPersist Interface : SaveToXMLStringParam Method
output configuration
indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.
additional parameters
saves configuration to a string with additional parameters
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub SaveToXMLStringParam( _
   ByRef _pbsXMLDesc As System.String, _
   ByVal _nTabs As System.Integer, _
   ByVal _bsAdditionParam As System.String _
)

void SaveToXMLStringParam(
   out System.string _pbsXMLDesc,
   System.int _nTabs,
   System.string _bsAdditionParam
)

void SaveToXMLStringParam(
   [Out] System.String^ _pbsXMLDesc,
   System.int _nTabs,
   System.String^ _bsAdditionParam
)

Parameters
_pbsXMLDesc

output configuration
_nTabs

indicates whether string is tabulated or not. Possible values: "-1" to get not-formatted string, "1" to get XML-formatted string.
_bsAdditionParam

additional parameters

See Also
Reference
IMLXMLPersist Interface

IMLXMLPersist Members


%%PageItemTitle%%

IMPlugin Interface
Members

MLCHARGENLib Namespace : IMPlugin Interface
Operates media within plugin (for internal usage)
See Also

Reference

IMPlugin Members
MLCHARGENLib Namespace


%%PageItemTitle%% $$Members$$

IMPlugin Interface Members
Methods

MLCHARGENLib Namespace : IMPlugin Interface

The following tables list the members exposed by IMPlugin.

Public Methods
 | Name | Description
Method | OnMediaEnd | Appears when media is over
Method | OnMediaFlush | Appears on media flush
Method | OnMediaReceive | Appears on media receive
Top
See Also

Reference

IMPlugin Interface
MLCHARGENLib Namespace


%%PageItemTitle%% $$Methods$$

IMPlugin Interface Methods

MLCHARGENLib Namespace : IMPlugin Interface

For a list of all members of this type, see IMPlugin members.

Public Methods
 | Name | Description
Method | OnMediaEnd | Appears when media is over
Method | OnMediaFlush | Appears on media flush
Method | OnMediaReceive | Appears on media receive
Top
See Also

Reference

IMPlugin Interface
MLCHARGENLib Namespace


OnMediaEnd Method (IMPlugin)

MLCHARGENLib Namespace > IMPlugin Interface : OnMediaEnd Method
callback cookie
sender of media
flags
Appears when media is over
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnMediaEnd( _
   ByVal _llCallbackCookie As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

void OnMediaEnd(
   System.long _llCallbackCookie,
   System.object _pSender,
   System.uint _dwFlags
)

void OnMediaEnd(
   System.int64 _llCallbackCookie,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackCookie

callback cookie
_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
IMPlugin Interface

IMPlugin Members


OnMediaFlush Method (IMPlugin)

MLCHARGENLib Namespace > IMPlugin Interface : OnMediaFlush Method
callback cookie
sender of media
flags
Appears on media flush
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnMediaFlush( _
   ByVal _llCallbackCookie As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _dwFlags As System.UInteger _
)

void OnMediaFlush(
   System.long _llCallbackCookie,
   System.object _pSender,
   System.uint _dwFlags
)

void OnMediaFlush(
   System.int64 _llCallbackCookie,
   System.Object^ _pSender,
   System.uint _dwFlags
)

Parameters
_llCallbackCookie

callback cookie
_pSender

sender of media
_dwFlags

flags

Example

See Also
Reference
IMPlugin Interface

IMPlugin Members


OnMediaReceive Method (IMPlugin)

MLCHARGENLib Namespace > IMPlugin Interface : OnMediaReceive Method
callback cookie
sender of media
input frame
output frame
Appears on media receive
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub OnMediaReceive( _
   ByVal _llCallbackCookie As System.Long, _
   ByVal _pSender As System.Object, _
   ByVal _pFrame As IMFrame, _
   ByRef _ppFrameRes As IMFrame _
)

void OnMediaReceive(
   System.long _llCallbackCookie,
   System.object _pSender,
   IMFrame _pFrame,
   out IMFrame _ppFrameRes
)

void OnMediaReceive(
   System.int64 _llCallbackCookie,
   System.Object^ _pSender,
   IMFrame^ _pFrame,
   [Out] IMFrame^ _ppFrameRes
)

Parameters
_llCallbackCookie

callback cookie
_pSender

sender of media
_pFrame

input frame
_ppFrameRes

output frame

Remarks

Example

See Also
Reference
IMPlugin Interface

IMPlugin Members


Basic Usage of Character Generator

To get started with CG you should complete in these 3 steps:

  1. Add an item,
  2. Set the item properties,
  3. Show the item.

Here is example of how to add item with CG library. You need to add an item, get its initial properties and set your required ones to this item:

  • C#
//Add new image item
string myName = "my-first-overlay-item";
m_objCharGen.AddNewItem("image1.jpg", 0, 0, 0, 1, ref myName);
//Get initial Properties
string fileName;
MLCHARGENLib.CG_ITEM_PROPS itemProps;
m_objCharGen.GetItemBaseProps(myName , out fileName, out itemProps);
//Change some properties
itemProps.nAlpha = 200;
itemProps.eScale = MLCHARGENLib.eCG_Scale.eCGS_ShrinkToFit;
MLCHARGENLib.tagPOINT point = new MLCHARGENLib.tagPOINT();
point.x = 50;
point.y = 50;
itemProps.ptPos = point;
//Set new properties
m_objCharGen.SetItemBaseProps(myName , ref itemProps, 1000);
m_objCharGen.ShowItem(myName , 1, 1000);

And here is example with XML description. You can set your properties before you add an item. This way is more difficult but more flexible for advanced users.

  • C#
//Add new image item
string newItemXMLDescription =
@"<cg-item path='C:\image1.jpg'>
<cg-props pos-x='0' pos-y='0' alpha='255' show='yes' move-type='accel-both' type='Image'
bg-color='#00000000' pixel-ar='0.000' play-mode='loop' interlace='auto' scale=hrink-to-fit'
align='center' width='500' height='400'pause='no' edges-smooth='0'> <indent left='0' right='0'
top='0' bottom='0'/>
</cg-props>
<rate original='yes' speed='1.000'/>
<anchor item='top-left' screen='top-left'/>
<auto-blend start='0' ramp='0' on='0' off='0' repeat='no' rewind='no'/>
<movement speed-x='0.000' speed-y='0.000'/>
</cg-item>";
string myName = "my-first-overlay-item";
m_objCharGen.AddNewItem(newItemXMLDescription, 0, 0, 1, 1, ref myName);
//Set new properties
props =
@"<cg-item path='C:\image1.jpg'>
<cg-props pos-x='50' pos-y='50' alpha='200' show='yes' move-type='accel-both' type='Image'
bg-color='#00000000' pixel-ar='0.000' play-mode='loop' interlace='auto' scale=hrink-to-fit'
align='center' width='500' height='400' pause='no' edges-smooth='0'> <indent left='0' right='0'
top='0' bottom='0'/>
</cg-props>
<rate original='yes' speed='1.000'/>
<anchor item='top-left' screen='top-left'/>
<auto-blend start='0' ramp='0' on='0' off='0' repeat='no' rewind='no'/>
<movement speed-x='0.000' speed-y='0.000'/>
</cg-item>";
m_objCharGen.SetItemProperties(myName, null, props, "", 1000);
m_objCharGen.ShowItem(myName , 1, 1000);

It is also possible to set a part of item properties. You can set not all properties in general node (<cg-tem>) with
m_objCharGen.SetItemProperties(myName, null, props, "", 1000);
where null means that you set general node. Or you can use XML-path to the required node and set its value (effects::shadow::enabled):
m_objCharGen.SetItemProperties(myName, null, "effects::shadow::enabled", "", 1000);

You can set your properties with graphical user interface. To call it you just need to call:
m_objCharGen.ShowPropertiesPage(Handle.ToInt32());

In the properties panel you can create your CG configuration and set all required properties.

Make a frame with Character Generator

  • C#
int framesRest;
MFFrame modifiedFrame;
((IMFProcess)m_objCharGen).ProcessFrame(sourceFrame, out modifiedFrame, out framesRest, "");

Show the modified frame on preview:

  • C#
((IMFReceiver)myPreview).ReceiverFramePut(modifiedFrame, -1, "");


CG Items

There are several types of items in Character Generator:

  • Images
  • Flash
  • Text
  • Graphics
  • Empty

This chapter contains information about each of these types and cases of theirs practical use.


Common Properties

Items' order

Each item is located on its own layer, so you can sort them in any desirable sequence. The items are arranged in increase way: second above first, third above second etc. The order can be changed by ChangeItemZOrder method:

  • C#
m_objCharGen.ChangeItemZOrder("my-first-overlay-item", 2);

Note: each item has its own alpha value, so the visibility of lower items can depend on alpha value of the upper items.

All items can be shown right after it has been added. But very often items are added in hidden mode and shown later in required time. Item show flag is often presented in item add method:

  • C#
string strCookieTxt = "my-text-item";
CG_TEXT_PROPS textProps = new CG_TEXT_PROPS();
textProps.bsTextString = "My Sample Text";
//Add item
m_pMLCharGen.AddNewTextItem(ref textProps, 5, 130, 1, 0, ref strCookieTxt); //underlined parameter indicates whether item is shown or not

After the item is added you can slightly show it during a time period:

  • C#
//Slightly show item during 2 seconds
m_pMLCharGen.ShowItem(strCookieTxt, 1, 2000);

To hide item you just need to put "0" to this method.

Effects

Each item can be shown or hided with some effect. You just need to set "on-show" or "on-hide" property with a required value.

  • C#
//Set the blur effect on item show
m_pMLCharGen.SetItemProperties(strCookieTxt, "on-show", "blur-x", "", 0);
//Set the squeeze effect on item hide
m_pMLCharGen.SetItemProperties(strCookieTxt, "on-hide", "squeeze-xy", "", 0);

Here the list of such effects and theirs meanings:

  1. Fade
    • "fade" - show/hide item with fade
  2. Blur
    • "blur-x" - show/hide item with blur on X axis
    • "blur-y" - show/hide item with blur on Y axis
    • "blur-xy" - show/hide item with blur on X and Y axes
  3. Squeeze
    • "squeeze-x" - show/hide item with squeeze on X axis
    • "squeeze-y" - show/hide item with squeeze on Y axis
    • "squeeze-xy" - show/hide item with squeeze on X and Y axes
  4. Movement
    • "left" - show/hide item with movement from the left side
    • "right" - show/hide item with movement from the right side
    • "top" - show/hide item with movement from the top side
    • "bottom" - show/hide item with movement from the bottom side

Also each item may have color. You can set color with string ("Red") or with RGB code ("#0e0e0e"). To set transparency of color you should specify it in brackets right after the color value. Alpha can take values from 0 to 255 (for example, "Red(100)").

You can set color gradient for your item. To do it you should mark your colors:

  • Horizontal gradient "color1-color2-color3..."
    "Red(100)-Green-Blue(100)", "#FFFFFF-#008000(155)".
  • Vertical gradient "color1|color2|color3..."
    "Yellow|Blue"
  • Round gradient "color1*color2*color3..."
    "Black*White"

Note: You can use up to 16 colors to set gradient.


Compositions

Compositions is a powerful tool for easy operating a big mounts of items. They can be used if you have a several items in separate parts of screen and want to show and hide them in one sequence.
Here is example of how to create a simple composition, containing 2 items (SWF and text) show it for 10 seconds.

  • C#
//Add sample SWF item
string strCookieSWF = "my-swf-item";
m_pMLCharGen.AddNewItem(@"c:\temp\Name_Banner.swf", 0.05, 0.05, 1, 1, ref strCookieSWF);

//Add sample text item
string strCookieTxt = "my-text-item";
CG_TEXT_PROPS textProps = new CG_TEXT_PROPS();
textProps.bsTextString = "My Sample Text";
m_pMLCharGen.AddNewTextItem(ref textProps, 5, 130, 0, 1, ref strCookieTxt);

//Add both items to composition "my-sample-composition"
string strCompositionID = "my-sample-composition";
m_pMLCharGen.CompositionsAddItems(strCookieSWF, 0, "", ref strCompositionID);
m_pMLCharGen.CompositionsAddItems(strCookieTxt, 0, "", ref strCompositionID);

//Hide both items
m_pMLCharGen.ShowItem(strCookieSWF, 0, 0);
m_pMLCharGen.ShowItem(strCookieTxt, 0, 0);

//Show your composition. The parameters are:
//2 - the composition will appear during 2 secomds
//10 - the composition will be displayed for 10 seconds
//3 - after it the composition will be hidden during 3 seconds
m_pMLCharGen.CompositionsDisplay(strCompositionID, "", 2, 10, 3);

Like all other Character Generator items the compositions can be saved and loaded via XML, so you don't need to add all items to composition again when you'll need them:

  • C#
//Save composition to XML file
m_pMLCharGen.CompositionsSaveToFile(strCompositionID, @"c:\temp\MyComposition.xml");
//Remove this composition
m_pMLCharGen.CompositionsRemove(strCompositionID);

//Load it from XML file
m_pMLCharGen.CompositionsLoadOne(@"c:\temp\MyComposition.xml", ref strCompositionID);

//Show your composition. The parameters are:
//2 - the composition will appear during 2 seconds
//10 - the composition will be displayed for 10 seconds
//3 - after it the composition will be hidden during 3 seconds
m_pMLCharGen.CompositionsDisplay(strCompositionID, "", 2, 10, 3);

A composition is like a single item. So you can also use show and hide effects for items in composition to display it more spectacular.


Empty

Empty is additional item type. It is used just to limit some other item display bounds.


Flash

Flash items use external *.swf files for overlaying. It can be used for displaying animated logos, trailing messages etc.

Note: You should install Adobe Flash Plugin and ActiveX Control for Internet Explorer (x86) before start to use flash content in Character Generator.

To check that all requirements are fullfiled you should run Internet Explorer and open a web-page that contains flash. For example, http://www.adobe.com

Also you need Character Generator Flash Plugin license.

Here you can download sample SWF and FLA files.

To add flash object you need to pass *.swf file path to the AddNewItem method:

  • C#
m_objCharGen.AddNewItem("Name_Banner.swf", 0, 0, 1, 1, "my-flash-overlay-item");

You can interact with SWF items you add - call it’s Flash functions or change Flash variables by FlashCallFunction and FlashSetVariable methods call.

To demonstrate this functionality please refer to CG property menu.

First of all add your flash overlay item:

  1. Open CG Properties menu.
  2. Press Add file button and choose your .swf file.
  3. Display flash item by double clicking on Show field.

To get flash variable value of the item:

  1. Select the item in a list and type your variable name (for example, strName.text) into the Name field of Flash variables/Functions call area.
  2. Press Lookup button. You will see value of strName.text variable in the Value or Request field.
  • C#
//Get flash variable value
string strValue;
m_pMLCharGen.FlashGetVariable("flash-000", "strName.text", out strValue);

To set flash variable of the item:

  1. Select the item in a list and write strName.text into the Name field of Flash variables/Functions call area.
  2. Write "New Name" into the Value or Request field of Flash variables/Functions call area.
  3. Press Set button. You will see that name in a header of flash object turned into “New Name”.
  • C#
//Set flash variable value
string strValue;
m_pMLCharGen.FlashSetVariable("flash-000", "strName.text", "New Name");

To call a flash function:

  1. Write following request into the Value or Request field of Flash variables/Functions call area:
    <invoke name="UpdateTitleVal"><arguments><string>UpdateTitle Call!</string></arguments></invoke>
  2. Press Call button. The UpdateTitleVal Flash function will be called with “UpdateTitle Call!” value of an input parameter.
  • C#
//Call flash function
string strRet;
m_pMLCharGen.FlashCallFunction("flash-000", @"<invoke name='UpdateTitleVal'><arguments>
<string>UpdateTitle Call!</string></arguments></invoke>", out strRet);

To see Flash variables and functions declaration, please refer to your FLA file.

If your flash file required some external parameters then you can set it by passing them to filename string of AddNewItem method like this:

  • C#
string strItemID = "";
m_pMLCharGen.AddNewItem("FlashItem.swf?param1=value¶m2=value2", 0, 0, 1, 0, ref strItemID);

Also it is possible to set it with XML configuration:

  • XML
<cg-item id='flash-000' pos-x='0.050' pos-y='0.050' size-x='0.764' size-y='0.694'>
<img path='myflash.swf?param1=value&m2=value2'/>
<cg-props pos-x='36' pos-y='29' show='yes' move-type='accel-both' alpha='255' bg-color='Black(0)' pixel-ar='0.000' play-mode='loop' interlace='auto' scale='fit-ar' align='top-left' width='550' height='400' pause='no' edges-smooth='0'>
<indent left='0' right='0' top='0' bottom='0' use-for-bg='no'/>
<group-indent left='0' right='0' top='0' bottom='0'/>
</cg-props>
<flash-vars/>
</cg-item>


Graphics

Graphic can be used to create geometric figures (such as circles, rectangles, triangles etc.) as overlay items.

Main purpose of this type of item is:

  • Mark something on overlaid stream.
  • Create a frame and background for any other overlay item.
  • Limit the display bounds of any other overlay item or group of items (see group items section).

The main difference of graphic item creation is that there is no specific structures to create or change it. So all interactions with such items type can be performed through XML:

  • C#
string graphicItemXML=
@"<cg-item>
<graphics type='block-2' round-corners='0.300' sides='0' star-inset='0.000' outline='2.00'
outline-color='0xFFFFFFFF'>
<fill-color value='0xFF0000FF-0x8000FF00' rotate='0'/>
</graphics>
<cg-props pos-x='0' pos-y='0' alpha='255' show='yes' move-type='accel-both' type='Graphics'
bg-color='#00000000' pixel-ar='0.000' play-mode='loop' interlace='auto' scale='fit-ar' align='center'
width='512' height='64' pause='no' edges-smooth='0'>
<indent left='0' right='0' top='0' bottom='0'/>
</cg-props>
<rate original='yes' speed='1.000'/>
<anchor item='top-left' screen='top-left'/>
<auto-blend start='0' ramp='0' on='0' off='0' repeat='no' rewind='no'/>
<movement speed-x='0.000' speed-y='0.000'/>
</cg-item>";
string myName = "my-first-graphic-item";
m_objCharGen.AddNewItem(graphicItemXML, 0, 0, 1, 1, ref myName);

You can also use a part of description with tag <graphics> on item add:

  • C#
AddNewItem( "<graphics color='Red(80)-White(160)-Green(80)'/>", .... )
AddNewItem( "<graphics type='circle' outline=3.0 color='Red(80)|White(160)|Green(80)' outline-color=Black/>", .... )


Groups

Group it not a new type of item. Any of the item types can become a group if some other items will be added to them. For example you can create a news line scrolling in a colored frame and delimited with a pictures.

  • C#
//Add background item. It will become a group item when other items will be added to it.
string graphicItemXML=
@"<cg-item>
<graphics type='block-2' round-corners='0.300' sides='0' star-inset='0.000' outline='2.00'
outline-color='0xFFFFFFFF'>
<fill-color value='0xFF0000FF-0x8000FF00' rotate='0'/>
</graphics>
<cg-props pos-x='0' pos-y='0' alpha='255' show='yes' move-type='accel-both' type='Graphics'
bg-color='#00000000' pixel-ar='0.000' play-mode='loop' interlace='auto' scale='fit-ar' align='center'
width='512' height='64' pause='no' edges-smooth='0'>
<indent left='0' right='0' top='0' bottom='0'/>
</cg-props>
<rate original='yes' speed='1.000'/>
<anchor item='top-left' screen='top-left'/>
<auto-blend start='0' ramp='0' on='0' off='0' repeat='no' rewind='no'/>
<movement speed-x='0.000' speed-y='0.000'/>
<scroll type='crawl' speed='-2.0' distance='32.0' set-indent='10' set-scale='fit-ar' line-height='0.8'/>
</cg-item>";
string myBack = "background-item";
m_objCharGen.AddNewItem(graphicItemXML, 0, 0, 1, 1, ref myBack);

//AddText Item
MLCHARGENLib.CG_TEXT_PROPS textProps = new CG_TEXT_PROPS();
textProps.bsTextString = "My Sample Text";
textProps.bsFontFace = "Arial Bold";
textProps.nFontHeight = 20;
string myText= "text-item";
m_objCharGen.AddNewTextItem(ref textProps, 0, 0, 1, 1, ref myText);

//Add image item
string myPick = "picture-item";
m_objCharGen.AddNewItem("Picture.jpg", 0, 0, 1, 1, ref myPick);

//Add text and image items to group
string groupId = "background-item";
m_objCharGen.GroupAddItem("text-item", 1, 0, 1, ref groupId);
m_objCharGen.GroupAddItem("picture-item", 1, 0, 1, ref groupId);

Please note that background graphic item has additional line in it XML description:

  • XML
<scroll type='crawl' speed='-2.0' distance='32.0' set-indent='10' set-scale='fit-ar' line-height='0.8'/>

It describes the inner item scrolling properties. This properties will be applied only to inner items of a group and the background item itself will not be scrolled. In opposite the inner items has a zero movement speed property value, but they will be scrolled because the background item has scroll speed equals "-2".
Groups can also be used as to limit the display area for items. Here is a code sample for limitation of display area of flash item:

  • C#
//Add new flash item
string itemId = "my-flash-item";
m_pMLCharGen.AddNewItem(@"d:\MyFlashItem.swf", 0, 0, 0, 0, ref itemId);

//Add this item to new group
//The "display bounds" will be limited by this group area
string itemIdGr = "";
m_pMLCharGen.GroupAddItem(itemId, 0, "view-area", ref itemIdGr);

//Get group properties
string itemProps;
CG_ITEM_PROPS props = new CG_ITEM_PROPS();
m_pMLCharGen.GetItemBaseProps(itemIdGr, out itemProps, out props);

//Limit dosplay bounds of the group by settind the tagSIZE
tagSIZE ts = new tagSIZE();
ts.cx = 200;
ts.cy = 200;
props.szItem = ts;

//Set new properties to group
m_pMLCharGen.SetItemBaseProps(itemIdGr, ref props, 0);

//Show item added to "view-area" group
m_pMLCharGen.ShowItem(itemId, 1, 0);


Images

Image items use external images for overlaying. It can be files (*.jpg, *.gif, *.bmp etc.) or images from memory added by its handles. To add image from file you need to use image path to the AddNewItem method:

  • C#
m_objCharGen.AddNewItem("image1.jpg", 0, 0, 1, 1, ref myName);

It is also possible to use relative path for CG items. The file will be searched in the directory where the configuration file is placed.

To add image from memory you need to pass image handle to the AddImageByHandle method:

  • C#
m_objCharGen.AddImageByHandle(1234567, 0, 0, 1, 1, ref myName); //where 1234567 is image handle.

If you add images from text file for example like this:

[[IMG:C:\test\1.jpg]]This is the first image.
[[IMG:C:\test\2.jpg]]This is the second image.
[[IMG:C:\test\3.jpg]]This is the third image.

Then the result will be the first picture. The reason is that IMG is id of CG item. So to add many images you should add different names:

[[IMG:C:\test\1.jpg]]This is the first image.
[[IMG_1:C:\test\2.jpg]]This is the second image.
[[IMG_2:C:\test\3.jpg]]This is the third image.

You can use image sequences as item if Character generator. To do it you should set path to folder with images:

  • C#
m_pMLCharGen.AddNewItem(@"c:\myImageSequenceFolder\*.*", 0.05, 0.05, 1, 0, ref strItemID);

Note please that usage of image sequences in Character Generator is very consuming process. So you should use small images (logo, for example) for sequences. If you want to use great images in sequences (with big resolution) you should use MMixer object and add your sequences as separated stream.


Scheduling

If you want to automate your Character Generator overlays (items and compositions) with some schedule you should use IMLCharGenSchedule interface and its methods.

To create a schedule you should complete the following steps:

  1. Create a timeline with ScheduleAdd method.
  2. Configure it with the same method. To do it you should send items' ID and parameters (as string of XML description) in this method.
  3. Start this timeline with ScheduleTimelineStart method.

It is possible to operate each timeline. To do it you should use ScheduleTimelinePause, ScheduleTimelineStop and ScheduleTimelineStart methods.

You can save your schedule to external XML file with ScheduleSaveToFile method. Later you can load this schedule with ScheduleLoadFromXML method.

Here is example of how to create and start a timeline:

  • C#
m_objCharGen = new MLCHARGENLib.CoMLCharGenClass();
m_objCharGen.AddNewItem("MediaLooks", 0.1, 0.1, 1, 1, ref m_strItemID);
m_objCharGen.SetItemProperties(m_strItemID, "movement::speed-x", "1", "", 0);
m_objCharGen.ShowItem(m_strItemID, 1, 1000);
MLCHARGENLib.CG_SCHEDULE_TIMES myTime = new MLCHARGENLib.CG_SCHEDULE_TIMES();
myTime.dblScheduledTime = 10.0;
myTime.dblShowTime = 10.0;
myTime.dblExitTime = 5.0;
myTime.dblIntroTime = 5.0;
myTime.nShowHide = 0;
m_objCharGen.ScheduleAdd("testTimeline", "text-000", "cg-props::show='false'", ref myTime);
m_objCharGen.ScheduleTimelineStart("testTimeline", 0.0, 50.0, 0);
m_objCharGen.ScheduleSaveToFile("testTimeline", @"c:\test.xml", 0);


Text

For Text items there is additional structure CG_TEXT_PROPS contains text-specific properties (such as font type, font size, text style, etc.) that are not available in CG_ITEM_PROPS. To change basic item properties use the CG_ITEM_PROPS structure and the SetItemBaseProps method.

  • C#
MLCHARGENLib.CG_TEXT_PROPS textProps = new MLCHARGENLib.CG_TEXT_PROPS();
textProps.bsTextString = "My Sample Text";
textProps.bsFontFace = "Arial Bold";
textProps.nFontHeight = 20;
m_objCharGen.AddNewTextItem(ref textProps, 0, 0, 1, 1, ref myText);

You can also add text in simplified way:

  • C#
m_objCharGen.AddNewItem( "<text>Some Text</text>", .... );
m_objCharGen.AddNewItem( "<text font='Arial Narrow' size='16' color=Red bg-color=white>Some Text</text>", .... );

Character Generator does not support rich text items add, but you can simulate rich text items using XML text style tags. All you need is create a XML-formated text string and add it using AddNewItem method:

  • C#
//Add red text line
string textString = @"<font color=red> text colored red </font>";
string itemId = "my-rich-text-block";
m_pMLCharGen.AddNewItem(textString, 20, 20, 0, 1, ref itemId);

// Add Times New Roman, blue text line with white background
string textString = @"<font face='Times New Roman' color=blue bg-color=white> text written in Times New Roman </font>";
string itemId = "my-rich-text-block";
m_pMLCharGen.AddNewItem(textString, 20, 20, 0, 1, ref itemId);

//Add multifont text line
string textString = @"<font face='Courier'>text written in Courier</font>
<font face='Times New Roman' color=blue bg-color=white> text written in Times New Roman </font>
text written in default font (Arial)";
string itemId = "my-rich-text-block";
m_pMLCharGen.AddNewItem(textString, 20, 20, 0, 1, ref itemId);

Please note that by using this way your rich text line will be created not as a single text item, but as a block of separated text items each one with own text style. Being displayed on a screen they will look like a single rich text line.
To update your text line in this block you need to use SetItemProperties method:

  • C#
//Change previous text line to text colored red
m_pMLCharGen.SetItemProperties("my-rich-text-block", "content", "<font color=red> text colored red </font>", "", 5);

When you work with big text items there may appear some jerks in CG. The reason of this problem is in memory. When item is hided the memory is cleared. So it needs some time to display the item again. To turn off memory refreshing and solve this problem you can set in system registry (HKEY_CURRENT_USER\Software\Medialooks\MLCharGen) "items.keep-alive" property to "true". This property sets for all CG items. And if you use many items it may cause problems with memory. To set this property for just one item you should use SetItemProperties( itemID, "keep-alive", "true/false", "", 0 ); method.


Tickers

Tickers are used to create a news, weather and other information scrolling lines. You can add it using XML description created on property page:

  • C#
string tickerItemXML=
@"<cg-item group-type='ticker' intro-delay='0.0' exit-delay='0.0' exit-time='0.5'>
<ticker type='crawl' speed='-2.0' set-scale='yes' align='center' start-time='0.0' distance='1.0' line-height='1.0' ignore='no' def-height='28.000'>
<content>
<content-item value='Line 1
Line 2
Line 3
' add-type='add-to-end, multiline'/>
</content>
</ticker>
<graphics type='rect' color='blue(160)-green(80)-orange(160)'/>
<default-text bold='true' size='20' />
<cg-props pos-x='0' pos-y='490' alpha='255' show='yes' move-type='accel-both' bg-color='Black(0)'
pixel-ar='0.000' play-mode='loop' interlace='auto' scale='fit-ar' align='center' width='720'
height='28' pause='no' edges-smooth='0'>
<indent left='0' right='0' top='0' bottom='0'/>
<group-indent left='0' right='0' top='0' bottom='0'/>
</cg-props>
<rate original='yes' speed='1.000'/>
<anchor item='top-left' screen='top-left'/>
<auto-blend start='0' ramp='0' on='0' off='0' repeat='no' rewind='no'/>
<movement speed-x='0.000' speed-y='0.000'/>
</cg-item>"
string tickerName = "ticker-item";
m_objCharGen.AddNewItem(tickerItemXML, 0, 0, 1, 1, ref tickerName);

But the easier way is to add tickers using special method TickerAddNew:

  • C#
//Add ticker
string tickerItemXML=
@"<cg-item>
<ticker type='crawl'/>
<graphics color='ML(180)-White(180)'/>
<default-text bold='true' size='20' />
</cg-item>";
string tickerName = "ticker-item";
m_objCharGen.TickerAddNew(tickerItemXML, 0.05, 0.05, 0, 0, 1, 0, ref tickerName);
//Add ticker content
m_objCharGen.TickerAddContent(strCookie, "Line1\r\nLine2\r\nLine3", "add-to-end, multiline");

The word "multiline" means that each text line will be used as a separate ticker item. Otherwise all 3 lines will be used as one ticker item.
The word "add-to-end" means that items will be added to the end of list. The other options are:
"remove-first" - items will be added to the end of list and the first ticker item will be removed.
"remove-all" - items will be added to the end of list and all other ticker items will be removed.

Here is the result ticker:

Except adding a content from code you can write it to the file an add the whole file:

  • C#
//Add ticker
string tickerItemXML=
@"<cg-item>
<ticker type='crawl'/>
<graphics color='ML(180)-White(180)'/>
<default-text bold='true' size='20' />
</cg-item>";
string tickerName = "ticker-item";
m_objCharGen.TickerAddNew(tickerItemXML, 0.05, 0.05, 0, 0, 1, 0, ref tickerName);
//Add ticker content
m_objCharGen.TickerAddContent(strCookie, @"c:\content.txt", "");

Also it is possible to use images in ticker. You need to add "[[path_to_image]]" into your file.

You can use RSS ticker in CG. To do it you just should use URL of the ticker as path to file:

  • C#
//TiclerID
string myRssTickerId = "my-rss-ticker";
//Add new ticker
m_pMLCharGen.TickerAddNew("<cg-item><ticker type='ticker-horz'/><graphics color='ML(180)-White(180)'/><default-text bold=true size='20' /></cg-item>", 0.05, 0.05, 0, 0, 1, 1, ref myRssTickerId);
//Add RSS as ticker content
m_pMLCharGen.TickerAddContent(myRssTickerId, "http://newsrss.bbc.co.uk/rss/sportonline_world_edition/front_page/rss.xml", "remove-all");

To set different fonts for your text in ticker you just need to use XML tags:

  • C#
//Add red text line
m_pMLCharGen.TickerAddContent("my-ticker", "<font color=red> text colored red </font>", "");

// Add Times New Roman, blue text line with white background
m_pMLCharGen.TickerAddContent("my-ticker", "<font face='Times New Roman' color=blue bg-color=white> text written in Times New Roman </font>", "");

//Add multifont text line
m_pMLCharGen.TickerAddContent("my-ticker", @"<font face='Courier'>text written in Courier</font>
<font face='Times New Roman' color=blue bg-color=white> text written in Times New Roman </font>
text written in default font (Arial)", "");

If you want to use right-to-left tickers (for example, Arabic language), you should use the following settings:

  1. For all elements. Set in system registry (HKEY_CURRENT_USER\Software\Medialooks\MLCharGen) property "righttoleft.default" to "1".
    In this case all tickers and text will display from right to left. To add left-to-right ticker or text you should set <default-text format=''/> property.
  2. For single or several elements. Before adding of ticker content you should set <default-text format=''/> property. Or after adding set ticket::default-text::format=RTL (in this case you should set negative speed).


Character Generator

Character Generator (CG) is used for overlay your video streams with different elements. This chapter is about how to use CG, add items and set their properties.

Graphical interface:

This part guides you through features of Character Generator.


MCCDisplayLib Assembly
Namespaces
Namespace | Description
MCCDisplayLib |


CreateObjRef Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


GetLifetimeService Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


InitializeLifetimeService Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


MemberwiseClone Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : MemberwiseClone Method
See Also

Reference

MCCDisplayClass Class
MCCDisplayClass Members


MemberwiseClone(Boolean) Method

MCCDisplayLib Namespace > MCCDisplayClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members

Overload List


ToString Method (MCCDisplayClass)

MCCDisplayLib Namespace > MCCDisplayClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MCCDisplayClass Class

MCCDisplayClass Members


MCHROMAKEYLib Assembly
Contains all classes, interfaces, enumerations and structures of Chroma keying
Namespaces
Namespace | Description
MCHROMAKEYLib | Contains all classes, interfaces, enumerations and structures of Chroma keying
Remarks


%%PageItemTitle%%

IMFrame Interface
Members

MCHROMAKEYLib Namespace : IMFrame Interface
Operates a single frame
See Also

Reference

IMFrame Members
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Members$$

IMFrame Interface Members
Methods

MCHROMAKEYLib Namespace : IMFrame Interface

The following tables list the members exposed by IMFrame.

Public Methods
 | Name | Description
Method | FrameAudioGetBytes | Gets the audio plain data pointer (only local)
Method | FrameAudioSaveToFile | Saves the audio to file (*.wav format is used). If file already exists then it adds audio to the end of the file.
Method | FrameAVPropsGet | Gets the media properties of frame
Method | FrameAVPropsSet | Sets the media properties to frame
Method | FrameClone | Gets clone of the video frame
Method | FrameConvert | Converts frame format or just scale video frame
Method | FrameCut | Cuts out part of video frame, without memory copy
Method | FrameDataGet | Gets the ancillary data by its code
Method | FrameDataGetByIndex | Gets the ancillary data by number in M_ANC_DATA structure
Method | FrameDataSet | Sets the ancillary data by its four chars code
Method | FrameOverlay | Overlay (mix) two frames with alpha, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horz position aligned by two (e.g. 21->20). Note: For ARGB32 images, alpha from images used for mix.
Method | FrameRelease | Release frame buffer. Note: do it for ALL frames received by event in .Net application!
Method | FrameTimeGet | Gets the frame time
Method | FrameTimeSet | Sets the frame time
Method | FrameVideoGetBytes | Gets the video plain data pointer (only local)
Method | FrameVideoGetHbitmap | Gets the video HBitmap (bitmap handle)
Method | FrameVideoSaveToFile | Saves the video frame to file. Method supports *.png, *.jpg, *.bmp, *.tga, *.tiff files.
Top
See Also

Reference

IMFrame Interface
MCHROMAKEYLib Namespace


%%PageItemTitle%% $$Methods$$

IMFrame Interface Methods

MCHROMAKEYLib Namespace : IMFrame Interface

For a list of all members of this type, see IMFrame members.

Public Methods
 | Name | Description
Method | FrameAudioGetBytes | Gets the audio plain data pointer (only local)
Method | FrameAudioSaveToFile | Saves the audio to file (*.wav format is used). If file already exists then it adds audio to the end of the file.
Method | FrameAVPropsGet | Gets the media properties of frame
Method | FrameAVPropsSet | Sets the media properties to frame
Method | FrameClone | Gets clone of the video frame
Method | FrameConvert | Converts frame format or just scale video frame
Method | FrameCut | Cuts out part of video frame, without memory copy
Method | FrameDataGet | Gets the ancillary data by its code
Method | FrameDataGetByIndex | Gets the ancillary data by number in M_ANC_DATA structure
Method | FrameDataSet | Sets the ancillary data by its four chars code
Method | FrameOverlay | Overlay (mix) two frames with alpha, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horz position aligned by two (e.g. 21->20). Note: For ARGB32 images, alpha from images used for mix.
Method | FrameRelease | Release frame buffer. Note: do it for ALL frames received by event in .Net application!
Method | FrameTimeGet | Gets the frame time
Method | FrameTimeSet | Sets the frame time
Method | FrameVideoGetBytes | Gets the video plain data pointer (only local)
Method | FrameVideoGetHbitmap | Gets the video HBitmap (bitmap handle)
Method | FrameVideoSaveToFile | Saves the video frame to file. Method supports *.png, *.jpg, *.bmp, *.tga, *.tiff files.
Top
See Also

Reference

IMFrame Interface
MCHROMAKEYLib Namespace


FrameAudioGetBytes Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameAudioGetBytes Method
size of data
audio data pointer
Gets the audio plain data pointer (only local)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameAudioGetBytes( _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbAudio As System.Long _
)

void FrameAudioGetBytes(
   out System.int _pcbSize,
   out System.long _ppbAudio
)

void FrameAudioGetBytes(
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbAudio
)

Parameters
_pcbSize

size of data
_ppbAudio

audio data pointer

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameAudioSaveToFile Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameAudioSaveToFile Method
path to file
indicates whether audio is added to the file or not (create a new file)
Saves the audio to file (*.wav format is used). If file already exists then it adds audio to the end of the file.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameAudioSaveToFile( _
   ByVal _bsFileName As System.String, _
   ByVal _bAppend As System.Integer _
)

void FrameAudioSaveToFile(
   System.string _bsFileName,
   System.int _bAppend
)

void FrameAudioSaveToFile(
   System.String^ _bsFileName,
   System.int _bAppend
)

Parameters
_bsFileName

path to file
_bAppend

indicates whether audio is added to the file or not (create a new file)

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameAVPropsGet Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameAVPropsGet Method
media properties
Gets the media properties of frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameAVPropsGet( _
   ByRef _pProps As M_AV_PROPS _
)

void FrameAVPropsGet(
   out M_AV_PROPS _pProps
)

void FrameAVPropsGet(
   [Out] M_AV_PROPS _pProps
)

Parameters
_pProps

media properties

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameAVPropsSet Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameAVPropsSet Method
media properties
Sets the media properties to frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameAVPropsSet( _
   ByRef _pProps As M_AV_PROPS _
)

void FrameAVPropsSet(
   ref M_AV_PROPS _pProps
)

void FrameAVPropsSet(
   M_AV_PROPS% _pProps
)

Parameters
_pProps

media properties

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameClone Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameClone Method
output frame clone
type of clone
output pixel format
Gets clone of the video frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameClone( _
   ByRef _ppCloneFrame As IMFrame, _
   ByVal _eCloneType As eMFrameClone, _
   ByVal _fccPixelFormat As eMFCC _
)

void FrameClone(
   out IMFrame _ppCloneFrame,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

void FrameClone(
   [Out] IMFrame^ _ppCloneFrame,
   eMFrameClone _eCloneType,
   eMFCC _fccPixelFormat
)

Parameters
_ppCloneFrame

output frame clone
_eCloneType

type of clone
_fccPixelFormat

output pixel format

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameConvert Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameConvert Method
video properties
output frame object
additional parameters
Converts frame format or just scale video frame
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameConvert( _
   ByRef _pVidPropsDest As M_VID_PROPS, _
   ByRef _ppFrameRes As IMFrame, _
   ByVal _bsPropsList As System.String _
)

void FrameConvert(
   ref M_VID_PROPS _pVidPropsDest,
   out IMFrame _ppFrameRes,
   System.string _bsPropsList
)

void FrameConvert(
   M_VID_PROPS% _pVidPropsDest,
   [Out] IMFrame^ _ppFrameRes,
   System.String^ _bsPropsList
)

Parameters
_pVidPropsDest

video properties
_ppFrameRes

output frame object
_bsPropsList

additional parameters

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameCut Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameCut Method
number of fields for cutting (for interlacing)
rectangular part of source frame
output frame object
Cuts out part of video frame, without memory copy
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameCut( _
   ByVal _nField As System.Integer, _
   ByRef _pRect As tagRECT, _
   ByRef _ppFrameRes As IMFrame _
)

void FrameCut(
   System.int _nField,
   ref tagRECT _pRect,
   out IMFrame _ppFrameRes
)

void FrameCut(
   System.int _nField,
   tagRECT% _pRect,
   [Out] IMFrame^ _ppFrameRes
)

Parameters
_nField

number of fields for cutting (for interlacing)
_pRect

rectangular part of source frame
_ppFrameRes

output frame object

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameDataGet Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameDataGet Method
four chars code
ancillary data
ancillary data pointer
Gets the ancillary data by its code
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameDataGet( _
   ByVal _nDataFCC As System.Integer, _
   ByRef _pcbANCData As System.Integer, _
   ByRef _ppbANCData As System.Long _
)

void FrameDataGet(
   System.int _nDataFCC,
   out System.int _pcbANCData,
   out System.long _ppbANCData
)

void FrameDataGet(
   System.int _nDataFCC,
   [Out] System.int _pcbANCData,
   [Out] System.int64 _ppbANCData
)

Parameters
_nDataFCC

four chars code
_pcbANCData

ancillary data
_ppbANCData

ancillary data pointer

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameDataGetByIndex Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameDataGetByIndex Method
numbeof ancillary datar
four chars code
ancillary data
ancillary data pointer
Gets the ancillary data by number in M_ANC_DATA structure
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameDataGetByIndex( _
   ByVal _nIndex As System.Integer, _
   ByRef _pnDataFCC As System.Integer, _
   ByRef _pcbANCData As System.Integer, _
   ByRef _ppbANCData As System.Long _
)

void FrameDataGetByIndex(
   System.int _nIndex,
   out System.int _pnDataFCC,
   out System.int _pcbANCData,
   out System.long _ppbANCData
)

void FrameDataGetByIndex(
   System.int _nIndex,
   [Out] System.int _pnDataFCC,
   [Out] System.int _pcbANCData,
   [Out] System.int64 _ppbANCData
)

Parameters
_nIndex

numbeof ancillary datar
_pnDataFCC

four chars code
_pcbANCData

ancillary data
_ppbANCData

ancillary data pointer

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameDataSet Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameDataSet Method
four chars code
ancillary data
ancillary data pointer
Sets the ancillary data by its four chars code
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameDataSet( _
   ByVal _nDataFCC As System.Integer, _
   ByVal _cbANCData As System.Integer, _
   ByVal _pbANCData As System.Long _
)

void FrameDataSet(
   System.int _nDataFCC,
   System.int _cbANCData,
   System.long _pbANCData
)

void FrameDataSet(
   System.int _nDataFCC,
   System.int _cbANCData,
   System.int64 _pbANCData
)

Parameters
_nDataFCC

four chars code
_cbANCData

ancillary data
_pbANCData

ancillary data pointer

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameOverlay Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameOverlay Method
frame that overlays the source frame
X position of frame
Y position of frame
transparency: 0.0 - transparent (no mix), 1.0 - solid
additional parameters
Overlay (mix) two frames with alpha, the position is from top-left corner, for 4:2:2 images (e.g. UYVY) horz position aligned by two (e.g. 21->20). Note: For ARGB32 images, alpha from images used for mix.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameOverlay( _
   ByVal _pFrameOver As IMFrame, _
   ByVal _nPosX As System.Integer, _
   ByVal _nPosY As System.Integer, _
   ByVal _dblAlpha As System.Double, _
   ByVal _bsPropsList As System.String _
)

void FrameOverlay(
   IMFrame _pFrameOver,
   System.int _nPosX,
   System.int _nPosY,
   System.double _dblAlpha,
   System.string _bsPropsList
)

void FrameOverlay(
   IMFrame^ _pFrameOver,
   System.int _nPosX,
   System.int _nPosY,
   System.double _dblAlpha,
   System.String^ _bsPropsList
)

Parameters
_pFrameOver

frame that overlays the source frame
_nPosX

X position of frame
_nPosY

Y position of frame
_dblAlpha

transparency: 0.0 - transparent (no mix), 1.0 - solid
_bsPropsList

additional parameters

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameRelease Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameRelease Method
Release frame buffer. Note: do it for ALL frames received by event in .Net application!
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameRelease()

void FrameRelease()

void FrameRelease();

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameTimeGet Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameTimeGet Method
frame time
Gets the frame time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameTimeGet( _
   ByRef _pTime As M_TIME _
)

void FrameTimeGet(
   out M_TIME _pTime
)

void FrameTimeGet(
   [Out] M_TIME _pTime
)

Parameters
_pTime

frame time

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameTimeSet Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameTimeSet Method
frame time
Sets the frame time
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameTimeSet( _
   ByRef _pTime As M_TIME _
)

void FrameTimeSet(
   ref M_TIME _pTime
)

void FrameTimeSet(
   M_TIME% _pTime
)

Parameters
_pTime

frame time

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameVideoGetBytes Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameVideoGetBytes Method
data size
video data pointer
Gets the video plain data pointer (only local)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameVideoGetBytes( _
   ByRef _pcbSize As System.Integer, _
   ByRef _ppbVideo As System.Long _
)

void FrameVideoGetBytes(
   out System.int _pcbSize,
   out System.long _ppbVideo
)

void FrameVideoGetBytes(
   [Out] System.int _pcbSize,
   [Out] System.int64 _ppbVideo
)

Parameters
_pcbSize

data size
_ppbVideo

video data pointer

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameVideoGetHbitmap Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameVideoGetHbitmap Method
bitmap handle
Gets the video HBitmap (bitmap handle)
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameVideoGetHbitmap( _
   ByRef _pcpHBitmap As System.Long _
)

void FrameVideoGetHbitmap(
   out System.long _pcpHBitmap
)

void FrameVideoGetHbitmap(
   [Out] System.int64 _pcpHBitmap
)

Parameters
_pcpHBitmap

bitmap handle

Example

See Also
Reference
IMFrame Interface

IMFrame Members


FrameVideoSaveToFile Method

MCHROMAKEYLib Namespace > IMFrame Interface : FrameVideoSaveToFile Method
full path to file
Saves the video frame to file. Method supports *.png, *.jpg, *.bmp, *.tga, *.tiff files.
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Sub FrameVideoSaveToFile( _
   ByVal _bsFileName As System.String _
)

void FrameVideoSaveToFile(
   System.string _bsFileName
)

void FrameVideoSaveToFile(
   System.String^ _bsFileName
)

Parameters
_bsFileName

full path to file

Example

See Also
Reference
IMFrame Interface

IMFrame Members


CreateObjRef Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


GetLifetimeService Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


InitializeLifetimeService Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


MemberwiseClone Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : MemberwiseClone Method
See Also

Reference

MChromaKeyClass Class
MChromaKeyClass Members


MemberwiseClone(Boolean) Method

MCHROMAKEYLib Namespace > MChromaKeyClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members

Overload List


ToString Method (MChromaKeyClass)

MCHROMAKEYLib Namespace > MChromaKeyClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MChromaKeyClass Class

MChromaKeyClass Members


CreateObjRef Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MKeyClass Class

MKeyClass Members


GetLifetimeService Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MKeyClass Class

MKeyClass Members


InitializeLifetimeService Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MKeyClass Class

MKeyClass Members


MemberwiseClone Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : MemberwiseClone Method
See Also

Reference

MKeyClass Class
MKeyClass Members


MemberwiseClone(Boolean) Method

MCHROMAKEYLib Namespace > MKeyClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MKeyClass Class

MKeyClass Members

Overload List


ToString Method (MKeyClass)

MCHROMAKEYLib Namespace > MKeyClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MKeyClass Class

MKeyClass Members


MFormats objects properties
  • MFReader
  • MFLive
  • MFPreview
  • MFRenderer
  • MFWriter

Here is a list of all objects properties that you can set in system registry or with PropsSet method (for MFReader object) with description:

MFReader

Name | Default | Description
"crop " | " " | crops the video. Possible value: "left,top,right,bottom" where sides are set in pixels
"mirror " | " " | reflects video. Possible values: "vert", "horz", "both"
"rotate " | " " | rotates video to left or to right. Possible values: "left", "right"
"loop " | " true" | loop video playback
"audio_gain" | "" | audio gain for file
"external_process " | " false" | use external process for decoding
"decoder.gpu264 " | " false" | use GPU powered decoder for H264 video
"decoder.mldv " | " false" |
"interlace " | " " | interlaces video. Possible values: "progressive", "default", "top", "bottom", "field".
"aspect_ratio " | " " | sets the aspect ratio of file (for example, "4:3", "16:9").
"scale_type " | " " | sets scaling type. Possible values: default, none, letter-box, crop.
"audio_channels " | " " | sets the number and order of audio channels
"audio_track " | " 0" | sets audio track
"video_track " | " 0" | sets video track
"subtitle_track " | " -1" | sets subtitle track
"ts_program " | " -1" | sets transport stream program
"auto_index " | " false" | use auto-indexation for file
"audio_only.block_msec " | " 20" | sets minimal duration of frame for audio-only files
"forward.cache " | " 3" | buffer of decoded frames in forward directions
"forward.min_seek " | " 5" | minimal seeking interval
"reverse.step " | " 25" | reverse step for switching to reverse playback
"scaling_quality " | " auto" | quality of video scaling
"watch_dog.max_time_file " | " 1000" | maximal duration for file frame decoding
"watch_dog.max_time_net " | " 10000" | maximal duration for network frame decoding
"mxf.fp500_offset" | " " | Sets FP500 offset for MXF files. Possible values: "true", "false"
"external_audio " | "" | external audio for file that is mixed with original one. Usage: myReader.ReaderOpen(@"c:\clip.avi", @"external_audio=c:\1.mp3"); or myReader.PropsSet("external_audio", @"c:\1.mp3");
"mxf.s377_metadata" | " " | Adds into "file::info" full description of MXF file according to SMPTE s377 standard. Possible values: "true", "false"
"mxf.sequential_scan" | "false" | Sets buffering type for file reading. Possible values: "true", "false"
"info " | " " | node that contains information about source file
"info::ts_programs " | " 0" | number of transport stream programs
"info::video_tracks " | " 1" | number of video tracks
"info::audio_tracks " | " 1" | number of audio tracks
"info::streams " | " 2" | total number of streams
"info::format " | " " | format of file
"info::format_name " | " " | common name of format
"info::start_time " | " 0.0" | start time of playback
"info::duration " | " 175.82" | duration of file
"info::subtitle_tracks " | " 0" | number of subtitle tracks

MFLive

Name | Default | Description
" device_sharing " | " true " | indicates device sharing feature (ability to use devices in several application at once)
" ext_audio.capture_to_channels " | " " | indicates instead what channels external audio should be used
" ext_audio.enabled " | " true " | enables external audio for devices
" ltc.enabled " | " true " | enables LTC sources
" ltc.audio_device " | " " | default LTC source device
" input.buffers " | "0" | number of input buffers
" ext_audio.insert_to_channels " | " " | indicates to where external audio channels will be inserted
" ltc.sync " | " false " | indicates whether video is synchronized with LTC source
" scaling_quality " | " auto " | scaling quality for input video

MFPreview

Name | Default | Description
" rate_control " | " true " | is preview managed rate control for playback
" preview.drop_frames " | " false " | indicates are drop frames allowed
" preview.crop " | " 0,0,0,0 " | crop preview video only
" deinterlace " | " true " | deinterlaces preview video
" maintain_ar " | " true " | keep maintain aspect ratio
" direct3d.pixel_format " | " auto " | pixels format on preview
" direct3d.scale_filter " | "2" | scale filter
" preview.skip_fields " | "0" | indicates are skip fields for interlaced video allowed
" audio.buffer_size_msec " | "100" | buffer size for audio preview
" audio.correct_rate " | " true " | correct rate based on audio
" debug.test_tone " | " " | test feature - single tone frequency to check quality
" audio.xaudio2 " | " false " | XAudio2 preview
" overlay_rms " | " false " | overlay RMS on preview to manage audio
" overlay_rms.pos " | " 0.05 " | relative position of RMS indicator
" overlay_rms.color " | " green " | color of RMS indicator
" overlay_waveform " | " false " | waveform audio overlay
" overlay_waveform.pos " | " 0.3 " | relative position of waveform overlay
" overlay_waveform.color " | " " | color of waveform overlay
" audio_renderer.list " | " " | list of devices that can be used for audio preview
" audio.enabled " | " true " | is audio enabled
" video.enabled " | " true " | is video enabled

MFRenderer

Name | Default | Description
" experimental.direct_audio_thread " | " false " | experimental feature - direct output of audio in separated thread
" optimization.no_copy " | " true " | optimization key - not to copy data
" optimization.own_buffer " | " true " | optimization key - use own buffer
" cc_output " | "7" | turn on/off CC output. Possible values: 1 - only VBI Analogue 608 CC (NTSC - composite, SDI - output.10bits should be OFF) 2 - only SDI 608 ANC (SDI - all formats - output.10bits should be ON) 3 - only 608 CDP 4 - only SDI 708 + 608 CDP (SDI - all formats - output.10bits should be ON) 5 - only SDI 708 7 - default - output all types 15 - always display VBI data (even if there is no such data).
" bypass.wait_frames " | "30" | bypass relay feature - duration of waiting for frames
" output.timecode " | " true " | sent timecode to output
" cc_line_sdi " | "9" | set a line for SDI CC output
" cc_offset_dword " | "0" | offset for CC
" output.10bit " | " false " | 10 bit conversion for output video
" input.buffers " | "0" | number of frames in input buffer
" scaling_quality " | " auto " | quality of output video scaling
" output.copy_vanc " | "2" | copy VANC data to output ("0" - not copy, "1" - copy is data is exists, "2" - copy always)
" timecode_format " | " auto " | format of timecode
" crop " | " " | crops output video. Possible value: "left,top,right,bottom" where sides are set in pixels
" mirror " | " " | reflects output video. Possible values: "vert", "horz", "both"
" rotate " | " " | rotates output video. Possible values: "left", "right"

MFWriter

Name | Default | Description
" external_process " | " true " | use encoding in separated process
" config.path " | " user_config.xml " | path to save user last configuration
" config.unicode " | "0" | use Unicode text encoding in configuration
" config.load " | " false " | loads previous configuration on initialization of object
" config.save " | " true " | saves last configuration
" play_while_rec " | " true " | enables Play-While-Rec feature that allows you to play the file that is capturing at the moment
" video.buffers " | "30" | number of video buffer frames
" video.drop_frames " | " false " | allows object to drop frames
" input.buffers " | "30" | number of input buffer frames
" crop " | " " | crops result video. Possible value: "left,top,right,bottom" where sides are set in pixels
" mirror " | " " | reflects result video. Possible values: "vert", "horz", "both"
" rotate " | " " | rotates result video. Possible values: "left", "right"
" writer.buffers " | "30" | number of writer buffer frames
" scc_capture " | " true " | captures SCC data (CC 608)
" anc_capture " | " false " | captures ANC data (CC 708)


MFORMATSLib Assembly
Namespaces
Namespace | Description
MFORMATSLib | Contains all classes, interfaces, enumerations and structures of MFormats SDK.


CreateObjRef Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MDelayClass Class

MDelayClass Members


GetLifetimeService Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MDelayClass Class

MDelayClass Members


InitializeLifetimeService Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MDelayClass Class

MDelayClass Members


MemberwiseClone Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : MemberwiseClone Method
See Also

Reference

MDelayClass Class
MDelayClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MDelayClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MDelayClass Class

MDelayClass Members

Overload List


ToString Method (MDelayClass)

MFORMATSLib Namespace > MDelayClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MDelayClass Class

MDelayClass Members


CreateObjRef Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


GetLifetimeService Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


InitializeLifetimeService Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


MemberwiseClone Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : MemberwiseClone Method
See Also

Reference

MFAudioBufferClass Class
MFAudioBufferClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFAudioBufferClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members

Overload List


ToString Method (MFAudioBufferClass)

MFORMATSLib Namespace > MFAudioBufferClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFAudioBufferClass Class

MFAudioBufferClass Members


CreateObjRef Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFConverterClass Class

MFConverterClass Members


GetLifetimeService Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFConverterClass Class

MFConverterClass Members


InitializeLifetimeService Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFConverterClass Class

MFConverterClass Members


MemberwiseClone Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : MemberwiseClone Method
See Also

Reference

MFConverterClass Class
MFConverterClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFConverterClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFConverterClass Class

MFConverterClass Members

Overload List


ToString Method (MFConverterClass)

MFORMATSLib Namespace > MFConverterClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFConverterClass Class

MFConverterClass Members


CreateObjRef Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


GetLifetimeService Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


InitializeLifetimeService Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


MemberwiseClone Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : MemberwiseClone Method
See Also

Reference

MFFactoryClass Class
MFFactoryClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFFactoryClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members

Overload List


ToString Method (MFFactoryClass)

MFORMATSLib Namespace > MFFactoryClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFFactoryClass Class

MFFactoryClass Members


CreateObjRef Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFFrameClass Class

MFFrameClass Members


GetLifetimeService Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFFrameClass Class

MFFrameClass Members


InitializeLifetimeService Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFFrameClass Class

MFFrameClass Members


MemberwiseClone Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : MemberwiseClone Method
See Also

Reference

MFFrameClass Class
MFFrameClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFFrameClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFFrameClass Class

MFFrameClass Members

Overload List


ToString Method (MFFrameClass)

MFORMATSLib Namespace > MFFrameClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFFrameClass Class

MFFrameClass Members


CreateObjRef Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFLiveClass Class

MFLiveClass Members


GetLifetimeService Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFLiveClass Class

MFLiveClass Members


InitializeLifetimeService Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFLiveClass Class

MFLiveClass Members


MemberwiseClone Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : MemberwiseClone Method
See Also

Reference

MFLiveClass Class
MFLiveClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFLiveClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFLiveClass Class

MFLiveClass Members

Overload List


ToString Method (MFLiveClass)

MFORMATSLib Namespace > MFLiveClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFLiveClass Class

MFLiveClass Members


CreateObjRef Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


GetLifetimeService Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


InitializeLifetimeService Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


MemberwiseClone Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : MemberwiseClone Method
See Also

Reference

MFPreviewClass Class
MFPreviewClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFPreviewClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members

Overload List


ToString Method (MFPreviewClass)

MFORMATSLib Namespace > MFPreviewClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFPreviewClass Class

MFPreviewClass Members


CreateObjRef Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFReaderClass Class

MFReaderClass Members


GetLifetimeService Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFReaderClass Class

MFReaderClass Members


InitializeLifetimeService Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFReaderClass Class

MFReaderClass Members


MemberwiseClone Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : MemberwiseClone Method
See Also

Reference

MFReaderClass Class
MFReaderClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFReaderClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFReaderClass Class

MFReaderClass Members

Overload List


ToString Method (MFReaderClass)

MFORMATSLib Namespace > MFReaderClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFReaderClass Class

MFReaderClass Members


CreateObjRef Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFRendererClass Class

MFRendererClass Members


GetLifetimeService Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFRendererClass Class

MFRendererClass Members


InitializeLifetimeService Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFRendererClass Class

MFRendererClass Members


MemberwiseClone Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : MemberwiseClone Method
See Also

Reference

MFRendererClass Class
MFRendererClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFRendererClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFRendererClass Class

MFRendererClass Members

Overload List


ToString Method (MFRendererClass)

MFORMATSLib Namespace > MFRendererClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFRendererClass Class

MFRendererClass Members


CreateObjRef Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFSinkClass Class

MFSinkClass Members


GetLifetimeService Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFSinkClass Class

MFSinkClass Members


InitializeLifetimeService Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFSinkClass Class

MFSinkClass Members


MemberwiseClone Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : MemberwiseClone Method
See Also

Reference

MFSinkClass Class
MFSinkClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFSinkClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFSinkClass Class

MFSinkClass Members

Overload List


ToString Method (MFSinkClass)

MFORMATSLib Namespace > MFSinkClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFSinkClass Class

MFSinkClass Members


CreateObjRef Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MFWriterClass Class

MFWriterClass Members


GetLifetimeService Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MFWriterClass Class

MFWriterClass Members


InitializeLifetimeService Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MFWriterClass Class

MFWriterClass Members


MemberwiseClone Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : MemberwiseClone Method
See Also

Reference

MFWriterClass Class
MFWriterClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MFWriterClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MFWriterClass Class

MFWriterClass Members

Overload List


ToString Method (MFWriterClass)

MFORMATSLib Namespace > MFWriterClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MFWriterClass Class

MFWriterClass Members


CreateObjRef Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


GetLifetimeService Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


InitializeLifetimeService Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


MemberwiseClone Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : MemberwiseClone Method
See Also

Reference

MWebRTCClass Class
MWebRTCClass Members


MemberwiseClone(Boolean) Method

MFORMATSLib Namespace > MWebRTCClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members

Overload List


ToString Method (MWebRTCClass)

MFORMATSLib Namespace > MWebRTCClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
MWebRTCClass Class

MWebRTCClass Members


MLCHARGENLib Assembly
Here is description of Character generator library.
Namespaces
Namespace | Description
MLCHARGENLib | Contains all classes, interfaces, enumerations and structures of Character Generator.


CreateObjRef Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : CreateObjRef Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function CreateObjRef( _
   ByVal requestedType As System.Type _
) As System.Runtime.Remoting.ObjRef

public virtual System.Runtime.Remoting.ObjRef CreateObjRef(
   System.Type requestedType
)

public:
virtual System.Runtime.Remoting.ObjRef^ CreateObjRef(
   System.Type^ requestedType
)

Parameters
requestedType

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


GetLifetimeService Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : GetLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Function GetLifetimeService() As System.Object

public System.object GetLifetimeService()

public:
System.Object^ GetLifetimeService();

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


InitializeLifetimeService Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : InitializeLifetimeService Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function InitializeLifetimeService() As System.Object

public virtual System.object InitializeLifetimeService()

public:
virtual System.Object^ InitializeLifetimeService();

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members


MemberwiseClone Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : MemberwiseClone Method
See Also

Reference

CoMLCharGenClass Class
CoMLCharGenClass Members


MemberwiseClone(Boolean) Method

MLCHARGENLib Namespace > CoMLCharGenClass Class > MemberwiseClone Method : MemberwiseClone(Boolean) Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Protected Overloads Function MemberwiseClone( _
   ByVal cloneIdentity As System.Boolean _
) As System.MarshalByRefObject

protected System.MarshalByRefObject MemberwiseClone(
   System.bool cloneIdentity
)

protected:
System.MarshalByRefObject^ MemberwiseClone(
   System.bool cloneIdentity
)

Parameters
cloneIdentity

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members

Overload List


ToString Method (CoMLCharGenClass)

MLCHARGENLib Namespace > CoMLCharGenClass Class : ToString Method
Syntax
  • Visual Basic
  • C#
  • C++/CLI
Public Overridable Function ToString() As System.String

public virtual System.string ToString()

public:
virtual System.String^ ToString();

See Also
Reference
CoMLCharGenClass Class

CoMLCharGenClass Members