[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-protocol-cvs
Subject: [Protocol-cvs] transport/rtp/pub rtptran.h, 1.41.2.6.6.2,
From: srao () helixcommunity ! org
Date: 2007-01-29 13:08:55
Message-ID: 200701291309.l0TD9spA008933 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/protocol/transport/rtp/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv20630/pub
Modified Files:
Tag: SERVER_11_1
rtptran.h
Log Message:
Hi,
Synopsis
========
Fixes PR 173113 VFKK: "RTP Timestamp Computation Selection" does not function with \
HMS/HMG11.1.
Branches: SERVER_11_1_RN, HEAD
Suggested Reviewer: Sujeet, Anyone
Description
===========
This is propagation of PR-147309. Vodaphone wants old RTP time stamp calculation for \
configured handsets. The handsets which only understands old timestams are giving \
poor quality for streams with new RTP time stamps. New RTP timestamps follow wall \
clock, but old RTP timestamps does not follow wall clock, seeking backward causes \
rtp time to go backward.
Fix:
===============
In RTSPServerProtocol() based on the configuration \
"LegacyRTPTimestampComputationUserAgentStrings" , enabling flag m_bOldRTPTS. This \
flag m_bOldRTPTS will get passed to Transport RTPBaseTransport() on creation. Based \
on this flag RTPBaseTransport::SetFirstTSStatic() sets the time stamp appropriately.
Note: In old fix RTSPServerProtocol::HandleOldRtpFlag() checks for UserAgent and if \
UserAgent is ,"RealMedia" (or) "RealOnePlayer" always setting flag m_bOldRTPTS to \
TRUE with out checking config entries. This will force Old RTP timestamps to Real \
Players. That is the reason I removed this if condition and setting flag m_bOldRTPTS \
to TRUE only if its configured in config file.
Files Affected
==============
/server/protocol/transport/rtp/rtp_tcp.cpp
/server/protocol/transport/rtp/rtp_udp.cpp
/server/protocol/transport/rtp/pub/rtp_tcp.h
/server/protocol/transport/rtp/pub/rtp_udp.h
/server/protocol/rtsp/rtspserv.cpp
/server/protocol/rtsp/pub/rtspserv.h
/protocol/transport/rtp/rtptran.cpp
/protocol/transport/rtp/pub/rtptran.h
Testing Performed
=================
Verified that the rtp time reported in the rtp-info header is legacy style, for the \
clients specified in the config file. Basically rtp time does not follow wall clock, \
seeking backward causes rtp time to go backward.
Build verified: win32-i386-vc6, linux-rhel4-i686,
QA Hints
===============
1) Configure any player (ex: QuickTime) as Legacy user agent and verify that seeking \
backward causes rtp time to go backward.
<List Name="LegacyRTPTimestampComputationUserAgentStrings">
<Var Item_18="QuickTime/7.1.3"/>
</List>
2) Configure proxy and verify the same.
Thanks/Srinivas
Index: rtptran.h
===================================================================
RCS file: /cvsroot/protocol/transport/rtp/pub/rtptran.h,v
retrieving revision 1.41.2.6.6.2
retrieving revision 1.41.2.6.6.3
diff -u -d -r1.41.2.6.6.2 -r1.41.2.6.6.3
--- rtptran.h 4 Mar 2006 02:22:55 -0000 1.41.2.6.6.2
+++ rtptran.h 29 Jan 2007 13:08:53 -0000 1.41.2.6.6.3
@@ -127,7 +127,7 @@
class RTPBaseTransport: public RTSPTransport, public IHXSourceBandwidthInfo
{
public:
- RTPBaseTransport (BOOL bIsSource);
+ RTPBaseTransport (BOOL bIsSource, BOOL bOldTS = FALSE);
~RTPBaseTransport (void);
// IUnknown
@@ -274,7 +274,7 @@
UINT32 m_ulAvgPktSz;
CReflectionHandler* m_pReflectionHandler;
-
+ BOOL m_bOldTSStatic;
/*
* RTP-Info: According to RFC2326, it is possible not to have one of them,
* so if it is missing, take care of it right here in transport
@@ -375,7 +375,7 @@
class RTPUDPTransport : public RTPBaseTransport
{
public:
- RTPUDPTransport (BOOL bIsSource);
+ RTPUDPTransport (BOOL bIsSource, BOOL bOldTS = FALSE);
virtual ~RTPUDPTransport (void);
STDMETHOD(QueryInterface) (THIS_
@@ -455,7 +455,7 @@
class RTPTCPTransport: public RTPBaseTransport
{
public:
- RTPTCPTransport (BOOL bIsSource);
+ RTPTCPTransport (BOOL bIsSource, BOOL bOldTS = FALSE);
~RTPTCPTransport (void);
void Done (void);
_______________________________________________
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