现在的位置: 首页 > 综合 > 正文

获取pin支持的媒体类型

2013年08月15日 ⁄ 综合 ⁄ 共 774字 ⁄ 字号 评论关闭

获取Pin媒体类型的函数:
ENUM_PIN_MEDIA   GetPinMediaType(IPin   *apPin)
{
ENUM_PIN_MEDIA   lPinMedia   =   PIN_UNKNOWN;

if   (apPin)
{
IEnumMediaTypes   *lpEnumTypes   =   NULL;
if   (SUCCEEDED(apPin-> EnumMediaTypes(&lpEnumTypes)))
{
lpEnumTypes-> Reset();

AM_MEDIA_TYPE   *lpMediaType   =   0;
ULONG   lulFetchCount   =   0;
if   (SUCCEEDED(lpEnumTypes-> Next(1,   &lpMediaType,   &lulFetchCount))   &&   lulFetchCount)
{
if   (lpMediaType)
{
if   (lpMediaType-> majortype   ==   MEDIATYPE_Video)
{
lPinMedia   =   PIN_VIDEO;
}
else   if   (lpMediaType-> majortype   ==   MEDIATYPE_Audio)
{
lPinMedia   =   PIN_AUDIO;
}
else   if   (lpMediaType-> majortype   ==   MEDIATYPE_Interleaved)
{
lPinMedia   =   PIN_INTERLEAVED;
}
else   if   (lpMediaType-> majortype   ==   MEDIATYPE_Stream)
{
lPinMedia   =   PIN_STREAM;
}

DeleteMediaType(lpMediaType);
lpMediaType   =   NULL;
}
}
lpEnumTypes-> Release();
}
}

return   lPinMedia;
}

抱歉!评论已关闭.