int EarlabModuleInstance::Start(void)
{
	int result;

	if ((mStart != NULL) && (mInstance != NULL))
		result = (*mStart)(mInstance, mInputCount, mInputStreamTypes, mInputSize, mOutputCount, mOutputStreamTypes, mOutputSize, mOutputElementCounts);
	else
		return 0;

	CreateOutputStreams();
	return result;
}
Esempio n. 2
0
BOOL CBaseOperation::OpenOutputFile(PCHAR outputFilename)
{
	if (!GuessOutputFormat(m_outputFmtCtx, outputFilename))
		return FALSE;

	CreateOutputStreams(m_outputFmtCtx);

	//Open outputfile, if return "<0" exit
	if (avio_open(&m_outputFmtCtx->pb, outputFilename, AVIO_FLAG_WRITE) < 0){
		m_errorCode = ErrorCode::OpenOutputFileError;
		return FALSE;
	}
	//Write header of output file
	avformat_write_header(m_outputFmtCtx, nullptr);

	return TRUE;
}
int EarlabModuleInstance::Start(int NumInputs,  EarlabDataStreamType InputTypes[EarlabMaxIOStreamCount],  int InputSize[EarlabMaxIOStreamCount][EarlabMaxIOStreamDimensions], 
								int NumOutputs, EarlabDataStreamType OutputTypes[EarlabMaxIOStreamCount], int OutputSize[EarlabMaxIOStreamCount][EarlabMaxIOStreamDimensions],
								unsigned int OutputElementCounts[EarlabMaxIOStreamCount])
{
	int result;

	if ((mStart != NULL) && (mInstance != NULL))
		result = (*mStart)(mInstance, NumInputs, InputTypes, InputSize, NumOutputs, OutputTypes, OutputSize, OutputElementCounts);
	else
		return 0;

	mInputCount = NumInputs;
	mOutputCount = NumOutputs;
	memcpy(mInputSize, InputSize, sizeof(mInputSize));
	memcpy(mOutputSize, OutputSize, sizeof(mOutputSize));
	memcpy(mInputStreamTypes, InputTypes, sizeof(mInputStreamTypes));
	memcpy(mOutputStreamTypes, OutputTypes, sizeof(mOutputStreamTypes));
	memcpy(mOutputElementCounts, OutputElementCounts, sizeof(mOutputElementCounts));

	CreateOutputStreams();
	return result;
}