Пример #1
0
void data_store::save(std::string f_name)
{
	std::cout << "# Saving regridded data" << std::endl;
	std::ofstream out;
	out.open(f_name.c_str(), std::ios::out | std::ios::binary);
	if (!out)
		throw(std::string("Saving regridded data.  File could not be opened or written to: " + f_name));
	if (meta_data.size() != 0)
		write_meta_data(out, meta_data);
	// write out the number of time steps and indices
	write_int(out, n_t_steps);
	write_int(out, n_idxs);
	write_float(out, missing_value);
	// write the big array!
	out.write(reinterpret_cast<char*>(data), sizeof(FP_TYPE)*n_t_steps*n_idxs);
	out.close();
}
Пример #2
0
io_backend* unmount(fs_context* fs)
{
    release_inodes(*fs);
    close_eraseblks(*fs);
    write_meta_data(*fs);

    inode_cache_uninit(fs->inode_cache);
    summary_cache_uninit(fs->summary_cache);
    gcinfo_uninit(fs->gcinfo);

    delete[] fs->ino_status_map;
    delete[] fs->buf;

    io_backend* io_ctx = fs->io_ctx;
    delete fs;
    return io_ctx;
}
Пример #3
0
void tri_grid::save(std::string filename)
{
	std::cout << "# Saving mesh" << std::endl;
	std::ofstream out;
	out.open(filename.c_str(), std::ios::out | std::ios::binary);
	if (!out)
		throw(std::string("Saving mesh.  File could not be opened or written to: " + filename));
	// write out the meta data
	write_meta_data(out, meta_data);
	// write out the point cloud
	point_cloud_instance.save(out);
	// write out number of triangle roots
	write_int(out, triangles.size());
	// write out all the triangles
	for (unsigned int tri=0; tri<triangles.size(); tri++)
		save_node(out, triangles[tri]->get_root());
	out.close();
}
Пример #4
0
static void write_audio_header(struct flv_output *stream)
{
	obs_output_t  *context  = stream->output;
	obs_encoder_t *aencoder = obs_output_get_audio_encoder(context, 0);
	uint8_t       *header;

	struct encoder_packet packet   = {
		.type         = OBS_ENCODER_AUDIO,
		.timebase_den = 1
	};

	obs_encoder_get_extra_data(aencoder, &header, &packet.size);
	packet.data = bmemdup(header, packet.size);
	write_packet(stream, &packet, true);
}

static void write_video_header(struct flv_output *stream)
{
	obs_output_t  *context  = stream->output;
	obs_encoder_t *vencoder = obs_output_get_video_encoder(context);
	uint8_t       *header;
	size_t        size;

	struct encoder_packet packet   = {
		.type         = OBS_ENCODER_VIDEO,
		.timebase_den = 1,
		.keyframe     = true
	};

	obs_encoder_get_extra_data(vencoder, &header, &size);
	packet.size = obs_parse_avc_header(&packet.data, header, size);
	write_packet(stream, &packet, true);
}

static void write_headers(struct flv_output *stream)
{
	write_meta_data(stream);
	write_audio_header(stream);
	write_video_header(stream);
}