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

List:       helix-protocol-cvs
Subject:    [Protocol-cvs] transport/rtp rtptran.cpp,1.111.2.3,1.111.2.4
From:       asheesh () helixcommunity ! org
Date:       2009-02-18 16:39:30
Message-ID: 200902181643.n1IGhmKG001101 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/protocol/transport/rtp
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv4856

Modified Files:
      Tag: hxclient_3_1_0_atlas
	rtptran.cpp 
Log Message:
 
> Synopsis: Video freezes while 
> live streaming
> Overview: The RTP time-stamp is 
> converted to NPT (Normal Playback Time) and single mapping between NTP 
> (wallclock time) and NPT (Normal Playback Time) is maintained for 
> every RTP stream.  Helix assumes that NTP (wallclock) time sent by the 
> server is synchronized (of the same time base) for all streams of the 
> session and uses NTP - NPT mapping of one stream of the session for 
> purposes of another stream. For the particular server under questions 
> (QTSS), the NTP time is not synchronised for all the streams. This is 
> causing the video stream to sync incorrectly when the RTCP sync is 
> received for audio stream.
> 
> Fix:  Strongly synchronized 
> streams at start have rtptime indicated in Rtp-info and thus have 
> proper RTP to NPT mapping which effectively establishes the starting 
> synchronization for the streams. We will use singular NTP-to-NPT 
> mapping for streams that are not strongly synchronized at start but 
> not use it for those that are strongly synchronized.
> 
> 
Index: rtptran.cpp
===================================================================
RCS file: /cvsroot/protocol/transport/rtp/rtptran.cpp,v
retrieving revision 1.111.2.3
diff -w -u -b -r1.111.2.3 rtptran.cpp
--- rtptran.cpp	5 May 2008 12:52:32 -0000	1.111.2.3
+++ rtptran.cpp	18 Feb 2009 16:36:51 -0000
@@ -1973,7 +1973,7 @@
             else
             {
                 // This the first RTCP sync accross all streams, anchor sync
-                if (m_pSyncServer)
+                if (m_bWeakStartSync && m_pSyncServer)
                 {
 #ifdef RTP_MESSAGE_DEBUG
                     messageFormatDebugFileOut("RTCP-SYNC: Distribute NTP-NPT Mapping \
NTPTime=%u NPTTime=%u", @@ -1986,6 +1986,10 @@
 
                     m_pSyncServer->DistributeSyncAnchor(ulHXTime, ulNtpHX);
                 }
+                else
+            		{
+                	retVal = anchorSync(ulHXTime, ulNtpHX);
+            		}
             }
         }
     }


Index: rtptran.cpp
===================================================================
RCS file: /cvsroot/protocol/transport/rtp/rtptran.cpp,v
retrieving revision 1.111.2.3
retrieving revision 1.111.2.4
diff -u -d -r1.111.2.3 -r1.111.2.4
--- rtptran.cpp	5 May 2008 12:52:32 -0000	1.111.2.3
+++ rtptran.cpp	18 Feb 2009 16:39:28 -0000	1.111.2.4
@@ -1973,7 +1973,7 @@
             else
             {
                 // This the first RTCP sync accross all streams, anchor sync
-                if (m_pSyncServer)
+                if (m_bWeakStartSync && m_pSyncServer)
                 {
 #ifdef RTP_MESSAGE_DEBUG
                     messageFormatDebugFileOut("RTCP-SYNC: Distribute NTP-NPT Mapping \
NTPTime=%u NPTTime=%u", @@ -1986,6 +1986,10 @@
 
                     m_pSyncServer->DistributeSyncAnchor(ulHXTime, ulNtpHX);
                 }
+                else
+            		{
+                	retVal = anchorSync(ulHXTime, ulNtpHX);
+            		}
             }
         }
     }


_______________________________________________
Protocol-cvs mailing list
Protocol-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/protocol-cvs


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

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