00001 #include "funcprotos.h"
00002 #include "quicktime.h"
00003
00004 void quicktime_dinf_init(quicktime_dinf_t *dinf)
00005 {
00006 quicktime_dref_init(&(dinf->dref));
00007 }
00008
00009 void quicktime_dinf_delete(quicktime_dinf_t *dinf)
00010 {
00011 quicktime_dref_delete(&(dinf->dref));
00012 }
00013
00014 void quicktime_dinf_init_all(quicktime_dinf_t *dinf)
00015 {
00016 quicktime_dref_init_all(&(dinf->dref));
00017 }
00018
00019 void quicktime_dinf_dump(quicktime_dinf_t *dinf)
00020 {
00021 printf(" data information (dinf)\n");
00022 quicktime_dref_dump(&(dinf->dref));
00023 }
00024
00025 void quicktime_read_dinf(quicktime_t *file, quicktime_dinf_t *dinf, quicktime_atom_t *dinf_atom)
00026 {
00027 quicktime_atom_t leaf_atom;
00028
00029 do
00030 {
00031 quicktime_atom_read_header(file, &leaf_atom);
00032 if(quicktime_atom_is(&leaf_atom, "dref"))
00033 { quicktime_read_dref(file, &(dinf->dref)); }
00034 else
00035 quicktime_atom_skip(file, &leaf_atom);
00036 }while(quicktime_position(file) < dinf_atom->end);
00037 }
00038
00039 void quicktime_write_dinf(quicktime_t *file, quicktime_dinf_t *dinf)
00040 {
00041 quicktime_atom_t atom;
00042 quicktime_atom_write_header(file, &atom, "dinf");
00043 quicktime_write_dref(file, &(dinf->dref));
00044 quicktime_atom_write_footer(file, &atom);
00045 }