亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ufilterutils.cpp

?? 采用DirecShow通過網絡傳輸實現遠程視頻動態播放,
?? CPP
字號:
//
// UFilterUtils.cpp
//

/*-----------------------------------------------------*\
			HQ Tech, Make Technology Easy!       
 More information, please go to http://hqtech.nease.net.
/*-----------------------------------------------------*/

#include "stdafx.h"
#include <streams.h>
#include "UFilterUtils.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

////////////////////////////////////////////////////////////////////////////
IPin * UFilterUtils::GetPin(IBaseFilter * inFilter, BOOL inInput, 
							const char * inPartialName)
{
	PIN_DIRECTION direction = inInput ? PINDIR_INPUT : PINDIR_OUTPUT;
	IPin * foundPin = NULL;

	if (inFilter)
	{
		IEnumPins * pinEnum = NULL;
		if (SUCCEEDED(inFilter->EnumPins(&pinEnum)))
		{
			pinEnum->Reset();

			IPin * pin = NULL;
			ULONG fetchCount = 0;
			while (!foundPin && SUCCEEDED(pinEnum->Next(1, &pin, &fetchCount)) && fetchCount)
			{
				if (pin)
				{
					PIN_INFO pinInfo;
					if (SUCCEEDED(pin->QueryPinInfo(&pinInfo)))
					{
						if (pinInfo.dir == direction)
						{
							// Ignore the pin name
							if (!inPartialName)
							{
								pin->AddRef();
								foundPin = pin;
							}
							else
							{
								char pinName[128];
								::WideCharToMultiByte(CP_ACP, 0, pinInfo.achName, 
									-1,	pinName, 128, NULL, NULL);
								if (::strstr(pinName, inPartialName))
								{
									pin->AddRef();
									foundPin = pin;
								}


                                if (foundPin == NULL) 
								{ 
                                     if (strcmp(inPartialName, "Capture") == 0) 
									 { 
                                            if (::strstr(pinName, "捕獲")) 
											{ 
                                                pin->AddRef(); 
                                                foundPin = pin; 
											} 
									 } 
								} 


							}
						}
						pinInfo.pFilter->Release();
					}
					pin->Release();
				}
			}
			pinEnum->Release();
		}
	}

	// We don't keep outstanding reference count
	if (foundPin)
	{
		foundPin->Release();
	}
	return foundPin;
}

IPin * UFilterUtils::GetUnconnectedPin(IBaseFilter * inFilter, BOOL inInput)
{
	PIN_DIRECTION direction = inInput ? PINDIR_INPUT : PINDIR_OUTPUT;
	IPin * foundPin = NULL;

	if (inFilter)
	{
		IEnumPins * pinEnum = NULL;
		if (SUCCEEDED(inFilter->EnumPins(&pinEnum)))
		{
			pinEnum->Reset();

			IPin * pin = NULL;
			ULONG fetchCount = 0;
			while (!foundPin && SUCCEEDED(pinEnum->Next(1, &pin, &fetchCount)) && fetchCount)
			{
				if (pin)
				{
					PIN_INFO pinInfo;
					if (SUCCEEDED(pin->QueryPinInfo(&pinInfo)))
					{
						pinInfo.pFilter->Release();
						if (pinInfo.dir == direction)
						{
							IPin * connected = NULL;
							pin->ConnectedTo(&connected);
							if (connected)
							{
								connected->Release();
							}
							else
							{
								pin->AddRef();
								foundPin = pin;
							}
						}						
					}
					pin->Release();
				}
			}
			pinEnum->Release();
		}
	}

	// We don't keep outstanding reference count
	if (foundPin)
	{
		foundPin->Release();
	}
	return foundPin;
}

BOOL UFilterUtils::GetPinCount(IBaseFilter * inFilter, 
							   int & outInputPin, 
							   int & outOutputPin)
{
	outInputPin  = 0;
	outOutputPin = 0;

	if (inFilter)
	{		
		IEnumPins * pinEnum = NULL;
		if (SUCCEEDED(inFilter->EnumPins(&pinEnum)))
		{
			pinEnum->Reset();

			IPin * pin = NULL;
			ULONG fetchCount = 0;
			while (SUCCEEDED(pinEnum->Next(1, &pin, &fetchCount)) && fetchCount)
			{
				if (pin)
				{
					PIN_INFO  pinInfo;
					if (SUCCEEDED(pin->QueryPinInfo(&pinInfo)))
					{
						pinInfo.pFilter->Release();
						if (pinInfo.dir == PINDIR_INPUT)
						{
							outInputPin++;
						}
						else
						{
							outOutputPin++;
						}
					}
					pin->Release();
				}
			}
			pinEnum->Release();
		}
		return TRUE;
	}

	return FALSE;
}

BOOL UFilterUtils::IsCompletelyConnected(IBaseFilter * inFilter)
{
	if (!inFilter)
	{
		return FALSE;
	}

	BOOL allConnected   = TRUE;
	IEnumPins * pinEnum = NULL;
	if (SUCCEEDED(inFilter->EnumPins(&pinEnum)))
	{
		pinEnum->Reset();

		IPin * pin = NULL;
		ULONG fetchCount = 0;
		while (SUCCEEDED(pinEnum->Next(1, &pin, &fetchCount)) && 
			fetchCount && allConnected)
		{
			if (pin)
			{
				pin->Release();

				IPin * connected = NULL;
				pin->ConnectedTo(&connected);
				if (connected)
				{
					connected->Release();
				}
				else
				{
					allConnected = FALSE;
				}				
			}
		}
		pinEnum->Release();
	}

	return allConnected;
}

// Pick up one of media types to determine pin type
PIN_MEDIA UFilterUtils::GetPinMediaType(IPin * inPin)
{
	PIN_MEDIA pinMedia = PIN_UNKNOWN;

	if (inPin)
	{
		IEnumMediaTypes * typeEnum = NULL;
		if (SUCCEEDED(inPin->EnumMediaTypes(&typeEnum)))
		{
			typeEnum->Reset();

			AM_MEDIA_TYPE * type = 0;
			ULONG     fetchCount = 0;
			if (SUCCEEDED(typeEnum->Next(1, &type, &fetchCount)) && fetchCount)
			{
				if (type)
				{
					if (type->majortype == MEDIATYPE_Video)
					{
						pinMedia = PIN_VIDEO;
					}
					else if (type->majortype == MEDIATYPE_Audio)
					{
						pinMedia = PIN_AUDIO;
					}
					else if (type->majortype == MEDIATYPE_Interleaved)
					{
						pinMedia = PIN_INTERLEAVED;
					}
					else if (type->majortype == MEDIATYPE_Stream)
					{
						pinMedia = PIN_STREAM;
					}

					DeleteMediaType(type);
					type = NULL;
				}
			}
			typeEnum->Release();
		}
	}

	return pinMedia;
}

BOOL UFilterUtils::HasMediaType(IPin * inPin, GUID inMajorType, GUID inSubType)
{
	return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道a无线码一区v| 奇米四色…亚洲| 亚洲一区二区三区国产| 亚洲精品免费电影| 免费观看成人鲁鲁鲁鲁鲁视频| 卡一卡二国产精品| 99精品久久久久久| 欧美成va人片在线观看| 亚洲欧美激情在线| 国产一区二区三区四区五区入口| 成人av电影在线观看| 777xxx欧美| 一区二区三区久久| 韩国女主播一区| 日本韩国视频一区二区| 久久亚洲精品国产精品紫薇| 亚洲图片一区二区| av在线不卡免费看| 久久午夜国产精品| 天天爽夜夜爽夜夜爽精品视频| 波多野结衣欧美| 国产欧美日韩激情| 免费国产亚洲视频| 91麻豆精品国产91久久久久久 | 中文字幕av不卡| 豆国产96在线|亚洲| 久久亚洲欧美国产精品乐播| 丝袜美腿一区二区三区| 日本丰满少妇一区二区三区| 亚洲欧洲日韩综合一区二区| 99精品久久久久久| 亚洲卡通动漫在线| 在线观看av一区| 一区二区三区电影在线播| 91在线视频观看| 一片黄亚洲嫩模| 欧美一卡二卡三卡四卡| 麻豆高清免费国产一区| 欧美一区二区福利在线| 久久国产精品区| 国产精品久久久久久久久久免费看 | 免费成人在线网站| 久久久影院官网| 成人蜜臀av电影| 亚洲自拍偷拍综合| 欧美夫妻性生活| 久久国产福利国产秒拍| 国产精品欧美极品| 欧美专区亚洲专区| 国产一区免费电影| 亚洲欧美区自拍先锋| 91精品啪在线观看国产60岁| 日本道色综合久久| 免费成人在线视频观看| 中文一区在线播放| 欧美亚洲自拍偷拍| 成人少妇影院yyyy| 日韩国产在线一| 国产精品久久综合| 精品国产一区二区在线观看| 在线一区二区三区四区五区| 精品综合免费视频观看| 亚洲国产综合视频在线观看| 欧美激情一区二区三区四区| 日韩写真欧美这视频| 91久久人澡人人添人人爽欧美| 精品写真视频在线观看| 亚洲成人一区在线| 亚洲乱码国产乱码精品精可以看| 久久久久久久久久久电影| 欧美日韩国产综合一区二区三区| 国产成人av资源| 国内精品久久久久影院薰衣草| 亚洲成av人片一区二区三区 | 成人毛片在线观看| 国产一区二区不卡| 毛片不卡一区二区| 日韩精品久久久久久| 亚洲福利视频三区| 日韩av电影一区| 青青草精品视频| 美女视频免费一区| 韩国成人福利片在线播放| 国产自产视频一区二区三区| 精品一区二区三区免费观看| 国产在线麻豆精品观看| 国产成人在线观看| bt欧美亚洲午夜电影天堂| 本田岬高潮一区二区三区| 91欧美一区二区| 在线观看免费一区| 久久综合久久综合亚洲| 欧美激情在线一区二区三区| 亚洲精品高清在线| 婷婷中文字幕综合| 国产一区二区三区四区五区美女| 99视频精品全部免费在线| 欧美色网站导航| 亚洲精品国产无套在线观| 另类小说综合欧美亚洲| 99久久综合99久久综合网站| 日韩丝袜情趣美女图片| 国产精品欧美久久久久无广告| 一区二区三区在线观看国产| 国产在线精品不卡| 欧美视频日韩视频| 2020国产精品自拍| 日本午夜精品一区二区三区电影| 国产福利91精品一区| 欧美一级一区二区| 一区二区三区四区精品在线视频 | 久久亚洲欧美国产精品乐播 | 3d动漫精品啪啪一区二区竹菊| 日本一区二区视频在线| 男人的天堂久久精品| 欧美色爱综合网| 自拍偷在线精品自拍偷无码专区 | 欧美精品日韩一区| 亚洲乱码国产乱码精品精98午夜| 国产一区91精品张津瑜| 8x福利精品第一导航| 亚洲v日本v欧美v久久精品| 91麻豆成人久久精品二区三区| 国产日韩精品久久久| 国产一区 二区| 中文字幕色av一区二区三区| 91丨porny丨国产| 亚洲一区电影777| 91精品国产免费| 九色porny丨国产精品| 欧美国产精品专区| 91精品办公室少妇高潮对白| 亚洲国产乱码最新视频| 精品视频一区二区不卡| 日本成人在线电影网| 久久精品在线免费观看| 99久久国产综合色|国产精品| 亚洲成在线观看| 久久综合九色综合欧美98| 国产成人久久精品77777最新版本| 中文av字幕一区| 4hu四虎永久在线影院成人| 国产精品中文字幕一区二区三区| 亚洲国产精品二十页| 欧美日韩精品一区二区| 成人夜色视频网站在线观看| 一个色在线综合| 精品粉嫩aⅴ一区二区三区四区| 波多野结衣中文字幕一区| 亚洲国产一区在线观看| 久久久久久久久久电影| 337p亚洲精品色噜噜| 成人a区在线观看| 蜜臀av性久久久久蜜臀av麻豆| 自拍视频在线观看一区二区| 久久综合色天天久久综合图片| 欧美色成人综合| 色婷婷综合久久久中文一区二区| 日本高清不卡一区| 一本大道久久a久久精二百| 国产一区二区在线观看免费| 午夜精品福利在线| 亚洲第一会所有码转帖| 亚洲亚洲精品在线观看| 综合电影一区二区三区| 亚洲欧洲日韩女同| 亚洲色图欧美激情| 一区二区在线观看免费视频播放| 亚洲国产精华液网站w| 国产欧美久久久精品影院| 精品国产a毛片| 精品国产乱码久久久久久影片| 日韩欧美不卡一区| xf在线a精品一区二区视频网站| 日韩欧美国产综合在线一区二区三区| 在线观看视频一区二区欧美日韩| 91麻豆国产精品久久| 欧美美女一区二区| 精品欧美一区二区三区精品久久| 欧美一级日韩不卡播放免费| 欧美一级日韩免费不卡| 国产日韩欧美亚洲| 一二三四区精品视频| 免费成人你懂的| 97精品久久久午夜一区二区三区| 97精品久久久午夜一区二区三区 | 成人免费高清视频| 欧美中文字幕一二三区视频| 欧美人牲a欧美精品| 国产日韩欧美精品电影三级在线| 亚洲免费在线视频一区 二区| 天堂一区二区在线免费观看| 精品成人佐山爱一区二区| 中文字幕欧美日韩一区| 亚洲乱码国产乱码精品精可以看| 亚洲h动漫在线| 国产综合色视频| 婷婷丁香激情综合| 国产盗摄一区二区| 欧美人与禽zozo性伦|