[Common-cvs] include hxstreamadapt.h,1.8,1.9
npatil at helixcommunity.org npatil at helixcommunity.orgUpdate of /cvsroot/common/include
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv21597
Modified Files:
hxstreamadapt.h
Log Message:
Synopsis
========
MDP Config Changes Work Statement 2 Enabling/Disabling Media Delivery Pipeline
MDP Config Changes Work Statement 2 Rename variables (X.*.Session.RateManager.BufferModel)
MDP Config Changes Work Statement 2 Link Char Rate Shifting
Quick link: None
Branch: SERVER_CURRENT_RN
Suggested Reviewer: Darrick
Description
===========
1: Presently this variable is used to enable or disable use of server-side rate adaptation. At present this value is an integer (Boolean) type where a value of 1 enables server-side rate adaptation and 0 disables server-side rate adaptation EXCEPT when the client advertises support for Helix-Adaptation or 3GPP-Adaptation.
The value of this variable shall henceforth be a string type with three possible values: always, onadaptation, and never. The values always and onadaptation shall correspond to the behaviors previously designated by values 1 and 0, respectively. The value never shall cause the server to always disable server side rate adaptation (use of the MDP) regardless of client advertised support for Helix-Adaptation or 3GPP-Adaptation.
2: Rename the variables as specified in the work statement.
3: Presently the setting which enables Link-Char rate shifting resides in the global configuration. It shall be moved into the User-Agent Profiles and split into two variables as follows:
Variable Name
config.3GPPStreamAdaptation.EnableLinkCharRateShifting
New Name
X.*.RateAdaptation.ClientAdaptation.EnableLinkCharUpshift
X.*.RateAdaptation.ClientAdaptation.EnableLinkCharDownshift
Upshifting and downshifting based on Link-Char shall be enabled and disabled individually in the rate manager.
Files Affected
==============
server/engine/inputsource/uberstreammgr.cpp
server/engine/inputsource/srcfinder.cpp
server/engine/session/clientsession.cpp
server/engine/session/pub/clientsession.h
server/qos/core/pub/qos_cfg_names.h
server_rn/installer/proxy/proxyinst.cpp
server_rn/installer/server/retailservinst.cpp
server/engine/dataflow/static_pushpktflow.cpp
server_rn/qos/core/qos_clfact_rn.cpp
common/include/hxstreamadapt.h
server_rn/qos/session/pub/qos_sess_qosratemgr.h
server_rn/qos/session/qos_sess_qosratemgr.cpp
Testing Performed
=================
Unit Tests:
1. Installed the Helix Server and Proxy from the build and confirmed that the variable values are updated in the default config files.
2. Tested with all the three combinations of values the variable can have with hotrod player. Verified that these values behave as specified in the work statement.
3. Executed all (98) unit tests for MDP and confirmed all of them were success.
Note: In the code, the default behavior is kept as onadaptation. I.e. if a value is provided which is not equal to always or never then we are considering the value as onadaptation.
Integration Tests:
- None
Leak Tests:
- None
Performance Tests:
- None
Build verified: win32-i386-vc7, linux-rhel4-i686, and sunos-5.10-sparc-server
Platforms Tested: win32-i386-vc7
QA Hints
========
- Test with a player which does not support Helix-Adaptation or 3GPP-Adaptation with value as always and onadaptation.
- Test for Link Char enabled Upshift and Downshift.
Index: hxstreamadapt.h
===================================================================
RCS file: /cvsroot/common/include/hxstreamadapt.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- hxstreamadapt.h 14 Mar 2005 19:27:09 -0000 1.8
+++ hxstreamadapt.h 30 May 2007 05:47:20 -0000 1.9
@@ -5,7 +5,6 @@
#define MAX_EXCLUDE_RULES 256
-#define CONFIG_ENTRY_LINK_CHAR_RATE_SHIFTING "config.3GPPStreamAdaptation.EnableLinkCharRateShifting"
typedef enum _StreamAdaptationSchemeEnum
{ ADAPTATION_ANNEXG,
ADAPTATION_REL6_PER_STREAM,