[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mp4/payload mp4vpyld.cpp,1.20.8.9,1.20.8.9.4.1
From:       zlin () helixcommunity ! org
Date:       2011-03-30 9:49:53
Message-ID: 201103300949.p2U9nmJw018688 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mp4/payload
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv3956

Modified Files:
      Tag: hxclient_3_6_5_atlas
	mp4vpyld.cpp 
Log Message:
Need to set the timestamp converters anchors after seeking. Otherwise, the
conversions will be totally wrong in case of RTP timestamp.
Reviewer: scaijun



Index: mp4vpyld.cpp
===================================================================
RCS file: /cvsroot/datatype/mp4/payload/mp4vpyld.cpp,v
retrieving revision 1.20.8.9
retrieving revision 1.20.8.9.4.1
diff -u -d -r1.20.8.9 -r1.20.8.9.4.1
--- mp4vpyld.cpp	2 Dec 2010 07:32:43 -0000	1.20.8.9
+++ mp4vpyld.cpp	30 Mar 2011 09:49:50 -0000	1.20.8.9.4.1
@@ -620,19 +620,28 @@
 
 	m_bRTPPacketTested = TRUE;
 
-	HX_RELEASE(pRTPPacket);
-
 	if (m_bUsesRTPPackets)
 	{
 	    HX_ASSERT(m_ulSamplesPerSecond != 0);
 
 	    m_TSConverter.SetBase(m_ulSamplesPerSecond,
 				  1000);
+
+            UINT32 ulRTPTime = pRTPPacket->GetRTPTime();
+            UINT32 ulHXTime = pRTPPacket->GetTime();
+            UINT32 ulMSTime = m_TSConverter.ConvertVector(ulRTPTime);
+            UINT32 ulRollOver = m_TSConverter.ConvertVector(0xFFFFFFFF);
+            UINT32 ulROs = ulHXTime > ulMSTime ? (ulHXTime - ulMSTime)/ulRollOver : 0;
+
+            ulMSTime += ulROs * ulRollOver;
+
+            m_TSConverter.SetAnchor(ulRTPTime, ulMSTime);
 	}
 	else
 	{
 	    m_TSConverter.SetBase(1000, 1000);
 	}
+        HX_RELEASE(pRTPPacket);
     }
 
     // Add this packet to our list of input packets


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic