]> git.sesse.net Git - vlc/commitdiff
mkv.cpp: Enter/Leave on subchapters too
authorSteve Lhomme <robux@videolan.org>
Thu, 21 Apr 2005 21:09:15 +0000 (21:09 +0000)
committerSteve Lhomme <robux@videolan.org>
Thu, 21 Apr 2005 21:09:15 +0000 (21:09 +0000)
modules/demux/mkv.cpp

index 482d529edebb61893573bd49725f6caab1a9f02a..975011590fb882320d8afadf7b4332656b17b920 100644 (file)
@@ -422,7 +422,8 @@ protected:
     demux_sys_t  & sys;
     
     // DVD command IDs
-    static const uint16 CMD_JUMP_TT = 0x3002;
+    static const uint16 CMD_JUMP_TT     = 0x3002;
+    static const uint16 CMD_CALLSS_VTSM = 0x3008;
     
     // callbacks when browsing inside CodecPrivate
     static bool MatchTitleNumber( const chapter_codec_cmds_c &data, const void *p_cookie, size_t i_cookie_size );
@@ -4189,6 +4190,12 @@ bool chapter_item_c::Enter()
         (*index)->Enter();
         index++;
     }
+    std::vector<chapter_item_c*>::iterator index_ = sub_chapters.begin();
+    while ( index_ != sub_chapters.end() )
+    {
+        (*index_)->Enter();
+        index_++;
+    }
     return true;
 }
 
@@ -4200,6 +4207,12 @@ bool chapter_item_c::Leave()
         (*index)->Leave();
         index++;
     }
+    std::vector<chapter_item_c*>::iterator index_ = sub_chapters.begin();
+    while ( index_ != sub_chapters.end() )
+    {
+        (*index_)->Leave();
+        index_++;
+    }
     return true;
 }
 
@@ -4257,6 +4270,8 @@ bool dvd_command_interpretor_c::Interpret( const binary * p_command, size_t i_si
     case CMD_JUMP_TT:
         {
             uint8 i_title = p_command[5];
+            msg_Dbg( &sys.demuxer, "DVD command: JumpTT %d", i_title );
+
             // find in the ChapProcessPrivate matching this Title level
             virtual_segment_c *p_segment;
             chapter_item_c *p_chapter;
@@ -4278,6 +4293,24 @@ bool dvd_command_interpretor_c::Interpret( const binary * p_command, size_t i_si
 
             break;
         }
+    case CMD_CALLSS_VTSM:
+        {
+            msg_Dbg( &sys.demuxer, "DVD command: CallSS VTSM" );
+            break;
+        }
+    default:
+        {
+            msg_Dbg( &sys.demuxer, "DVD command: unsupported %02X %02X %02X %02X %02X %02X %02X %02X"
+                     ,p_command[0]
+                     ,p_command[1]
+                     ,p_command[2]
+                     ,p_command[3]
+                     ,p_command[4]
+                     ,p_command[5]
+                     ,p_command[6]
+                     ,p_command[7]);
+            break;
+        }
     }
 
     return true;