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

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

?? ufilterutils.cpp

?? 實現視頻點播功能,c_s結構,服務器端共享文件,客戶端可以播放,媒體數據傳輸通過RTP協議,播放通過Directshow
?? 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一区二区三区免费野_久草精品视频
蜜臀av一级做a爰片久久| 亚洲精品午夜久久久| 欧美二区乱c少妇| 99精品视频一区二区三区| 国产成人av网站| 国产乱一区二区| 国产一区二区在线看| 久久99精品久久久久婷婷| 热久久一区二区| 九九在线精品视频| 国产一区二区三区av电影| 久久国产精品色| 国产精品一二二区| 成人成人成人在线视频| 99精品视频在线观看免费| 97久久久精品综合88久久| 91久久精品网| 日韩三级视频中文字幕| 欧美mv日韩mv国产网站| 日本一区二区三区高清不卡 | 国产精品全国免费观看高清| 国产精品乱人伦中文| 亚洲激情在线播放| 日韩av二区在线播放| 国产精品一区免费在线观看| 97se亚洲国产综合在线| 精品视频一区三区九区| 欧美精品一区二区三区很污很色的| 久久精品视频在线免费观看| 亚洲精品日韩综合观看成人91| 五月激情综合婷婷| 国产成人精品免费一区二区| 色菇凉天天综合网| 337p日本欧洲亚洲大胆精品| 日韩久久一区二区| 激情五月激情综合网| 99久久综合狠狠综合久久| 欧美疯狂性受xxxxx喷水图片| 久久综合色之久久综合| 一级女性全黄久久生活片免费| 麻豆精品一区二区| 91久久精品一区二区三| 国产亚洲制服色| 亚洲影院在线观看| 国产电影精品久久禁18| 欧美老年两性高潮| 国产精品五月天| 激情综合一区二区三区| 欧美在线free| 亚洲国产高清aⅴ视频| 奇米影视7777精品一区二区| 色综合激情五月| 国产亚洲欧洲997久久综合| 日韩精品一二三四| 在线视频你懂得一区| 国产精品热久久久久夜色精品三区 | 99riav久久精品riav| 久久综合久色欧美综合狠狠| 视频一区国产视频| 欧美日韩精品欧美日韩精品一综合| 国产精品久久久久久亚洲伦| 激情五月婷婷综合网| 制服丝袜激情欧洲亚洲| 一区二区免费看| 91蝌蚪国产九色| 亚洲国产精品国自产拍av| 韩国三级电影一区二区| 精品美女在线播放| 另类专区欧美蜜桃臀第一页| 日韩精品影音先锋| 蜜臀精品久久久久久蜜臀| 欧美疯狂做受xxxx富婆| 日韩av网站免费在线| 日韩欧美国产wwwww| 蜜臀久久99精品久久久久久9| 51午夜精品国产| 男男视频亚洲欧美| 欧美一级一区二区| 麻豆专区一区二区三区四区五区| 日韩欧美综合在线| 国内精品久久久久影院色| 日韩精品一区二区三区swag| 国产自产高清不卡| 国产欧美日韩在线观看| 波多野结衣精品在线| 亚洲精品日韩一| 在线不卡中文字幕播放| 另类人妖一区二区av| 国产日韩v精品一区二区| 成人午夜又粗又硬又大| 一区二区三区视频在线观看| 欧美日韩成人激情| 九九国产精品视频| 中文字幕乱码一区二区免费| 色综合久久九月婷婷色综合| 亚洲午夜精品网| 日韩欧美国产电影| 成人免费av网站| 亚洲成a人片综合在线| 26uuu精品一区二区| 97se亚洲国产综合在线| 天天免费综合色| 国产日韩欧美a| 欧美日韩国产小视频| 国产综合色视频| 一区二区三区在线视频免费观看| 777午夜精品视频在线播放| 国产精品影音先锋| 一区二区三区四区高清精品免费观看| 欧美一级生活片| 91看片淫黄大片一级在线观看| 天堂蜜桃91精品| 亚洲欧洲99久久| 精品少妇一区二区三区免费观看 | 亚洲国产精品一区二区www在线| 日韩视频一区二区三区在线播放| 国产·精品毛片| 视频精品一区二区| **性色生活片久久毛片| 精品国精品自拍自在线| 在线看一区二区| 国产成人一区在线| 天天综合日日夜夜精品| 亚洲人一二三区| 久久综合久久99| 欧美久久一区二区| 97久久精品人人做人人爽| 国产一区二区精品久久99| 亚洲第一福利视频在线| 综合分类小说区另类春色亚洲小说欧美| 欧美精品xxxxbbbb| 色婷婷久久久久swag精品| 国产毛片精品视频| 免费av成人在线| 亚洲 欧美综合在线网络| 中文字幕在线免费不卡| 国产欧美一区二区精品忘忧草| 欧美一卡二卡三卡| 欧美剧情片在线观看| 欧美日韩日本视频| 在线观看中文字幕不卡| 色哟哟国产精品| 一本色道**综合亚洲精品蜜桃冫| 国产福利精品一区二区| 国产露脸91国语对白| 久久99精品一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅 | 在线免费观看不卡av| 色哟哟一区二区在线观看| 91在线一区二区| 91麻豆产精品久久久久久| av电影在线观看一区| 99v久久综合狠狠综合久久| av午夜精品一区二区三区| 99视频精品全部免费在线| 91一区二区三区在线播放| 99精品国产99久久久久久白柏| 成人av影视在线观看| av亚洲精华国产精华精华| 色综合久久中文综合久久牛| 在线中文字幕一区| 欧美日韩亚洲综合在线 | 国产欧美日韩激情| 久久久精品天堂| 国产精品久久久久影院老司 | 国产美女在线观看一区| 韩国成人福利片在线播放| 国产呦精品一区二区三区网站| 国产在线国偷精品免费看| 风间由美一区二区三区在线观看| 成人丝袜18视频在线观看| 99国产精品久| 这里只有精品电影| 久久嫩草精品久久久精品一| 中文字幕一区二区三区四区不卡| 亚洲另类在线制服丝袜| 日韩综合一区二区| 美女一区二区三区| 国产91丝袜在线播放| 色婷婷精品大视频在线蜜桃视频| 欧美理论电影在线| 久久精品夜色噜噜亚洲a∨ | 日韩一级二级三级| 国产欧美日韩在线看| 夜夜精品浪潮av一区二区三区| 蜜臀91精品一区二区三区 | 欧美日韩精品一区二区在线播放| 欧美mv日韩mv亚洲| 亚洲欧美日韩国产中文在线| 青青草国产精品97视觉盛宴 | 欧美午夜视频网站| 欧美成人vps| 亚洲另类在线制服丝袜| 精品夜夜嗨av一区二区三区| 91在线国内视频| 精品久久久影院| 亚洲最新在线观看| 国产精品一二三四| 欧美一区二区三区在线视频| 亚洲色图19p|