libbluray | branch: master | hpi1 <[email protected]> | Wed Jan 16 12:40:06 2013 +0200| [ddfe06418f57892e211d0a5b38918877181767ec] | committer: hpi1
fixed _find_repeats() when title is composed from segments of single m2ts file > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=ddfe06418f57892e211d0a5b38918877181767ec --- src/libbluray/bdnav/navigation.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c index 5bfb239..b4e6971 100644 --- a/src/libbluray/bdnav/navigation.c +++ b/src/libbluray/bdnav/navigation.c @@ -64,7 +64,7 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl) } static unsigned int -_find_repeats(MPLS_PL *pl, const char *m2ts) +_find_repeats(MPLS_PL *pl, const char *m2ts, uint32_t in_time, uint32_t out_time) { unsigned ii, count = 0; @@ -73,7 +73,9 @@ _find_repeats(MPLS_PL *pl, const char *m2ts) pi = &pl->play_item[ii]; // Ignore titles with repeated segments - if (strcmp(pi->clip[0].clip_id, m2ts) == 0) { + if (strcmp(pi->clip[0].clip_id, m2ts) == 0 && + pi->in_time == in_time && + pi->out_time == out_time) { count++; } } @@ -90,7 +92,7 @@ _filter_repeats(MPLS_PL *pl, unsigned repeats) pi = &pl->play_item[ii]; // Ignore titles with repeated segments - if (_find_repeats(pl, pi->clip[0].clip_id) > repeats) { + if (_find_repeats(pl, pi->clip[0].clip_id, pi->in_time, pi->out_time) > repeats) { return 0; } } _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
