[Server-cvs] engine/dataflow/pub basicpcktflow.h, 1.21, 1.22 pcktstrm.h, 1.18, 1.19 static_pushpktflow.h, 1.28, 1.29

[Server-cvs] engine/dataflow/pub basicpcktflow.h, 1.21, 1.22 pcktstrm.h, 1.18, 1.19 static_pushpktflow.h, 1.28, 1.29

jzeng at helixcommunity.org jzeng at helixcommunity.org
Mon Jan 29 16:48:44 PST 2007


Update of /cvsroot/server/engine/dataflow/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv32127/pub

Modified Files:
	basicpcktflow.h pcktstrm.h static_pushpktflow.h 
Log Message:
Synopsis
========
Branches: head
Suggested Reviewer: Darrick

Description
===========
This is part of the PN3 oversend project.  Basically, we want to
oversend if client bandwidth and client buffer allow us.

For MDP, the current behavior is to send at the media rate then mdp
transport manager will adjust the sending rate according to the
bandwidth.

This has been a problem for RealPlayer 10.5, if the MDP is turned on
the server.  Because the player sends SDP header, and expect the
server to oversend at that rate, but the server starting rate is the
media rate.  This causes the confusion for the players, and the
playback qos is really bad.

This check is to increase the intial sending rate upto 4 times of the
media rate, if the bandwidth allows.  We don't need to handle the
client buffer limitation(as in the ppm live case) because the rest of
the mdp will take care of it.

Files Affected
==============
server/engine/dataflow/basicpcktflow.cpp
server/engine/dataflow/static_pushpktflow.cpp
server/engine/dataflow/pub/basicpcktflow.h
server/engine/dataflow/pub/pcktstrm.h
server/engine/dataflow/pub/static_pushpktflow.h

Testing Performed
=================
Unit Tests:
create serveral test cases using rtsptest tool, sending different
combination of headers(SDP, linkchar, bandwidth) and the printouts
verified the handling is correct.

Integration Tests:
run the whole suite of test cases of rtsptest.
RealPlayer 10.5 and 11.0 playback of rm and 3gp multirate clips, with
MDP on.

Leak Tests:
verify no related leaks with --lct.

Performance Tests:
N/A

Platforms Tested: linux-rhel4-i686, win32-i386-vc7
Build verified: linux-rhel4-i686, win32-i386-vc7



Index: pcktstrm.h
===================================================================
RCS file: /cvsroot/server/engine/dataflow/pub/pcktstrm.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- pcktstrm.h	25 Aug 2005 22:32:23 -0000	1.18
+++ pcktstrm.h	30 Jan 2007 00:48:42 -0000	1.19
@@ -232,6 +232,7 @@
 
     //Link Characteristics
     LinkCharParams*	m_pLinkCharParams;
+    UINT32              m_ulInitialRate;
     
     //XXXVS: Used to identify Registered Streams
     BOOL                m_bStreamRegistered;

Index: static_pushpktflow.h
===================================================================
RCS file: /cvsroot/server/engine/dataflow/pub/static_pushpktflow.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- static_pushpktflow.h	21 Apr 2006 01:44:56 -0000	1.28
+++ static_pushpktflow.h	30 Jan 2007 00:48:42 -0000	1.29
@@ -41,6 +41,8 @@
 
 #define RESEND_QUEUE_SIZE 32 /* MAX 255 */
 
+_INTERFACE IHXRateDescription;
+
 class StaticPushPacketFlow : public BasicPacketFlow,
                              public IHXServerPacketSink,
                              public IHXQoSSignalSink,
@@ -186,6 +188,7 @@
 
     StreamAdaptationSchemeEnum      m_enumStreamAdaptScheme;
     LinkCharParams*      m_pSessionAggrLinkCharParams;
+    BOOL                        m_bStreamLinkCharSet;
 
     UINT16		       m_uRegisterStreamGroupNumber;
 
@@ -196,6 +199,7 @@
     StreamAdaptationParams     *m_pAggRateAdaptParams;
 
     inline HX_RESULT SendResendPackets (UINT16 unStreamNumber);
+    UINT32 AdjustInitialSendingRate(IHXRateDescription*  pRateDesc, IHXUberStreamManager* pUberStreamManager);
 };
 
 #endif // _STATIC_PUSHPCKTFLOW_H_

Index: basicpcktflow.h
===================================================================
RCS file: /cvsroot/server/engine/dataflow/pub/basicpcktflow.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- basicpcktflow.h	7 Jul 2005 22:03:42 -0000	1.21
+++ basicpcktflow.h	30 Jan 2007 00:48:42 -0000	1.22
@@ -261,6 +261,10 @@
     /* RTSP RTP-Info header support: */
     BOOL                       m_bRTPInfoRequired;
 
+    // bandwidth info
+    UINT32 m_ulSetDeliveryBandwidth;
+    UINT32 m_ulBandwidth;
+
     friend class PacketFlowTimeStampCallback;
     friend class PacketFlowManager;
     friend class PacketFlowTimeCallback;




More information about the Server-cvs mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.