int g_argc;
char ** g_argv;
bool g_isChild=false;
char INPUTURL[512]={'\0'};

int main(int argc ,char ** argv)
{
	g_argc=argc;
	g_argv=argv;
	if(strcmp(argv[argc-1],"c")==0)
	{
		g_isChild=true;
	}

	if(g_isChild==false)
	{
		if(argc!=2)
		{
			printf("Usage:%s videoFilePath\n",argv[0]);
			return 1;
		}
	}





LPCSTR lpAppName="slice_up";
	LPCSTR lpKeyName="write_index";
	LPCSTR lpString=NULL;
	LPCSTR lpFileName="ParentPassToChildValue.ini";
	char tmpBuf[100];
	memset(tmpBuf,0,100);
	if(g_isChild==false)
	{//(parent)
	    write_index = !write_index_file(first_segment, last_segment, 0, actual_segment_durations);
		lpString=itoa(write_index,tmpBuf,10);
		BOOL bRet=WritePrivateProfileStringA(lpAppName,lpKeyName,lpString,lpFileName); 
		if(bRet==0)
		{
			printf("Could not write ini file, [%d]\n",GetLastError());
		}
		//fork
		STARTUPINFOA si = { sizeof(si) };   
		PROCESS_INFORMATION pi;     
		si.dwFlags = STARTF_USESHOWWINDOW;   
		si.wShowWindow = TRUE; //TRUE表示显示创建的进程的窗口  
		char cmdline[512];// 
		char *p=cmdline;
		for(int i=0;i<g_argc;i++)
		{
			sprintf(p,"%s ",g_argv[i]);
			p=p+strlen(g_argv[i])+1;
		}
		*p++='c';
		*p='\0';
		bRet = ::CreateProcessA (   
			NULL,  
			cmdline, //在Unicode版本中此参数不能为常量字符串,因为此参数会被修改    
			NULL,   
			NULL,   
			FALSE,   
			CREATE_NEW_CONSOLE,   
			NULL,   
			NULL,   
			&si,   
			&pi);       
		if(bRet)   
		{   
			::CloseHandle (pi.hThread);   
			::CloseHandle (pi.hProcess);     
			//printf(" 新进程的进程ID号:%d /n", pi.dwProcessId);   
			//printf(" 新进程的主线程ID号:%d /n", pi.dwThreadId);   
		}   
		else  
		{  
			int error = GetLastError();  
			printf("CreateProcess error code:%d\n",error );  
		}

		uinit_mux();

	}//g_isChild is false(parent)
	else
	{//g_isChild is true
		DWORD size=GetPrivateProfileStringA(lpAppName,lpKeyName,"0",tmpBuf,100,lpFileName); 
		write_index=atoi(tmpBuf); 
	    ///