mdat.c
上传用户:luping1608
上传日期:2007-01-06
资源大小:38k
文件大小:1k
源码类别:

多媒体

开发平台:

Unix_Linux

  1. #include "quicktime.h"
  2. int quicktime_mdat_init(quicktime_mdat_t *mdat)
  3. {
  4. mdat->size = 8;
  5. mdat->start = 0;
  6. }
  7. int quicktime_mdat_delete(quicktime_mdat_t *mdat)
  8. {
  9. }
  10. int quicktime_read_mdat(quicktime_t *file, quicktime_mdat_t *mdat, quicktime_atom_t *parent_atom)
  11. {
  12. mdat->size = parent_atom->size;
  13. mdat->start = parent_atom->start;
  14. quicktime_atom_skip(file, parent_atom);
  15. }
  16. int quicktime_write_mdat(quicktime_t *file, quicktime_mdat_t *mdat)
  17. {
  18. long position, size = 0, new_size = 0;
  19. int i;
  20. for(i = 0; i < file->total_atracks; i++)
  21. {
  22. new_size = quicktime_track_end(file->atracks[i].track);
  23. if(new_size > size) size = new_size;
  24. }
  25. for(i = 0; i < file->total_vtracks; i++)
  26. {
  27. new_size = quicktime_track_end(file->vtracks[i].track);
  28. if(new_size > size) size = new_size;
  29. }
  30. mdat->size = size;
  31. quicktime_set_position(file, mdat->start);
  32. quicktime_write_int32(file, mdat->size);
  33. quicktime_set_position(file, mdat->start + mdat->size);
  34. }