[matroska] r909 - trunk/DvdMenuXtractor

[email protected]
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: robux4
Date: 2004-10-24 01:50:14 +0400 (Sun, 24 Oct 2004)
New Revision: 909

Modified:
   trunk/DvdMenuXtractor/DvdMenuXtractor.cpp
   trunk/DvdMenuXtractor/VobParser.cpp
Log:
remove a useless pass when building the VOB map from IFO

Modified: trunk/DvdMenuXtractor/DvdMenuXtractor.cpp
===================================================================
--- trunk/DvdMenuXtractor/DvdMenuXtractor.cpp	2004-10-23 21:03:58 UTC (rev 908)
+++ trunk/DvdMenuXtractor/DvdMenuXtractor.cpp	2004-10-23 21:50:14 UTC (rev 909)
@@ -522,7 +522,9 @@
 	VobParser * BuildVobMap(int16_t title, bool language)
 	{
 		wxFileConfig *pConfig = (wxFileConfig *)wxConfigBase::Get();
-		
+
+		m_gaDemuxProgress->SetValue(0);
+
 		VobParser * _VobParser = NULL;
 		try {
 			_VobParser = new VobParser(pConfig->Read("InDirectory","").c_str(), title, language);
@@ -530,8 +532,6 @@
 		{
 			m_txtDemuxLog->AppendText(wxString::Format("no VOB files found in %s for Title %02d\n",pConfig->Read("InDirectory","").c_str(),title));
 		}
-		if (_VobParser != NULL)
-			_VobParser->BuildMap();
 		return _VobParser;
 	}
 
@@ -544,19 +544,20 @@
     {
         CompositeDemuxWriter *demuxer = NULL;
         wxString newFilename;
+		uint32_t cell = 0;
 		const CellsListType *CellsList = IfoFile->GetCellsList(title, language);
 
 		aVobParser.Reset();
 		
-		// TODO, build VOB map & extract only real data for each cell
         try
         {
-            m_gaDemuxProgress->SetRange(aVobParser.GetPacketCount());
+            m_gaDemuxProgress->SetRange(CellsList->GetCount());
 
             while(aVobParser.ParseNextPacket())
             {
 				if(aVobParser.IsNewCell())
 				{
+					m_gaDemuxProgress->SetValue(cell);
                     if(IfoFile->IsACandidateCell(aVobParser.GetVobID(),aVobParser.GetCellID()))
                     {
                         newFilename = CellName(title, aVobParser.GetVobID(), aVobParser.GetCellID(), language);

Modified: trunk/DvdMenuXtractor/VobParser.cpp
===================================================================
--- trunk/DvdMenuXtractor/VobParser.cpp	2004-10-23 21:03:58 UTC (rev 908)
+++ trunk/DvdMenuXtractor/VobParser.cpp	2004-10-23 21:50:14 UTC (rev 909)
@@ -162,7 +162,6 @@
 		// Program Mux Rate (measured in units of 50 bytes/second)
 		pktinfo.program_mux_rate = (GetNext8Bits() << 14) | 
 			(GetNext8Bits() << 6) | (GetNext8Bits() >> 2);
-		assert(pktinfo.program_mux_rate != 0);
 
 		// Skip Pack stuffing length
 		int stuffing_nb = GetNext8Bits() & 0x07;
@@ -732,7 +731,6 @@
 				ble->y2 = m_pci.btnit[i].end_y;
 				cell->btt_list.Append(ble);
 			}
-			m_pci.btn_ns = 0;
 			
 			SetDemuxer(new DemuxStreamMapper(cell));
         }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.