static gboolean atoms_recov_write_ftyp_info (FILE * f, AtomFTYP * ftyp, GstBuffer * prefix) { guint8 *data = NULL; guint64 offset = 0; guint64 size = 0; if (prefix) { GstMapInfo map; gst_buffer_map (prefix, &map, GST_MAP_READ); if (fwrite (map.data, 1, map.size, f) != map.size) { gst_buffer_unmap (prefix, &map); return FALSE; } gst_buffer_unmap (prefix, &map); } if (!atom_ftyp_copy_data (ftyp, &data, &size, &offset)) { return FALSE; } if (fwrite (data, 1, offset, f) != offset) { g_free (data); return FALSE; } g_free (data); return TRUE; }
static gboolean atoms_recov_write_ftyp_info (FILE * f, AtomFTYP * ftyp, GstBuffer * prefix) { guint8 *data = NULL; guint64 offset = 0; guint64 size = 0; if (prefix) { if (fwrite (GST_BUFFER_DATA (prefix), 1, GST_BUFFER_SIZE (prefix), f) != GST_BUFFER_SIZE (prefix)) { return FALSE; } } if (!atom_ftyp_copy_data (ftyp, &data, &size, &offset)) { return FALSE; } if (fwrite (data, 1, offset, f) != offset) { g_free (data); return FALSE; } g_free (data); return TRUE; }