st->time_length = (c->duration * 1000) / c->time_scale;
static int parse_trak(const MOVParseTableEntry *parse_table, ByteIOContext *pb, uint32_t atom_type, int64_t atom_offset, int64_t atom_size, void *param){    MOVContext *c;    AVStream *st;    MOVStreamContext *sc;#ifdef DEBUG    print_atom("trak", atom_type, atom_offset, atom_size);#endif    c = (MOVContext *)param;    st = av_new_stream(c->fc, c->fc->nb_streams);    if (!st) return -2;    sc = av_malloc(sizeof(MOVStreamContext));    sc->sample_to_chunk_index = -1;    st->priv_data = sc;    st->codec.codec_type = CODEC_TYPE_MOV_OTHER;    c->streams[c->fc->nb_streams-1] = sc;    return parse_default(parse_table, pb, atom_type, atom_offset, atom_size, param);}