コード例 #1
0
ファイル: test.c プロジェクト: wht214035553/log
int main(int argc, char **argv)
{
	int ret = 0;
	LEVEL level = LOG_TRACE;
	OUTWAY outway = OUT_FILE;

	//测试未初始化就使用PRINTFLOG的情况
	ret = PRINTLOG(LOG_TRACE, "未初始化\n");
	printf("未初始化 返回值=%d\n", ret);

	//正常的使用方法
	InitLog(level, outway);
	ret = PRINTLOG(LOG_TRACE, ">>%s %s %d %s\n",__TIME__,  __FILE__, __LINE__, __FUNCTION__);
	printf("输出级别和初始化级别相同 返回值=%d\n", ret);
	PRINTLOG(LOG_TRACE, "<<%s %s %d %s\n",__TIME__,  __FILE__, __LINE__, __FUNCTION__);
	FreeLog();

	sleep(1);

	//输出级别不同于初始化级别的测试
	level = LOG_INFO;
	InitLog(level, outway);
	ret = PRINTLOG(LOG_TRACE, " %s %s %d %s\n",__TIME__,  __FILE__, __LINE__, __FUNCTION__);
	printf("输出级别低于初始化级别 返回值=%d\n", ret);
	PRINTLOG(LOG_WARNING, " %s %s %d %s\n",__TIME__,  __FILE__, __LINE__, __FUNCTION__);
	FreeLog();

	sleep(1);

	//测试多线程
	level = LOG_TRACE;
	InitLog(level, outway);
	
	pthread_t t1, t2;
	pthread_create(&t1, NULL, testThreadOne, NULL);
	pthread_create(&t2, NULL, testThreadTwo, NULL);

	pthread_join(t1, NULL);
	pthread_join(t2, NULL);
	
	FreeLog();
	return 0;
}
コード例 #2
0
ファイル: main.c プロジェクト: wht214035553/desktop_live
int main()
{
	int ret = 0;
	ret = InitLog(LOG_DEBUG, OUT_FILE);
	//ret = InitLog(LOG_DEBUG, OUT_STDOUT);
	PRINTLOG(LOG_DEBUG, "%s%d\n", "wuhongtao", 123, 999);
	PRINTLOG(LOG_DEBUG, "%s%d\n", "wuhongtao");
	PRINTLOG(LOG_DEBUG, "%s%d\n", "wuhongtao", 789);
	PRINTLOG(LOG_DEBUG, "%s %d %s\n", __FILE__, __LINE__, __FUNCTION__);
	FreeLog();
	_CrtDumpMemoryLeaks();
	return 0;
}
コード例 #3
0
ファイル: Cedar.c プロジェクト: benapetr/SoftEtherVPN
// Stop Cedar log
void StopCedarLog()
{
	if (cedar_log_ref == NULL)
	{
		return;
	}

	if (Release(cedar_log_ref) == 0)
	{
		FreeLog(cedar_log);
		cedar_log = NULL;
		cedar_log_ref = NULL;
	}
}
コード例 #4
0
ファイル: ssdt.c プロジェクト: 340211173/Gold
void SSDTUnload( PDRIVER_OBJECT pDriverObject )
{
	UNICODE_STRING	usDosDeviceName;
	if (Prot)
	    CmUnRegisterCallback(Cookie);
	if (EventKernelSet)
	{
		ObDereferenceObject(EventKernelSet);
		EventKernelSet=NULL;
	}
	if (EventKernelWait)
	{
		ObDereferenceObject(EventKernelWait);
		EventKernelWait=NULL;
	}
	RtlInitUnicodeString( &usDosDeviceName, DEVICE_NAME );
	IoDeleteSymbolicLink( &usDosDeviceName );
	IoDeleteDevice( pDriverObject->DeviceObject );
	FreeLog();
	
	DbgPrint( "SSDT: Unload Success!" );
}
コード例 #5
0
ファイル: CmdLog.cpp プロジェクト: zzydog/OllyDog
CCmdLog::~CCmdLog() 
{
	if (--m_nReffer <= 0) {
		FreeLog(); m_uStatus = CMDLOG_INVALID;
	}
}
コード例 #6
0
ファイル: Cedar.c プロジェクト: benapetr/SoftEtherVPN
// Clean up Cedar
void CleanupCedar(CEDAR *c)
{
	UINT i;
	// Validate arguments
	if (c == NULL)
	{
		return;
	}

	WuFreeWebUI(c->WebUI);
	FreeCedarLayer3(c);

/*
	for (i = 0;i < LIST_NUM(c->HubList);i++)
	{
		HUB *h = LIST_DATA(c->HubList, i);
	}
*/
	for (i = 0;i < LIST_NUM(c->CaList);i++)
	{
		X *x = LIST_DATA(c->CaList, i);
		FreeX(x);
	}
	ReleaseList(c->CaList);

	ReleaseList(c->ListenerList);
	ReleaseList(c->HubList);
	ReleaseList(c->ConnectionList);
	//CleanupUDPEntry(c);
	ReleaseList(c->UDPEntryList);
	DeleteLock(c->lock);
	DeleteCounter(c->ConnectionIncrement);
	DeleteCounter(c->CurrentSessions);

	if (c->DebugLog != NULL)
	{
		FreeLog(c->DebugLog);
	}

	if (c->ServerX)
	{
		FreeX(c->ServerX);
	}
	if (c->ServerK)
	{
		FreeK(c->ServerK);
	}

	if (c->CipherList)
	{
		Free(c->CipherList);
	}

	for (i = 0;i < LIST_NUM(c->TrafficDiffList);i++)
	{
		TRAFFIC_DIFF *d = LIST_DATA(c->TrafficDiffList, i);
		Free(d->Name);
		Free(d->HubName);
		Free(d);
	}

	ReleaseList(c->TrafficDiffList);

	Free(c->ServerStr);
	Free(c->MachineName);

	Free(c->HttpUserAgent);
	Free(c->HttpAccept);
	Free(c->HttpAcceptLanguage);
	Free(c->HttpAcceptEncoding);

	FreeTraffic(c->Traffic);

	DeleteLock(c->TrafficLock);

	FreeNetSvcList(c);

	Free(c->VerString);
	Free(c->BuildInfo);

	FreeLocalBridgeList(c);

	DeleteCounter(c->AssignedBridgeLicense);
	DeleteCounter(c->AssignedClientLicense);

	FreeNoSslList(c);

	DeleteLock(c->CedarSuperLock);

	DeleteCounter(c->AcceptingSockets);

	ReleaseIntList(c->UdpPortList);

	DeleteLock(c->OpenVPNPublicPortsLock);

	DeleteLock(c->CurrentRegionLock);

	DeleteLock(c->CurrentTcpQueueSizeLock);
	DeleteLock(c->QueueBudgetLock);
	DeleteLock(c->FifoBudgetLock);

	DeleteCounter(c->CurrentActiveLinks);

	Free(c);
}
コード例 #7
0
ファイル: main.c プロジェクト: wht214035553/desktop_live
int main(int argc, char **argv)
{
	int ret = -1;
	uint8_t *data = NULL;
	unsigned long size = 0;
	int times = 0;
	int width = 0;
	int height = 0;
	char *dest = NULL;
	unsigned long dest_size = 0;
	long long pts = 0;
	long long dts = 0;
	AUDIOPACKET ap[30] = {0};
	int ap_len = 0;
	int i = 0;
	CAPTURECONFIG captureConfig;
	PCAPTURECONFIG pCaptureConfig = &captureConfig;
	ENCODECONFIG encodeConfig;
	PENCODECONFIG pEncodeConfig = &encodeConfig;
	PENCODER pEncoder;
	PCAPTURE pCapture;
	DWORD start_time, end_time;
	pCaptureConfig->fps = 5;
	pCaptureConfig->channels = 2;
	pCaptureConfig->bits_per_sample = 16;
	pCaptureConfig->samples_per_sec = 48000;
	pCaptureConfig->avg_bytes_per_sec = 48000;

	pEncodeConfig->fps = 5;
	pEncodeConfig->width = 1366;
	pEncodeConfig->height = 768;
	pEncodeConfig->bit_rate = 400000;
	pEncodeConfig->channels = 2;
	pEncodeConfig->bits_per_sample = 16;
	pEncodeConfig->sample_rate = 48000;
	pEncodeConfig->avg_bytes_per_sec = 48000;
	pEncodeConfig->record = 1;

	memcpy(pEncodeConfig->record_file, "D:\\desktop_live.mp4", 20);

	InitLog(LOG_DEBUG, OUT_FILE);

	pCapture = InitCapture(pCaptureConfig);
	if (NULL == pCapture)
	{
		printf("init capture failed\n");
		return -1;
	}

	pEncoder = InitEncoder(pEncodeConfig);
	if (NULL == pEncoder)
	{
		printf("init encoder failed\n");
		return -1;
	}

	ret = StartCapture(pCapture);
	if (SECCESS != ret)
	{
		printf("start capture failed\n");
		return -1;
	}

	start_time = end_time = timeGetTime();
	while(10*1000 > (end_time - start_time))
	{
		if (SECCESS == GetVideoFrame(pCapture, &data, &size, &width, &height))
		{
			ret = EncodeVideo(pEncoder, data, width, height, &dest, &dest_size, &pts, &dts);
			if (ret == SECCESS)
			{
				free(dest);
			}

			times++;
			printf("video data size = %d\n", size);
			free(data);
		}

		if (SECCESS == GetAudioFrame(pCapture, &data, &size))
		{
			ap_len = 0;
			ret = EncodeAudio(pEncoder, data, size, ap, &ap_len);
			if (ret == SECCESS)
			{
				for (i=0; i<ap_len; i++)
				{
					free(ap[i].data);
				}
			}

			printf("audio data size = %d\n", size);
			free(data);
		}

		end_time = timeGetTime();
	}

	StopCapture(pCapture);
	FreeCapture(pCapture);

	FflushEncoder(pEncoder);
	FreeEncoder(pEncoder);

	FreeLog();
	_CrtDumpMemoryLeaks();
	return 0;
}