[matroska] r922 - trunk/DvdMenuXtractor

[email protected]
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: robux4
Date: 2004-10-26 17:21:15 +0400 (Tue, 26 Oct 2004)
New Revision: 922

Modified:
   trunk/DvdMenuXtractor/VobParser.cpp
   trunk/DvdMenuXtractor/VobParser.h
Log:
allow more debugging info for timecodes

Modified: trunk/DvdMenuXtractor/VobParser.cpp
===================================================================
--- trunk/DvdMenuXtractor/VobParser.cpp	2004-10-26 12:58:23 UTC (rev 921)
+++ trunk/DvdMenuXtractor/VobParser.cpp	2004-10-26 13:21:15 UTC (rev 922)
@@ -233,7 +233,7 @@
 			{
 				m_bFirstPacket = false;
 				m_startdts = pktinfo.dts;
-				m_startpts = pktinfo.dts /*pktinfo.pts*/;
+				m_startpts = pktinfo.pts;
 			}
 		}
 		else
@@ -616,9 +616,9 @@
 
 
 	if(m_demuxer)
-	{	
+	{
 		m_demuxer->ProcessVideoStream(&m_buff[m_index],
-			length - 3 - pes_header_data_content.PES_header_data_len, (pktinfo.pts - m_startpts)/90);
+			length - 3 - pes_header_data_content.PES_header_data_len, wxString::Format("DTS %d PTS %d - %d %d\n",pktinfo.dts/90, pktinfo.pts/90, m_startdts/90, m_startpts/90));
 	}
 }
 
@@ -632,7 +632,7 @@
 	if(m_demuxer)
 	{	
 		m_demuxer->ProcessAudioStream(&m_buff[m_index],
-			length - 3 - pes_header_data_content.PES_header_data_len, StreamID, (pktinfo.pts - m_startpts)/90);
+			length - 3 - pes_header_data_content.PES_header_data_len, StreamID, wxString::Format("DTS %d PTS %d - %d %d\n",pktinfo.dts/90, pktinfo.pts/90, m_startdts/90, m_startpts/90));
 	}
 }
 
@@ -654,7 +654,7 @@
 		if(m_demuxer)
 		{
 			// .sub files the VobSub way (includes the whole packet)
-			m_demuxer->ProcessSubStream(m_buff, DVD_VIDEO_LB_LEN, substreamID, (pktinfo.pts - m_startpts)/90);
+			m_demuxer->ProcessSubStream(m_buff, DVD_VIDEO_LB_LEN, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n",pktinfo.dts/90, pktinfo.pts/90, m_startdts/90, m_startpts/90));
 		}
 	}
 	else if(substreamID >= SUBSTREAM_AC3_LOW && substreamID < SUBSTREAM_AC3_HIGH)
@@ -668,7 +668,7 @@
 		if(m_demuxer)
 		{
 			uint16_t ac3DataLen = length - (m_index - dataStartIndex);
-			m_demuxer->ProcessAC3Stream(&m_buff[m_index], ac3DataLen, substreamID, (pktinfo.pts - m_startpts)/90);
+			m_demuxer->ProcessAC3Stream(&m_buff[m_index], ac3DataLen, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n",pktinfo.dts/90, pktinfo.pts/90, m_startdts/90, m_startpts/90));
 		}
 	}
 	else if(substreamID >= SUBSTREAM_DTS_LOW && substreamID < SUBSTREAM_DTS_HIGH)
@@ -681,7 +681,7 @@
 		if(m_demuxer)
 		{
 			uint16_t ac3DataLen = length - (m_index - dataStartIndex);
-			m_demuxer->ProcessDTSStream(&m_buff[m_index], ac3DataLen, substreamID, (pktinfo.pts - m_startpts)/90);
+			m_demuxer->ProcessDTSStream(&m_buff[m_index], ac3DataLen, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n",pktinfo.dts/90, pktinfo.pts/90, m_startdts/90, m_startpts/90));
 		}
 	}
 	else if(substreamID >= SUBSTREAM_PCM_LOW && substreamID < SUBSTREAM_PCM_HIGH)
@@ -692,7 +692,7 @@
 		if(m_demuxer)
 		{
 			uint16_t ac3DataLen = length - (m_index - dataStartIndex);
-			m_demuxer->ProcessLPCMStream(&m_buff[m_index], ac3DataLen, substreamID, (pktinfo.pts - m_startpts)/90);
+			m_demuxer->ProcessLPCMStream(&m_buff[m_index], ac3DataLen, substreamID, wxString::Format("DTS %d PTS %d - %d %d\n",pktinfo.dts/90, pktinfo.pts/90, m_startdts/90, m_startpts/90));
 		}
 	}
 	else

Modified: trunk/DvdMenuXtractor/VobParser.h
===================================================================
--- trunk/DvdMenuXtractor/VobParser.h	2004-10-26 12:58:23 UTC (rev 921)
+++ trunk/DvdMenuXtractor/VobParser.h	2004-10-26 13:21:15 UTC (rev 922)
@@ -159,12 +159,12 @@
 public:
 	Demuxer() : m_next(NULL) {}
 	virtual ~Demuxer() {}
-	virtual void ProcessVideoStream(uint8_t* buff, uint32_t size, int32_t delay) {}
-	virtual void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay) {}
-	virtual void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay) {}
-	virtual void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay) {}
-	virtual void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay) {}
-	virtual void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay) {}
+	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) {}
 	Demuxer* m_next; // used by the CompositeDemuxWriter (linked list of demuxer)
 };
 
@@ -191,7 +191,7 @@
 			fclose(m_TimecodeFile);
 	}
 
-	void Write(uint8_t* buff, uint32_t size, int32_t delay)
+	void Write(uint8_t* buff, uint32_t size, wxString & debug)
 	{
 		if(!m_file)
 		{
@@ -208,10 +208,9 @@
 			wxString m_filename = m_Filename;
 			m_filename += "_time.txt";
 			m_TimecodeFile = fopen(m_filename.c_str(),"w");
-			fwrite("# timecode format v2\n", 1, 21, m_TimecodeFile);
+			fwrite("# Debug file\n", 1, 13, m_TimecodeFile);
 		}
-		wxString _timecode = wxString::Format("%d (%d)\n", delay, ftell(m_TimecodeFile));
-		fwrite(_timecode.c_str(), 1, _timecode.length(), m_TimecodeFile);
+		fwrite(debug.c_str(), 1, debug.length(), m_TimecodeFile);
 	}
 protected:
 	wxString m_Filename;
@@ -226,7 +225,7 @@
 {
 public:
 	VideoDemuxWriter(const char* filenamePrefix) : Writer(filenamePrefix,"m2v") {}
-	void ProcessVideoStream(uint8_t* buff, uint32_t size, int32_t delay) { Write(buff, size, delay); }
+	void ProcessVideoStream(uint8_t* buff, uint32_t size, wxString & debug) { Write(buff, size, debug); }
 };
 
 // ----------------------------------------------------------------------------
@@ -236,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, int32_t delay)
+	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, delay); }
+		if(m_streamID == streamID) { Write(buff,size, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -251,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, int32_t delay)
+	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, delay); }
+		if(m_streamID == streamID) { Write(buff,size, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -266,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, int32_t delay)
+	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, delay); }
+		if(m_streamID == streamID) { Write(buff,size, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -281,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, int32_t delay)
+	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, delay); }
+		if(m_streamID == streamID) { Write(buff,size, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -296,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, int32_t delay)
+	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
-		if(m_streamID == streamID) { Write(buff,size, delay); }
+		if(m_streamID == streamID) { Write(buff,size, debug); }
 	}
 private:
 	uint8_t m_streamID;
@@ -310,10 +309,6 @@
 {
 public:
 	CompositeDemuxWriter() : m_demuxerRoot(NULL) {}
-	~CompositeDemuxWriter()
-	{
-		DeleteDemuxerList();
-	}
 
 	void AddDemuxer(Demuxer* demuxer)
 	{
@@ -324,7 +319,7 @@
 		m_demuxerRoot = demuxer;
 	}
 
-	void DeleteDemuxerList() {
+	~CompositeDemuxWriter() {
 		Demuxer* demuxCursor = m_demuxerRoot;
 		Demuxer* sav_next;
 
@@ -338,62 +333,62 @@
 		m_demuxerRoot = NULL;
 	}
 
-	void ProcessVideoStream(uint8_t* buff, uint32_t size, int32_t delay)
+	void ProcessVideoStream(uint8_t* buff, uint32_t size, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessVideoStream(buff,size, delay);
+			demuxCursor->ProcessVideoStream(buff,size, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay)
+	void ProcessAudioStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessAudioStream(buff,size, streamID, delay);
+			demuxCursor->ProcessAudioStream(buff,size, streamID, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay)
+	void ProcessAC3Stream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessAC3Stream(buff,size,streamID, delay);
+			demuxCursor->ProcessAC3Stream(buff,size,streamID, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay)
+	void ProcessDTSStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessDTSStream(buff,size,streamID, delay);
+			demuxCursor->ProcessDTSStream(buff,size,streamID, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay)
+	void ProcessLPCMStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessLPCMStream(buff,size,streamID, delay);
+			demuxCursor->ProcessLPCMStream(buff,size,streamID, debug);
 			demuxCursor = demuxCursor->m_next;
 		}		
 	}
 
-	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, int32_t delay)
+	void ProcessSubStream(uint8_t* buff, uint32_t size, uint8_t streamID, wxString & debug)
 	{
 		Demuxer* demuxCursor = m_demuxerRoot;
 		while(demuxCursor)
 		{
-			demuxCursor->ProcessSubStream(buff,size,streamID, delay);
+			demuxCursor->ProcessSubStream(buff,size,streamID, 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.