[DVDnav-discuss] Fwd: [PATCH] Make sure we get nav packets for all cells in multi angle
Joakim Plate
elupus at ecce.se
Thu Nov 3 01:04:17 CET 2011
Seems i forgot to cc this to list, might be interesting for someone.
---------- Forwarded message ----------
From: Joakim Plate <elupus at ecce.se>
Date: Wed, Nov 2, 2011 at 6:23 PM
Subject: Re: [DVDnav-discuss] [PATCH] Make sure we get nav packets for
all cells in multi angle
To: Roger Pack <rogerdpack2 at gmail.com>
>
> I've noticed the discrepancy in MPEG pts times and the NAV packets,
> too. Do you have any more information on this? Could you point me to
> how your code coordinates using the NAV packets at all?
> Thanks!
> -r
>
It's quite simple actually and removes all discontinuties during playback:
In input stream for libdvdnav:
if(nav[n].start != nav[n-1].end) {
diff = nav[n-1].end - nav[n].start;
* return 0 bytes read to demuxer to EOF it and it flushes all mpeg packets.
}
After demuxer EOF
global_diff += diff;
diff = 0;
Normally during reading from demuxer:
packet = read from demuxer
packet.pts += global_diff;
The main files doing this would be:
xbmc/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamNavigator.cpp
xbmc/xbmc/cores/dvdplayer/DVDPlayer.cpp
More information about the DVDnav-discuss
mailing list