diff options
Diffstat (limited to 'src/demuxers/ebml.c')
-rw-r--r-- | src/demuxers/ebml.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/demuxers/ebml.c b/src/demuxers/ebml.c index 75fbfde75..ce53e6c8a 100644 --- a/src/demuxers/ebml.c +++ b/src/demuxers/ebml.c @@ -211,14 +211,13 @@ int ebml_skip(ebml_parser_t *ebml, ebml_elem_t *elem) { int ebml_read_elem_head(ebml_parser_t *ebml, ebml_elem_t *elem) { - if (!ebml_read_elem_id(ebml, &elem->id)) - return 0; + int ret_id = ebml_read_elem_id(ebml, &elem->id); - if (!ebml_read_elem_len(ebml, &elem->len)) - return 0; + int ret_len = ebml_read_elem_len(ebml, &elem->len); elem->start = ebml->input->get_current_pos(ebml->input); - return 1; + + return (ret_id && ret_len); } @@ -473,6 +472,7 @@ int ebml_check_header(ebml_parser_t *ebml) { default: xprintf(ebml->xine, XINE_VERBOSITY_LOG, "ebml: Unknown data type 0x%x in EBML header (ignored)\n", elem.id); + ebml_skip(ebml, &elem); } next_level = ebml_get_next_level(ebml, &elem); } |