00001 #include "funcprotos.h"
00002 #include "quicktime.h"
00003
00004 void quicktime_edts_init(quicktime_edts_t *edts)
00005 {
00006 quicktime_elst_init(&(edts->elst));
00007 }
00008
00009 void quicktime_edts_delete(quicktime_edts_t *edts)
00010 {
00011 quicktime_elst_delete(&(edts->elst));
00012 }
00013
00014 void quicktime_edts_init_table(quicktime_edts_t *edts)
00015 {
00016 quicktime_elst_init_all(&(edts->elst));
00017 }
00018
00019 void quicktime_read_edts(quicktime_t *file, quicktime_edts_t *edts, quicktime_atom_t *edts_atom)
00020 {
00021 quicktime_atom_t leaf_atom;
00022
00023 do
00024 {
00025 quicktime_atom_read_header(file, &leaf_atom);
00026
00027 if(quicktime_atom_is(&leaf_atom, "elst"))
00028 { quicktime_read_elst(file, &(edts->elst)); }
00029 else
00030 quicktime_atom_skip(file, &leaf_atom);
00031 }while(quicktime_position(file) < edts_atom->end);
00032 }
00033
00034 void quicktime_edts_dump(quicktime_edts_t *edts)
00035 {
00036 printf(" edit atom (edts)\n");
00037 quicktime_elst_dump(&(edts->elst));
00038 }
00039
00040 void quicktime_write_edts(quicktime_t *file, quicktime_edts_t *edts, long duration)
00041 {
00042 quicktime_atom_t atom;
00043 quicktime_atom_write_header(file, &atom, "edts");
00044 quicktime_write_elst(file, &(edts->elst), duration);
00045 quicktime_atom_write_footer(file, &atom);
00046 }