Commit 53accaad authored by Steve Lhomme's avatar Steve Lhomme

mkv.cpp: Enter/Leave on subchapters too

parent 28e3aa77
......@@ -423,6 +423,7 @@ protected:
// DVD command IDs
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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment