static int daala_packet(AVFormatContext *s, int idx)

{

    int seg, duration = 1;

    struct ogg *ogg = s->priv_data;

    struct ogg_stream *os = ogg->streams + idx;



    /*

     * first packet handling: here we parse the duration of each packet in the

     * first page and compare the total duration to the page granule to find the

     * encoder delay and set the first timestamp

     */



    if ((!os->lastpts || os->lastpts == AV_NOPTS_VALUE) && !(os->flags & OGG_FLAG_EOS)) {

        for (seg = os->segp; seg < os->nsegs; seg++)

            if (os->segments[seg] < 255)

                duration++;



        os->lastpts = os->lastdts = daala_gptopts(s, idx, os->granule, NULL) - duration;

        if(s->streams[idx]->start_time == AV_NOPTS_VALUE) {

            s->streams[idx]->start_time = os->lastpts;

            if (s->streams[idx]->duration)

                s->streams[idx]->duration -= s->streams[idx]->start_time;

        }

    }



    /* parse packet duration */

    if (os->psize > 0)

        os->pduration = 1;



    return 0;

}

static int daala_packet(AVFormatContext *s, int idx)

{

    int seg, duration = 1;

    struct ogg *ogg = s->priv_data;

    struct ogg_stream *os = ogg->streams + idx;



    











    if ((!os->lastpts || os->lastpts == AV_NOPTS_VALUE) && !(os->flags & OGG_FLAG_EOS)) {

        for (seg = os->segp; seg < os->nsegs; seg++)

            if (os->segments[seg] < 255)

                duration++;



        os->lastpts = os->lastdts = daala_gptopts(s, idx, os->granule, NULL) - duration;

        if(s->streams[idx]->start_time == AV_NOPTS_VALUE) {

            s->streams[idx]->start_time = os->lastpts;

            if (s->streams[idx]->duration)

                s->streams[idx]->duration -= s->streams[idx]->start_time;

        }

    }



    

    if (os->psize > 0)

        os->pduration = 1;



    return 0;

}

            if (s->streams[idx]->duration)
static int FUNC_0(AVFormatContext *VAR_0, int VAR_1)

{

    int VAR_2, VAR_3 = 1;

    struct VAR_4 *VAR_4 = VAR_0->priv_data;

    struct ogg_stream *VAR_5 = VAR_4->streams + VAR_1;



    











    if ((!VAR_5->lastpts || VAR_5->lastpts == AV_NOPTS_VALUE) && !(VAR_5->flags & OGG_FLAG_EOS)) {

        for (VAR_2 = VAR_5->segp; VAR_2 < VAR_5->nsegs; VAR_2++)

            if (VAR_5->segments[VAR_2] < 255)

                VAR_3++;



        VAR_5->lastpts = VAR_5->lastdts = daala_gptopts(VAR_0, VAR_1, VAR_5->granule, NULL) - VAR_3;

        if(VAR_0->streams[VAR_1]->start_time == AV_NOPTS_VALUE) {

            VAR_0->streams[VAR_1]->start_time = VAR_5->lastpts;

            if (VAR_0->streams[VAR_1]->VAR_3)

                VAR_0->streams[VAR_1]->VAR_3 -= VAR_0->streams[VAR_1]->start_time;

        }

    }



    

    if (VAR_5->psize > 0)

        VAR_5->pduration = 1;



    return 0;

}

static int FUNC_0(AVFormatContext *VAR_0, int VAR_1)
{ int VAR_2, VAR_3 = 1; struct VAR_4 *VAR_4 = VAR_0->priv_data; struct ogg_stream *VAR_5 = VAR_4->streams + VAR_1; if ((!VAR_5->lastpts || VAR_5->lastpts == AV_NOPTS_VALUE) && !(VAR_5->flags & OGG_FLAG_EOS)) { for (VAR_2 = VAR_5->segp; VAR_2 < VAR_5->nsegs; VAR_2++) if (VAR_5->segments[VAR_2] < 255)
VAR_3++; VAR_5->lastpts = VAR_5->lastdts = daala_gptopts(VAR_0, VAR_1, VAR_5->granule, NULL) - VAR_3; if(VAR_0->streams[VAR_1]->start_time == AV_NOPTS_VALUE) { VAR_0->streams[VAR_1]->start_time = VAR_5->lastpts; if (VAR_0->streams[VAR_1]->VAR_3)
VAR_0->streams[VAR_1]->VAR_3 -= VAR_0->streams[VAR_1]->start_time; } } if (VAR_5->psize > 0)
VAR_5->pduration = 1; return 0; }