IWMEncAudienceObj::put_VideoFPS
The put_VideoFPS method specifies the video frame rate.
Syntax
HRESULT put_VideoFPS(
short iRenderSiteIndex,
long lFPS
);
Parameters
iRenderSiteIndex
[in] short containing the audience stream index. Because an audience can only contain one stream of each type, iRenderSiteIndex must be zero.
lFPS
[in] long indicating the frame rate. When retrieving this value, divide by 1000 to get frames per second, and multiply by 1000 when setting this value.
Return Values
If the method succeeds, it returns S_OK. If it fails, it supports the IErrorInfo interface and returns an HRESULT error code.
Remarks
High-motion video generally looks smoother if you use a higher frame rate, but requires more computer performance. The setting you specify represents the maximum frame rate. Depending on factors such as the video size and codec quality setting, the actual frame rate could be lower.
Example Code
// Include libraries.
#include <windows.h>
#include <atlbase.h>
#include <comdef.h>
#include "C:\WMSDK\WMEncSDK9\include\wmencode.h"
// Declare variables.
HRESULT hr;
IWMEncoder* pEncoder;
IWMEncProfileCollection* pProColl;
IWMEncProfile* pPro;
IWMEncProfile2* pPro2;
IWMEncAudienceObj* pAudnc;
// Initialize the COM library and retrieve a pointer to an IWMEncoder interface.
hr = CoInitialize(NULL);
if ( SUCCEEDED( hr ) )
{
hr = CoCreateInstance(CLSID_WMEncoder,
NULL,
CLSCTX_INPROC_SERVER,
IID_IWMEncoder,
(void**) &pEncoder);
}
// Retrieve a specific profile.
if ( SUCCEEDED( hr ) )
{
hr = pEncoder->get_ProfileCollection(&pProColl);
}
if ( SUCCEEDED( hr ) )
{
hr = pProColl->Item(11, &pPro);
}
if ( SUCCEEDED( hr ) )
{
hr = CoCreateInstance(CLSID_WMEncProfile2,
NULL,
CLSCTX_INPROC_SERVER,
IID_IWMEncProfile2,
(void**) &pPro2);
}
if ( SUCCEEDED( hr ) )
{
hr = pPro2->LoadFromIWMProfile(pPro);
}
// Retrieve the first audience in the profile.
if ( SUCCEEDED( hr ) )
{
hr = pPro2->get_Audience(0, &pAudnc);
}
// Specify a value indicating the frame rate.
long lVidFrameRate = 30000; // 30 fps.
if ( SUCCEEDED( hr ) )
{
hr = pAudnc->put_VideoFPS(0, lVidFrameRate);
}
// Release pointers.
if ( pAudnc )
{
pAudnc->Release();
pAudnc = NULL;
}
if ( pPro2 )
{
pPro2->Release();
pPro2 = NULL;
}
Requirements
Header: wmencode.h
Library: wmenc.exe
See Also