mdat.c
来自「完整的RTP RTSP代码库」· C语言 代码 · 共 56 行
C
56 行
#include "quicktime.h"int quicktime_mdat_init(quicktime_mdat_t *mdat){ mdat->size = 8; mdat->start = 0;}int quicktime_mdat_delete(quicktime_mdat_t *mdat){}int quicktime_read_mdat(quicktime_t *file, quicktime_mdat_t *mdat, quicktime_atom_t *parent_atom){ mdat->size = parent_atom->size; mdat->start = parent_atom->start; quicktime_atom_skip(file, parent_atom);}int quicktime_write_mdat(quicktime_t *file, quicktime_mdat_t *mdat){ long position, size = 0, new_size = 0; int i, j; for(i = 0; i < file->total_atracks; i++) { new_size = quicktime_track_end(file->atracks[i].track); if(new_size > size) size = new_size; for(j = 0; j < file->atracks[i].totalHintTracks; j++) { new_size = quicktime_track_end(file->atracks[i].hintTracks[j]); if(new_size > size) size = new_size; } } for(i = 0; i < file->total_vtracks; i++) { new_size = quicktime_track_end(file->vtracks[i].track); if(new_size > size) size = new_size; for(j = 0; j < file->vtracks[i].totalHintTracks; j++) { new_size = quicktime_track_end(file->vtracks[i].hintTracks[j]); if(new_size > size) size = new_size; } } mdat->size = size; quicktime_set_position(file, mdat->start); quicktime_write_int32(file, mdat->size); quicktime_set_position(file, mdat->start + mdat->size);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?