static int get_cluster_duration(MOVTrack *track, int cluster_idx)

{

    int64_t next_dts;



    if (cluster_idx >= track->entry)

        return 0;



    if (cluster_idx + 1 == track->entry)

        next_dts = track->track_duration + track->start_dts;

    else

        next_dts = track->cluster[cluster_idx + 1].dts;



    return next_dts - track->cluster[cluster_idx].dts;

}

static int get_cluster_duration(MOVTrack *track, int cluster_idx)

{

    int64_t next_dts;



    if (cluster_idx >= track->entry)

        return 0;



    if (cluster_idx + 1 == track->entry)

        next_dts = track->track_duration + track->start_dts;

    else

        next_dts = track->cluster[cluster_idx + 1].dts;



    return next_dts - track->cluster[cluster_idx].dts;

}

static int FUNC_0(MOVTrack *VAR_0, int VAR_1)

{

    int64_t next_dts;



    if (VAR_1 >= VAR_0->entry)

        return 0;



    if (VAR_1 + 1 == VAR_0->entry)

        next_dts = VAR_0->track_duration + VAR_0->start_dts;

    else

        next_dts = VAR_0->cluster[VAR_1 + 1].dts;



    return next_dts - VAR_0->cluster[VAR_1].dts;

}

static int FUNC_0(MOVTrack *VAR_0, int VAR_1)
{ int64_t next_dts; if (VAR_1 >= VAR_0->entry)
return 0; if (VAR_1 + 1 == VAR_0->entry)
next_dts = VAR_0->track_duration + VAR_0->start_dts; else
next_dts = VAR_0->cluster[VAR_1 + 1].dts; return next_dts - VAR_0->cluster[VAR_1].dts; }