initial commit
[goodguy/history.git] / cinelerra-5.0 / quicktime / dinf.c
1 #include "funcprotos.h"
2 #include "quicktime.h"
3
4 void quicktime_dinf_init(quicktime_dinf_t *dinf)
5 {
6         quicktime_dref_init(&(dinf->dref));
7 }
8
9 void quicktime_dinf_delete(quicktime_dinf_t *dinf)
10 {
11         quicktime_dref_delete(&(dinf->dref));
12 }
13
14 void quicktime_dinf_init_all(quicktime_dinf_t *dinf)
15 {
16         quicktime_dref_init_all(&(dinf->dref));
17 }
18
19 void quicktime_dinf_dump(quicktime_dinf_t *dinf)
20 {
21         printf("    data information (dinf)\n");
22         quicktime_dref_dump(&(dinf->dref));
23 }
24
25 void quicktime_read_dinf(quicktime_t *file, quicktime_dinf_t *dinf, quicktime_atom_t *dinf_atom)
26 {
27         quicktime_atom_t leaf_atom;
28
29         do
30         {
31                 quicktime_atom_read_header(file, &leaf_atom);
32                 if(quicktime_atom_is(&leaf_atom, "dref"))
33                         { quicktime_read_dref(file, &(dinf->dref)); }
34                 else
35                         quicktime_atom_skip(file, &leaf_atom);
36         }while(quicktime_position(file) < dinf_atom->end);
37 }
38
39 void quicktime_write_dinf(quicktime_t *file, quicktime_dinf_t *dinf)
40 {
41         quicktime_atom_t atom;
42         quicktime_atom_write_header(file, &atom, "dinf");
43         quicktime_write_dref(file, &(dinf->dref));
44         quicktime_atom_write_footer(file, &atom);
45 }