static int64_t asf_read_pts(AVFormatContext *s, int64_t *ppos, int stream_index)

{

    ASFContext *asf = s->priv_data;

    AVPacket pkt1, *pkt = &pkt1;

    int64_t pos= *ppos;

    int64_t pts;



    // ensure we are on the packet boundry

    assert(pos % asf->packet_size == 0);



    url_fseek(&s->pb, pos + s->data_offset, SEEK_SET);

    do{

        pos= url_ftell(&s->pb) - s->data_offset;

        asf_reset_header(s);

        if (av_read_frame(s, pkt) < 0)

    	    return AV_NOPTS_VALUE;

        pts= pkt->pts;



        av_free_packet(pkt);

    }while(pkt->stream_index != stream_index);

    

    *ppos= pos;



    return pts;

}

static int64_t asf_read_pts(AVFormatContext *s, int64_t *ppos, int stream_index)

{

    ASFContext *asf = s->priv_data;

    AVPacket pkt1, *pkt = &pkt1;

    int64_t pos= *ppos;

    int64_t pts;



    

    assert(pos % asf->packet_size == 0);



    url_fseek(&s->pb, pos + s->data_offset, SEEK_SET);

    do{

        pos= url_ftell(&s->pb) - s->data_offset;

        asf_reset_header(s);

        if (av_read_frame(s, pkt) < 0)

    	    return AV_NOPTS_VALUE;

        pts= pkt->pts;



        av_free_packet(pkt);

    }while(pkt->stream_index != stream_index);

    

    *ppos= pos;



    return pts;

}

    int64_t pos= *ppos;         pos= url_ftell(&s->pb) - s->data_offset;         asf_reset_header(s);         if (av_read_frame(s, pkt) < 0)     }while(pkt->stream_index != stream_index);     *ppos= pos;
static int64_t FUNC_0(AVFormatContext *s, int64_t *ppos, int stream_index)

{

    ASFContext *asf = s->priv_data;

    AVPacket pkt1, *pkt = &pkt1;

    int64_t pos= *ppos;

    int64_t pts;



    

    assert(pos % asf->packet_size == 0);



    url_fseek(&s->pb, pos + s->data_offset, SEEK_SET);

    do{

        pos= url_ftell(&s->pb) - s->data_offset;

        asf_reset_header(s);

        if (av_read_frame(s, pkt) < 0)

    	    return AV_NOPTS_VALUE;

        pts= pkt->pts;



        av_free_packet(pkt);

    }while(pkt->stream_index != stream_index);

    

    *ppos= pos;



    return pts;

}

static int64_t FUNC_0(AVFormatContext *s, int64_t *ppos, int stream_index)
{ ASFContext *asf = s->priv_data; AVPacket pkt1, *pkt = &pkt1; int64_t pos= *ppos; int64_t pts; assert(pos % asf->packet_size == 0); url_fseek(&s->pb, pos + s->data_offset, SEEK_SET); do{ pos= url_ftell(&s->pb) - s->data_offset; asf_reset_header(s); if (av_read_frame(s, pkt) < 0)
return AV_NOPTS_VALUE; pts= pkt->pts; av_free_packet(pkt); }while(pkt->stream_index != stream_index); *ppos= pos; return pts; }