diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/input/libdvdnav/vm.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/input/libdvdnav/vm.c b/src/input/libdvdnav/vm.c index f646504fe..9622254c4 100644 --- a/src/input/libdvdnav/vm.c +++ b/src/input/libdvdnav/vm.c @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: vm.c,v 1.23 2003/07/19 13:04:03 mroi Exp $ + * $Id: vm.c,v 1.24 2003/08/03 09:44:16 mroi Exp $ * */ @@ -429,14 +429,12 @@ void vm_position_get(vm_t *vm, vm_position_t *position) { position->still = (vm->state).pgc->cell_playback[(vm->state).cellN - 1].still_time; position->block = (vm->state).blockN; - /* still already detrmined or not at PGC end */ - if (position->still || (vm->state).cellN < (vm->state).pgc->nr_of_cells) + /* handle PGC stills at PGC end */ + if ((vm->state).cellN == (vm->state).pgc->nr_of_cells && (vm->state).pgc->still_time) + position->still += (vm->state).pgc->still_time; + /* still already determined */ + if (position->still) return; - /* handle PGC stills */ - if ((vm->state).pgc->still_time) { - position->still = (vm->state).pgc->still_time; - return; - } /* This is a rough fix for some strange still situations on some strange DVDs. * There are discs (like the German "Back to the Future" RC2) where the only * indication of a still is a cell playback time higher than the time the frames |