获取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;
}
获取pin支持的媒体类型
最新推荐文章于 2021-01-09 13:16:16 发布