static void matroska_execute_seekhead(MatroskaDemuxContext *matroska)

{

    EbmlList *seekhead_list = &matroska->seekhead;

    MatroskaSeekhead *seekhead = seekhead_list->elem;

    int64_t before_pos = avio_tell(matroska->ctx->pb);

    int i;



    // we should not do any seeking in the streaming case

    if (!matroska->ctx->pb->seekable ||

        (matroska->ctx->flags & AVFMT_FLAG_IGNIDX))

        return;



    for (i = 0; i < seekhead_list->nb_elem; i++) {

        if (seekhead[i].pos <= before_pos)

            continue;



        // defer cues parsing until we actually need cue data.

        if (seekhead[i].id == MATROSKA_ID_CUES) {

            matroska->cues_parsing_deferred = 1;

            continue;

        }



        if (matroska_parse_seekhead_entry(matroska, i) < 0)

            break;

    }

}

static void matroska_execute_seekhead(MatroskaDemuxContext *matroska)

{

    EbmlList *seekhead_list = &matroska->seekhead;

    MatroskaSeekhead *seekhead = seekhead_list->elem;

    int64_t before_pos = avio_tell(matroska->ctx->pb);

    int i;



    

    if (!matroska->ctx->pb->seekable ||

        (matroska->ctx->flags & AVFMT_FLAG_IGNIDX))

        return;



    for (i = 0; i < seekhead_list->nb_elem; i++) {

        if (seekhead[i].pos <= before_pos)

            continue;



        

        if (seekhead[i].id == MATROSKA_ID_CUES) {

            matroska->cues_parsing_deferred = 1;

            continue;

        }



        if (matroska_parse_seekhead_entry(matroska, i) < 0)

            break;

    }

}

    MatroskaSeekhead *seekhead = seekhead_list->elem;
static void FUNC_0(MatroskaDemuxContext *VAR_0)

{

    EbmlList *seekhead_list = &VAR_0->seekhead;

    MatroskaSeekhead *seekhead = seekhead_list->elem;

    int64_t before_pos = avio_tell(VAR_0->ctx->pb);

    int VAR_1;



    

    if (!VAR_0->ctx->pb->seekable ||

        (VAR_0->ctx->flags & AVFMT_FLAG_IGNIDX))

        return;



    for (VAR_1 = 0; VAR_1 < seekhead_list->nb_elem; VAR_1++) {

        if (seekhead[VAR_1].pos <= before_pos)

            continue;



        

        if (seekhead[VAR_1].id == MATROSKA_ID_CUES) {

            VAR_0->cues_parsing_deferred = 1;

            continue;

        }



        if (matroska_parse_seekhead_entry(VAR_0, VAR_1) < 0)

            break;

    }

}

static void FUNC_0(MatroskaDemuxContext *VAR_0)
{ EbmlList *seekhead_list = &VAR_0->seekhead; MatroskaSeekhead *seekhead = seekhead_list->elem; int64_t before_pos = avio_tell(VAR_0->ctx->pb); int VAR_1; if (!VAR_0->ctx->pb->seekable ||
(VAR_0->ctx->flags & AVFMT_FLAG_IGNIDX))
return; for (VAR_1 = 0; VAR_1 < seekhead_list->nb_elem; VAR_1++) { if (seekhead[VAR_1].pos <= before_pos)
continue; if (seekhead[VAR_1].id == MATROSKA_ID_CUES) { VAR_0->cues_parsing_deferred = 1; continue; } if (matroska_parse_seekhead_entry(VAR_0, VAR_1) < 0)
break; } }