[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