From 469a124c71bcc3e47ee6362796bd9a506a98f235 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 12 Feb 2020 19:10:03 +0100 Subject: debug stuff --- demux/demux_mkv.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'demux/demux_mkv.c') diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c index 99e481bc7d..9e9b92e99e 100644 --- a/demux/demux_mkv.c +++ b/demux/demux_mkv.c @@ -2466,12 +2466,15 @@ static void mkv_parse_and_add_packet(demuxer_t *demuxer, mkv_track_t *track, int64_t dts = dp->dts == MP_NOPTS_VALUE ? AV_NOPTS_VALUE : dp->dts * tb; bool copy_sidedata = true; + MP_STATS(demuxer, "start parse"); while (dp->len) { uint8_t *data = NULL; int size = 0; + MP_STATS(demuxer, "start avparse"); int len = av_parser_parse2(track->av_parser, track->av_parser_codec, &data, &size, dp->buffer, dp->len, pts, dts, 0); + MP_STATS(demuxer, "end avparse"); if (len < 0 || len > dp->len) break; dp->buffer += len; @@ -2495,6 +2498,7 @@ static void mkv_parse_and_add_packet(demuxer_t *demuxer, mkv_track_t *track, } pts = dts = AV_NOPTS_VALUE; } + MP_STATS(demuxer, "end parse"); if (dp->len) { add_packet(demuxer, stream, dp); @@ -2639,6 +2643,8 @@ static int handle_block(demuxer_t *demuxer, struct block_info *block_info) } if (use_this_block) { + MP_STATS(demuxer, "start block"); + uint64_t filepos = block_info->filepos; for (int i = 0; i < block_info->num_laces; i++) { @@ -2699,6 +2705,8 @@ static int handle_block(demuxer_t *demuxer, struct block_info *block_info) mkv_d->a_skip_to_keyframe = 0; } + MP_STATS(demuxer, "end block"); + return 1; } @@ -2778,6 +2786,8 @@ static int read_next_block_into_queue(demuxer_t *demuxer) stream_t *s = demuxer->stream; struct block_info block = {0}; + MP_STATS(s, "start rblock"); + while (1) { while (stream_tell(s) < mkv_d->cluster_end) { int64_t start_filepos = stream_tell(s); @@ -2834,13 +2844,18 @@ static int read_next_block_into_queue(demuxer_t *demuxer) uint32_t id = ebml_read_id(s); if (id == MATROSKA_ID_CLUSTER) break; - if (s->eof) + if (s->eof) { + MP_STATS(s, "end rblock"); return -1; - if (demux_cancel_test(demuxer)) + } + if (demux_cancel_test(demuxer)) { + MP_STATS(s, "end rblock"); return -1; + } if (id == EBML_ID_EBML && stream_tell(s) >= mkv_d->segment_end) { // Appended segment - don't use its clusters, consider this EOF. stream_seek(s, stream_tell(s) - 4); + MP_STATS(s, "end rblock"); return -1; } // For the sake of robustness, consider even unknown level 1 @@ -2861,6 +2876,7 @@ static int read_next_block_into_queue(demuxer_t *demuxer) assert(0); // unreachable add_block: + MP_STATS(s, "end rblock"); index_block(demuxer, &block); MP_TARRAY_APPEND(mkv_d, mkv_d->blocks, mkv_d->num_blocks, block); return 1; -- cgit v1.2.3