IltmmWMProfile::GetStream Example for C
For complete code, refer to the CNVWM demo.
void GetStreamInfo(IltmmWMProfile *pProfile)
{
USES_CONVERSION;
IltmmWMStreamConfig *pStreamConfig = NULL;
BSTR bstrString;
long lStreamCount;
int i;
long lValue;
double fValue;
char temp[50];
// Show all the information regarding the streams
IltmmWMProfile__get_StreamCount(pProfile, &lStreamCount);
for(i=0; i<lStreamCount; i++)
{
IltmmWMProfile__getStream(pProfile, i, &pStreamConfig);
sprintf(temp, "[[ Stream %d ]]\n", i);
printf(temp);
// Get the major type of the stream
IltmmWMStreamConfig__get_StreamType(pStreamConfig, &bstrString);
printf("Stream type : ");
printf(OLE2A(bstrString));
printf("\n");
SysFreeString(bstrString);
// Get Stream number
IltmmWMStreamConfig__get_StreamNumber(pStreamConfig, &lValue);
printf("Stream number : ");
printf(ltoa(lValue, temp, 10));
printf("\n");
// Get Stream name
IltmmWMStreamConfig__get_StreamName(pStreamConfig, &bstrString);
printf("Stream name : ");
printf(OLE2A(bstrString));
printf("\n");
SysFreeString(bstrString);
// Get Connection name
IltmmWMStreamConfig__get_ConnectionName(pStreamConfig, &bstrString);
printf("Stream connection name : ");
printf(OLE2A(bstrString));
printf("\n");
SysFreeString(bstrString);
// Get Bitrate
IltmmWMStreamConfig__get_Bitrate(pStreamConfig, &lValue);
printf("Stream bitrate : ");
printf(ltoa(lValue, temp, 10));
printf("\n");
// Get the maximum latency (time in milliseconds) between stream reception and display
IltmmWMStreamConfig__get_BufferWindow(pStreamConfig, &lValue);
printf("Stream buffer window : ");
printf(ltoa(lValue, temp, 10));
printf("\n");
// Get the major type of the media in the stream
IltmmWMStreamConfig__get_Type(pStreamConfig, &bstrString);
printf("Major type of the stream media : ");
printf(OLE2A(bstrString));
printf("\n");
SysFreeString(bstrString);
// Get the maximum key frame time interval (in 100-nano seconds)
IltmmWMStreamConfig__get_MaxKeyFrameSpacing(pStreamConfig, &fValue);
printf("Maximum key frame time interval : ");
sprintf(temp, "%.Ef", fValue);
printf(temp);
printf("\n");
// Get the Quality, range from 0 to 100
// where zero denotes maximum frame rate and 100 denotes maximum quality.
IltmmWMStreamConfig__get_Quality(pStreamConfig, &lValue);
printf("Stream quality : ");
printf(ltoa(lValue, temp, 10));
if(lValue == -1)
printf(" ...(Unknown)");
printf("\n\n");
IltmmWMStreamConfig_Release(pStreamConfig);
}
IltmmWMProfile_Release(pProfile);
}