r858: Merge 2.1:
[cinelerra_cv/ct.git] / quicktime / edts.c
blob206eab40218c95ef3fa0a20e476d8b25d9c25e7e
1 #include "funcprotos.h"
2 #include "quicktime.h"
4 void quicktime_edts_init(quicktime_edts_t *edts)
6 quicktime_elst_init(&(edts->elst));
9 void quicktime_edts_delete(quicktime_edts_t *edts)
11 quicktime_elst_delete(&(edts->elst));
14 void quicktime_edts_init_table(quicktime_edts_t *edts)
16 quicktime_elst_init_all(&(edts->elst));
19 void quicktime_read_edts(quicktime_t *file, quicktime_edts_t *edts, quicktime_atom_t *edts_atom)
21 quicktime_atom_t leaf_atom;
25 quicktime_atom_read_header(file, &leaf_atom);
26 //printf("quicktime_read_edts %llx %llx\n", quicktime_position(file), leaf_atom.end);
27 if(quicktime_atom_is(&leaf_atom, "elst"))
28 { quicktime_read_elst(file, &(edts->elst)); }
29 else
30 quicktime_atom_skip(file, &leaf_atom);
31 }while(quicktime_position(file) < edts_atom->end);
34 void quicktime_edts_dump(quicktime_edts_t *edts)
36 printf(" edit atom (edts)\n");
37 quicktime_elst_dump(&(edts->elst));
40 void quicktime_write_edts(quicktime_t *file, quicktime_edts_t *edts, long duration)
42 quicktime_atom_t atom;
43 quicktime_atom_write_header(file, &atom, "edts");
44 quicktime_write_elst(file, &(edts->elst), duration);
45 quicktime_atom_write_footer(file, &atom);