示例#1
0
文件: mgm.c 项目: Sappharad/mgba
bool GBAMGMSetStream(struct GBAMGMContext* mgm, struct VDir* stream) {
	if (mgm->movieStream && !mgm->movieStream->close(mgm->movieStream)) {
		return false;
	}

	if (mgm->metadataFile && !mgm->metadataFile->close(mgm->metadataFile)) {
		return false;
	}

	mgm->streamDir = stream;
	mgm->metadataFile = mgm->streamDir->openFile(mgm->streamDir, METADATA_FILENAME, O_CREAT | O_RDWR);
	mgm->currentInput = INVALID_INPUT;
	if (!_parseMetadata(mgm, mgm->metadataFile)) {
		mgm->metadataFile->close(mgm->metadataFile);
		mgm->metadataFile = 0;
		mgm->maxStreamId = 0;
	}
	mgm->streamId = 1;
	mgm->movieStream = 0;
	return true;
}
示例#2
0
文件: rr.c 项目: MoochMcGee/mgba
bool GBARRInitStream(struct GBARRContext* rr, struct VDir* stream) {
	if (rr->movieStream && !rr->movieStream->close(rr->movieStream)) {
		return false;
	}

	if (rr->metadataFile && !rr->metadataFile->close(rr->metadataFile)) {
		return false;
	}

	rr->streamDir = stream;
	rr->metadataFile = rr->streamDir->openFile(rr->streamDir, METADATA_FILENAME, O_CREAT | O_RDWR);
	rr->currentInput = INVALID_INPUT;
	if (!_parseMetadata(rr, rr->metadataFile)) {
		rr->metadataFile->close(rr->metadataFile);
		rr->metadataFile = 0;
		rr->maxStreamId = 0;
	}
	rr->streamId = 1;
	rr->movieStream = 0;
	return true;
}