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(); }
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; }
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(); }
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); }