Revision 6314cca0 libavformat/matroskadec.c

View differences:

libavformat/matroskadec.c
849 849
static int ebml_parse_id(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
850 850
                         uint32_t id, void *data);
851 851
static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
852
                      void *data, int once);
852
                           void *data);
853 853

  
854 854
static int ebml_parse_elem(MatroskaDemuxContext *matroska,
855 855
                           EbmlSyntax *syntax, void *data)
......
882 882
                         return res;
883 883
                     if (id == MATROSKA_ID_SEGMENT)
884 884
                         matroska->segment_start = url_ftell(matroska->ctx->pb);
885
                     return ebml_parse_nest(matroska, syntax->def.n, data, 0);
885
                     return ebml_parse_nest(matroska, syntax->def.n, data);
886 886
    case EBML_PASS:  return ebml_parse_id(matroska, syntax->def.n, id, data);
887 887
    case EBML_STOP:  *(int *)data = 1;      return 1;
888 888
    default:         url_fskip(pb, length); return 0;
......
915 915
}
916 916

  
917 917
static int ebml_parse_nest(MatroskaDemuxContext *matroska, EbmlSyntax *syntax,
918
                      void *data, int once)
918
                           void *data)
919 919
{
920 920
    int i, res = 0;
921 921

  
......
933 933
            break;
934 934
        }
935 935

  
936
    while (!res && !ebml_level_end(matroska)) {
936
    while (!res && !ebml_level_end(matroska))
937 937
        res = ebml_parse(matroska, syntax, data);
938
        if (once)
939
            break;
940
    }
941 938

  
942 939
    return res;
943 940
}

Also available in: Unified diff