diff dvdnav.c @ 191:dbea22936623 src

when a command has been issued to leave a menu, filter all further commands for this menu
author mroi
date Tue, 06 May 2003 14:11:44 +0000
parents 21bf7491156c
children b80dff4bef76
line wrap: on
line diff
--- a/dvdnav.c	Tue May 06 02:28:28 2003 +0000
+++ b/dvdnav.c	Tue May 06 14:11:44 2003 +0000
@@ -51,6 +51,7 @@
 
   memset(&this->pci,0,sizeof(this->pci));
   memset(&this->dsi,0,sizeof(this->dsi));
+  this->last_cmd_nav_lbn = 0;
 
   /* Set initial values of flags */
   this->position_current.still = 0;
@@ -779,6 +780,10 @@
      */
     dvdnav_pre_cache_blocks(this->cache, this->vobu.vobu_start+1, this->vobu.vobu_length+1);
     
+    /* release NAV menu filter, when we reach the same NAV packet again */
+    if (this->last_cmd_nav_lbn == this->pci.pci_gi.nv_pck_lbn)
+      this->last_cmd_nav_lbn = 0;
+    
     /* Successfully got a NAV packet */
     (*event) = DVDNAV_NAV_PACKET;
 #ifdef LOG_DEBUG