⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 microavbrowser.c

📁 Sigma SMP8634 Mrua v. 2.8.2.0
💻 C
字号:
/* *-------------------------------------------------------------------- * * COPYRIGHT (c)  2002-2004  INTEL CORPORATION.      ALL  RIGHTS  * RESERVED.  THIS  PROGRAM IS  FURNISHED  UNDER  LICENSE  AND MAY * ONLY BE USED OR  COPIED IN  ACCORDANCE WITH  THE  TERMS OF THAT  * LICENSE.  NO  PART  OF THIS  PROGRAM  OR  PUBLICATION  MAY  BE * REPRODUCED,  TRANSMITTED,  TRANSCRIBED,  STORED IN  A RETRIEVAL  * SYSTEM, OR  TRANSLATED INTO ANY  LANGUAGE OR COMPUTER  LANGUAGE  * IN ANY FORM OR BY  ANY MEANS, ELECTRONIC, MECHANICAL, MAGNETIC, * OPTICAL,  CHEMICAL, MANUAL, OR  OTHERWISE,  WITHOUT  THE  PRIOR  * WRITTEN PERMISSION OF INTEL  CORPORATION.  EXCEPT AS  EXPRESSLY * GRANTED IN A LICENSE AGREEMENT, THIS PROGRAM IS FURNISHED "AS-IS" * WITH NO WARRANTY WHATSOEVER, INCLUDING IMPLIED WARRANTIES OF * MERCHANTABILITY,  FITNESS FOR A  PARTICULAR PURPOSE,   AND NON- * INFRINGEMENT.     *            *-------------------------------------------------------------------- *     File Name: MicroAVBrowser.c *     Author:    Intel Corporation * */#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <string.h>#ifdef WIN32#include <crtdbg.h>#include "WinSemaphore.h"#endif#ifdef _POSIX#include <signal.h>#include <time.h>#include <unistd.h>#include <pthread.h>#include <sys/select.h>#include <sys/time.h>#include <sys/types.h>#endif#include "ILibParsers.h"#include "CommandLineShell.h"/* #### Begin CARDEA code #### */#define ALLOW_OS_CODE#include "rmdef/rmdef.h"#include "rmupnp/rmlibwmdrmndupnp/include/ms_upnp.h"#include "intel_upnp.h"/* #### End CARDEA code #### */#ifdef _DEBUG#define DEBUGONLY(x) x#else#define DEBUGONLY(x)#endifvoid *BrowserChain;void *BrowserLTM;struct cl_chain {	void (*PreSelect)(void* object,fd_set *readset, fd_set *writeset, fd_set *errorset, int* blocktime);	void (*PostSelect)(void* object,int slct, fd_set *readset, fd_set *writeset, fd_set *errorset);	void (*Destroy)(void* object);};#ifdef _POSIXstatic void* Run(void* arg){	CLShell_Run();	ILibStopChain(BrowserChain);	return NULL;}#endif#ifdef WIN32// this is the run method for the shell threadDWORD WINAPI Run(LPVOID args){	CLShell_Run();	ILibStopChain(BrowserChain);	return 0;}#endifstatic void cl_preselect(void* object,fd_set *readset, fd_set *writeset, fd_set *errorset, int* blocktime){	FD_SET(STDIN_FILENO, readset);}static void cl_postselect(void* object,int slct, fd_set *readset, fd_set *writeset, fd_set *errorset){	int status = 0;		if ( FD_ISSET(STDIN_FILENO, readset) ){		status = CLShell_Run();	}	if (status < 0)		ILibStopChain(BrowserChain);}static void cl_destroy(void* object){	printf("destroying CLI\n");	intel_upnp_uninit();}int main(void){	struct cl_chain *command_line;#ifdef _POSIX	pthread_t newThread;#endif#ifdef WIN32	_CrtSetDbgFlag (		_CRTDBG_ALLOC_MEM_DF       | 		_CRTDBG_DELAY_FREE_MEM_DF  |		_CRTDBG_LEAK_CHECK_DF      		);#endif	// Output for program identification....	printf("Media Browser Sample Application Client\r\n");	/* #### Begin CARDEA code #### */	RMSignalInit(NULL, NULL);	if ( RMFAILED(intel_upnp_init()) ) {		printf("Unable to initialize rmupnp layer\n");		return -1;	}	/* #### End CARDEA code #### */	BrowserChain = ILibCreateChain();	BrowserLTM = ILibCreateLifeTime(BrowserChain);	CLShell_Init(BrowserChain);	/* Add an object for command line */	command_line = (struct cl_chain *) malloc(sizeof(struct cl_chain));	command_line->PreSelect = cl_preselect;	command_line->PostSelect = cl_postselect;	command_line->Destroy = cl_destroy;	ILibAddToChain(BrowserChain, (void *)command_line);#ifdef _POSIX	/* pthread_create(&newThread, NULL, &Run, NULL);	pthread_detach(newThread); */#endif#ifdef WIN32	// Start the user interface thread	CreateThread(NULL,0,&Run,NULL,0,NULL);#endif	// go into the event loop.  This call will return when	// it's time to shutdown the application	ILibStartChain(BrowserChain); 		CLShell_Uninit();		return 0;}struct RMFileStreamInfo;// callback to pass stream information to the application, DRM protected, number of chapters, etcvoid RMFileStreamInfoCallback(struct RMFileStreamInfo *streamInfo){	// doing nothing}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -