Articles in this section

What is active frame rate converter?

Active frame rate control ("active_frc" property) is a common feature of every MPlatform SDK source object - MLive, MFile, MPlaylist. This property indicates how should be processed a source frame if something goes wrong. For example, if frame processing takes more time than it is required by the frame rate.

For example, let's analyze what happens in case a frame doesn't appear for 100 msec if source frame rate is 25 fps.

active_frc = 0

Disabled active frame rate control mode. In this case, there is no buffer for frame processing. So it works in first-in-first-out (FIFO) mode - one frame comes as input and the same frame goes as output. If there is a problem in this process (like in conditions above) then you have frame drops (staggering video and audio).

active_frc = 1

There is a buffer for frame processing. So a frame comes as input, it is placed in the buffer and goes out as output only on demand. If there is a problem (a delay on a source side) then the total delay is increased. It leads to more stable frame rate on output. But if you use some plugins, like Character Generator, frames won't be processed by the plugins.

active_frc = 2

Default mode. Similar to active_frc = 1 (there is a buffer for frame processing), but in a case of any problem it returns a copy of a previous frame. It sends the copy until the source isn't fine again. This leads to stable frame rate on output and all the plugins work fine. For example, a ticker of Character Generator is smooth even if a source isn't stable (like a network stream).