static int mov_read_elst(MOVContext *c, ByteIOContext *pb, MOVAtom atom)

{

    MOVStreamContext *sc = c->fc->streams[c->fc->nb_streams-1]->priv_data;

    int i, edit_count;



    get_byte(pb); /* version */

    get_be24(pb); /* flags */

    edit_count= sc->edit_count = get_be32(pb);     /* entries */



    for(i=0; i<edit_count; i++){

        int time;

        get_be32(pb); /* Track duration */

        time = get_be32(pb); /* Media time */

        get_be32(pb); /* Media rate */

        if (time != 0)

            av_log(c->fc, AV_LOG_WARNING, "edit list not starting at 0, "

                   "a/v desync might occur, patch welcome\n");

    }

    dprintf(c->fc, "track[%i].edit_count = %i\n", c->fc->nb_streams-1, sc->edit_count);

    return 0;

}

static int mov_read_elst(MOVContext *c, ByteIOContext *pb, MOVAtom atom)

{

    MOVStreamContext *sc = c->fc->streams[c->fc->nb_streams-1]->priv_data;

    int i, edit_count;



    get_byte(pb); 

    get_be24(pb); 

    edit_count= sc->edit_count = get_be32(pb);     



    for(i=0; i<edit_count; i++){

        int time;

        get_be32(pb); 

        time = get_be32(pb); 

        get_be32(pb); 

        if (time != 0)

            av_log(c->fc, AV_LOG_WARNING, "edit list not starting at 0, "

                   "a/v desync might occur, patch welcome\n");

    }

    dprintf(c->fc, "track[%i].edit_count = %i\n", c->fc->nb_streams-1, sc->edit_count);

    return 0;

}

static int FUNC_0(MOVContext *VAR_0, ByteIOContext *VAR_1, MOVAtom VAR_2)

{

    MOVStreamContext *sc = VAR_0->fc->streams[VAR_0->fc->nb_streams-1]->priv_data;

    int VAR_3, VAR_4;



    get_byte(VAR_1); 

    get_be24(VAR_1); 

    VAR_4= sc->VAR_4 = get_be32(VAR_1);     



    for(VAR_3=0; VAR_3<VAR_4; VAR_3++){

        int VAR_5;

        get_be32(VAR_1); 

        VAR_5 = get_be32(VAR_1); 

        get_be32(VAR_1); 

        if (VAR_5 != 0)

            av_log(VAR_0->fc, AV_LOG_WARNING, "edit list not starting at 0, "

                   "a/v desync might occur, patch welcome\n");

    }

    dprintf(VAR_0->fc, "track[%VAR_3].VAR_4 = %VAR_3\n", VAR_0->fc->nb_streams-1, sc->VAR_4);

    return 0;

}

static int FUNC_0(MOVContext *VAR_0, ByteIOContext *VAR_1, MOVAtom VAR_2)
{ MOVStreamContext *sc = VAR_0->fc->streams[VAR_0->fc->nb_streams-1]->priv_data; int VAR_3, VAR_4; get_byte(VAR_1); get_be24(VAR_1); VAR_4= sc->VAR_4 = get_be32(VAR_1); for(VAR_3=0; VAR_3<VAR_4; VAR_3++){ int VAR_5; get_be32(VAR_1); VAR_5 = get_be32(VAR_1); get_be32(VAR_1); if (VAR_5 != 0)
av_log(VAR_0->fc, AV_LOG_WARNING, "edit list not starting at 0, "
"a/v desync might occur, patch welcome\n"); } dprintf(VAR_0->fc, "track[%VAR_3].VAR_4 = %VAR_3\n", VAR_0->fc->nb_streams-1, sc->VAR_4); return 0; }