Beispiel #1
0
int openMicAndStartRecording(DWORD threadId)
{
	int i;

	WAVEFORMATEX m_WaveFormatEx = getDefaultFormat();

	if( MMSYSERR_NOERROR != waveInOpen(&g_recordHandler,WAVE_MAPPER,&m_WaveFormatEx,threadId,0,CALLBACK_THREAD)){
		printf("ER1!\n");
		return -1;
	}

	for(i=0; i<MAXRECBUFFER; i++){
		rechead[i]=CreateWaveHeader();
		if(MMSYSERR_NOERROR != waveInPrepareHeader(g_recordHandler,rechead[i], sizeof(WAVEHDR)) ){
			printf("ER2!   i=%d\n", i);
			return -1;
		}

		if(MMSYSERR_NOERROR != waveInAddBuffer(g_recordHandler, rechead[i], sizeof(WAVEHDR))){
			printf("ER3!\n");
			return -1;
		}

		if(MMSYSERR_NOERROR != waveInStart(g_recordHandler)){
			printf("ER4!\n");	
			return -1;
		}
	}

	printf("Start recording OK!\n");
	return 0;
}
IterateResult NumLayersTest::build (FboBuilder& builder)
{
	TextureLayered* texCfg = DE_NULL;
	const GLenum target = GL_COLOR_ATTACHMENT0;

	switch (m_params.textureKind)
	{
		case GL_TEXTURE_3D:
			texCfg = &builder.makeConfig<Texture3D>();
			break;
		case GL_TEXTURE_2D_ARRAY:
			texCfg = &builder.makeConfig<Texture2DArray>();
			break;
		default:
			DE_ASSERT(!"Impossible case");
	}
	texCfg->internalFormat = getDefaultFormat(target, GL_TEXTURE);
	texCfg->width = 64;
	texCfg->height = 64;
	texCfg->numLayers = m_params.numLayers;
	const GLuint tex = builder.glCreateTexture(*texCfg);

	TextureLayerAttachment* att = &builder.makeConfig<TextureLayerAttachment>();
	att->layer = m_params.attachmentLayer;
	att->imageName = tex;

	builder.glAttach(target, att);

	return STOP;
}