[matroska] r929 - trunk/DvdMenuXtractor

[email protected]
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: robux4
Date: 2004-10-27 02:38:32 +0400 (Wed, 27 Oct 2004)
New Revision: 929

Modified:
   trunk/DvdMenuXtractor/VobParser.cpp
   trunk/DvdMenuXtractor/VobParser.h
Log:
get back the audio delay in the filename

Modified: trunk/DvdMenuXtractor/VobParser.cpp
===================================================================
--- trunk/DvdMenuXtractor/VobParser.cpp	2004-10-26 21:52:23 UTC (rev 928)
+++ trunk/DvdMenuXtractor/VobParser.cpp	2004-10-26 22:38:32 UTC (rev 929)
@@ -629,7 +629,7 @@
 	if(m_demuxer)
 	{
 		m_demuxer->ProcessVideoStream(&m_buff[m_index],
-			length - 3 - pes_header_data_content.PES_header_data_len, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
+			length - 3 - pes_header_data_content.PES_header_data_len, (int32_t)pktinfo.pts/90, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
 	}
 }
 
@@ -643,7 +643,7 @@
 	if(m_demuxer)
 	{	
 		m_demuxer->ProcessAudioStream(&m_buff[m_index],
-			length - 3 - pes_header_data_content.PES_header_data_len, StreamID, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
+			length - 3 - pes_header_data_content.PES_header_data_len, StreamID, (int32_t)pktinfo.pts/90, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
 	}
 }
 
@@ -665,7 +665,7 @@
 		if(m_demuxer)
 		{
 			// .sub files the VobSub way (includes the whole packet)
-			m_demuxer->ProcessSubStream(m_buff, DVD_VIDEO_LB_LEN, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
+			m_demuxer->ProcessSubStream(m_buff, DVD_VIDEO_LB_LEN, substreamID, (int32_t)pktinfo.pts/90, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
 		}
 	}
 	else if(substreamID >= SUBSTREAM_AC3_LOW && substreamID < SUBSTREAM_AC3_HIGH)
@@ -679,7 +679,7 @@
 		if(m_demuxer)
 		{
 			uint16_t ac3DataLen = length - (m_index - dataStartIndex);
-			m_demuxer->ProcessAC3Stream(&m_buff[m_index], ac3DataLen, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
+			m_demuxer->ProcessAC3Stream(&m_buff[m_index], ac3DataLen, substreamID, (int32_t)pktinfo.pts/90, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
 		}
 	}
 	else if(substreamID >= SUBSTREAM_DTS_LOW && substreamID < SUBSTREAM_DTS_HIGH)
@@ -692,7 +692,7 @@
 		if(m_demuxer)
 		{
 			uint16_t ac3DataLen = length - (m_index - dataStartIndex);
-			m_demuxer->ProcessDTSStream(&m_buff[m_index], ac3DataLen, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
+			m_demuxer->ProcessDTSStream(&m_buff[m_index], ac3DataLen, substreamID, (int32_t)pktinfo.pts/90, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
 		}
 	}
 	else if(substreamID >= SUBSTREAM_PCM_LOW && substreamID < SUBSTREAM_PCM_HIGH)
@@ -703,7 +703,7 @@
 		if(m_demuxer)
 		{
 			uint16_t ac3DataLen = length - (m_index - dataStartIndex);
-			m_demuxer->ProcessLPCMStream(&m_buff[m_index], ac3DataLen, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
+			m_demuxer->ProcessLPCMStream(&m_buff[m_index], ac3DataLen, substreamID, (int32_t)pktinfo.pts/90, wxString::Format("DTS %d PTS %d - %d %d\n", (int32_t)m_startdts/90, (int32_t)m_startpts/90, (int32_t)pktinfo.dts/90, (int32_t)pktinfo.pts/90));
 		}
 	}
 	else
@@ -768,6 +768,8 @@
 	
     previous_vobid = GetVobID();
     previous_cellid = GetCellID();
+	if (result)
+		m_bFirstPacket = true;
 
 	return result;
 }

Modified: trunk/DvdMenuXtractor/VobParser.h
===================================================================
--- trunk/DvdMenuXtractor/VobParser.h	2004-10-26 21:52:23 UTC (rev 928)
+++ trunk/DvdMenuXtractor/VobParser.h	2004-10-26 22:38:32 UTC (rev 929)
@@ -159,12 +159,12 @@
 public:
 	Demuxer() : m_next(NULL) {}
 	virtual ~Demuxer() {}
-	virtual void ProcessVideoStream(uint8_t* buff, uint32_t size, wxString & debug) {}
-	virtual void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug) {}
-	virtual void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug) {}
-	virtual void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug) {}
-	virtual void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug) {}
-	virtual void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug) {}
+	virtual void ProcessVideoStream(uint8_t* buff, uint32_t size, int32_t delay, wxString & debug) {}
+	virtual void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug) {}
+	virtual void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug) {}
+	virtual void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug) {}
+	virtual void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug) {}
+	virtual void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug) {}
 	Demuxer* m_next; // used by the CompositeDemuxWriter (linked list of demuxer)
 };
 
@@ -191,13 +191,13 @@
 			fclose(m_TimecodeFile);
 	}
 
-	void Write(uint8_t* buff, uint32_t size, wxString & debug)
+	void Write(uint8_t* buff, uint32_t size, int32_t delay, wxString & debug)
 	{
 		if(!m_file)
 		{
 			wxString m_filename = m_Filename;
-//			if (delay != 0)
-//				m_filename += wxString::Format("_%dms",delay);
+			if (delay != 0)
+				m_filename += wxString::Format("_%dms",delay);
 			m_filename += ".";
 			m_filename +=  m_fileExtension;
 			m_file = fopen(m_filename.c_str(),"wb");
@@ -225,7 +225,7 @@
 {
 public:
 	VideoDemuxWriter(const char* filenamePrefix) : Writer(filenamePrefix,"m2v") {}
-	void ProcessVideoStream(uint8_t* buff, uint32_t size, wxString & debug) { Write(buff, size, debug); }
+	void ProcessVideoStream(uint8_t* buff, uint32_t size, int32_t delay, wxString & debug) { Write(buff, size, delay, debug); }
 };
 
 // ----------------------------------------------------------------------------
@@ -235,9 +235,9 @@
 public:
 	AC3DemuxWriter(const char* filenamePrefix, const uint8_t streamID) :
 	  Writer(filenamePrefix,"ac3"), m_streamID(streamID) {}
-	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, debug); }
+		if(m_streamID == streamID) { Write(buff,size, delay, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -250,9 +250,9 @@
 public:
 	DTSDemuxWriter(const char* filenamePrefix, const uint8_t streamID) :
 	  Writer(filenamePrefix,"dts"), m_streamID(streamID) {}
-	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, debug); }
+		if(m_streamID == streamID) { Write(buff,size, delay, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -265,9 +265,9 @@
 public:
 	LPCMDemuxWriter(const char* filenamePrefix, const uint8_t streamID) :
 	  Writer(filenamePrefix,"pcm"), m_streamID(streamID) {}
-	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, debug); }
+		if(m_streamID == streamID) { Write(buff,size, delay, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -280,9 +280,9 @@
 public:
 	MPADemuxWriter(const char* filenamePrefix, const uint8_t streamID) :
 	  Writer(filenamePrefix,"mpa"), m_streamID(streamID) {}
-	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, debug); }
+		if(m_streamID == streamID) { Write(buff,size, delay, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -295,9 +295,9 @@
 public:
 	SubDemuxWriter(const char* filenamePrefix, const uint8_t streamID) :
 	  Writer(filenamePrefix, "sub"), m_streamID(streamID) {}
-	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, debug); }
+		if(m_streamID == streamID) { Write(buff,size, delay, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -333,62 +333,62 @@
 		m_demuxerRoot = NULL;
 	}
 
-	void ProcessVideoStream(uint8_t* buff, uint32_t size, wxString & debug)
+	void ProcessVideoStream(uint8_t* buff, uint32_t size, int32_t delay, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessVideoStream(buff,size, debug);
+			demuxCursor->ProcessVideoStream(buff,size, delay, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessAudioStream(buff,size, streamID, debug);
+			demuxCursor->ProcessAudioStream(buff,size, streamID, delay, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessAC3Stream(buff,size,streamID, debug);
+			demuxCursor->ProcessAC3Stream(buff,size,streamID, delay, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessDTSStream(buff,size,streamID, debug);
+			demuxCursor->ProcessDTSStream(buff,size,streamID, delay, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessLPCMStream(buff,size,streamID, debug);
+			demuxCursor->ProcessLPCMStream(buff,size,streamID, delay, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
+	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessSubStream(buff,size,streamID, debug);
+			demuxCursor->ProcessSubStream(buff,size,streamID, delay, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
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.