libbluray | branch: master | hpi1 <[email protected]> | Fri Apr 10 14:51:38 2015 +0300| [e7d38ac773ebd781467c0282f6ff14969fb7123e] | committer: hpi1
Reduce log spam (truncated m2ts files) > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=e7d38ac773ebd781467c0282f6ff14969fb7123e --- src/libbluray/bluray.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c index 817962b..95b6d65 100644 --- a/src/libbluray/bluray.c +++ b/src/libbluray/bluray.c @@ -89,6 +89,9 @@ typedef struct { uint16_t ig_pid; /* pid of currently selected IG stream */ uint16_t pg_pid; /* pid of currently selected PG stream */ + /* */ + uint8_t eof_hit; + M2TS_FILTER *m2ts_filter; } BD_STREAM; @@ -540,6 +543,7 @@ static int _open_m2ts(BLURAY *bd, BD_STREAM *st) st->clip_size = 0; st->clip_pos = (uint64_t)st->clip->start_pkt * 192; st->clip_block_pos = (st->clip_pos / 6144) * 6144; + st->eof_hit = 0; if (st->fp) { int64_t clip_size = file_size(st->fp); @@ -600,6 +604,7 @@ static int _read_block(BLURAY *bd, BD_STREAM *st, uint8_t *buf) BD_DEBUG(DBG_STREAM | DBG_CRIT, "Read %d bytes at %"PRIu64" ; requested %d !\n", (int)read_len, st->clip_block_pos, (int)len); } st->clip_block_pos += len; + st->eof_hit = 0; /* Check TP_extra_header Copy_permission_indicator. If != 0, unit is still encrypted. */ if (buf[0] & 0xc0) { @@ -646,8 +651,6 @@ static int _read_block(BLURAY *bd, BD_STREAM *st, uint8_t *buf) return 0; } - BD_DEBUG(DBG_STREAM | DBG_CRIT, "Read past EOF !\n"); - /* This is caused by truncated .m2ts file or invalid clip length. * * Increase position to avoid infinite loops. @@ -656,6 +659,11 @@ static int _read_block(BLURAY *bd, BD_STREAM *st, uint8_t *buf) st->clip_block_pos += len; st->clip_pos += len; + if (!st->eof_hit) { + BD_DEBUG(DBG_STREAM | DBG_CRIT, "Read past EOF !\n"); + st->eof_hit = 1; + } + return 0; } _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
