changeset 25569:1ab8dade208c

fixed bug when playing multi-angle titles: the address field in the agli data of the current angle must be != 0x7fffffff to be skippable; patch by oattila chello hu
author nicodvb
date Sat, 05 Jan 2008 10:48:17 +0000
parents 707b810a2558
children b7ab557b7b30
files stream/stream_dvd.c
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/stream/stream_dvd.c	Sat Jan 05 10:42:39 2008 +0000
+++ b/stream/stream_dvd.c	Sat Jan 05 10:48:17 2008 +0000
@@ -403,11 +403,12 @@
         for(i=0;i<9;i++)	// check if all values zero:
           if((skip=d->dsi_pack.sml_agli.data[i].address)!=0) break;
 #endif
-        if(skip) {
+        if(skip && skip!=0x7fffffff) {
           // sml_agli table has valid data (at least one non-zero):
          d->cur_pack=d->dsi_pack.dsi_gi.nv_pck_lbn+
          d->dsi_pack.sml_agli.data[dvd_angle].address;
          d->angle_seek=0;
+         d->cur_pack--;
          mp_msg(MSGT_DVD,MSGL_V, "Angle-seek synced using sml_agli map!  new_lba=0x%X  \n",d->cur_pack);
         } else {
           // check if we're in the right cell, jump otherwise: