[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] engine/session clientsession.cpp,1.72.2.40,1.72.2.41
From: yphadke () helixcommunity ! org
Date: 2008-04-18 10:48:42
Message-ID: 200804181048.m3IAmuhu029585 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/engine/session
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv6409/session
Modified Files:
Tag: SERVER_12
clientsession.cpp
Log Message:
Oh, sorry! This looks good.
Yadnesh Phadke wrote:
> Gentle Reminder.
>
> Regards,
> Yadnesh
>
> Yadnesh Phadke wrote:
> > ConfigureSource() is executed for PPM as well as MDP. \
> > ConfigureSourceFCSSpecific() is the routine in which I modified, this is called \
> > only for PPM.
> > ConfigureSource() actually does some part of the code I have introduced. My fix \
> > needs modification. PFA updated diff.
> > In case of MDP CASMStreamFilter::CommitSubscription() gets called when \
> > StartPackets() is called on the new source. CommitSubscription() takes care of \
> > applying the SUBSCRIBED rules.
> > Repeated the integration tests and Leak tests mentioned below. The change to \
> > asmstreamfilter.cpp is no longer require to be accompanied with this fix. But I \
> > kept it as it is a useful change.
> > Regards,
> > Yadnesh
> >
> > Jamie Gordon wrote:
> > > Looks good Yadnesh.
> > >
> > > One thing I'm kind of scratching my head on,
> > >
> > > + // For PPM, we need to subscribe to the rules indicated by the
> > > + // clients. This routine is not executed for MDP
> > >
> > > I'm wondering why ConfigureSource is not called for MDP. I believe that
> > > your change would still be correct for MDP if the method was called
> > > (m_pRateSelInfo should still contain the current rate selection,
> > > whether selected by Subscribe or by MDP) so that's fine. Do we
> > > have a similar bug for MDP, since it's not hitting this changed method?
> > >
> > > Yadnesh Phadke wrote:
> > > >
> > > > Synopsis
> > > > ========
> > > > CR: Fixes PR 216149: FCS: MultiRate|Demand|queue=0/1|Demand playback does not \
> > > > continue more than a couple of seconds after switch when player BW settings \
> > > > select non-highest rate
> > > > Branches: SERVER_CURRENT_RN, SERVER_12_RN
> > > > Suggested Reviewer: JJ, Anyone
> > > >
> > > > Description
> > > > ===========
> > > > When the connection bandwidth is restricted so that the non-highest bit-rate \
> > > > is selected for playback, At switch, the player stops rendering and actually \
> > > > seems to go non-responsive for a while when clicking 'stop'. (The player \
> > > > issues a PAUSE, but then the UI won't let you do anything for 10-30 seconds.) \
> > > > Fix:
> > > > ===============
> > > > When the connection bandwidth is restricted, RTSP SETUP registers the default \
> > > > stream (generally highest bitrate). Then the player sends SUBSCRIBE to get \
> > > > the stream rate suited for the bandwidth. After stream switch the registered \
> > > > stream from the new clip is selected and the default rule (generally highest \
> > > > bitrate) is subscribed. So the client starts getting different bitrate data \
> > > > resulting in re-buffering.
> > > > Modified code so that the stream subscribed by client is subscribed again on \
> > > > the new stream after switching.
> > > > Files Affected
> > > > ==============
> > > > server/engine/inputsource/asmstreamfilter.cpp
> > > > server/engine/session/clientsession.cpp
> > > >
> > > > Testing Performed
> > > > =================
> > > > Unit Tests: n/a
> > > >
> > > > Integration Tests:
> > > > Tested with switching between 3 multirate rm contents.
> > > > Tested with switching between 3 singlerate rm contents.
> > > >
> > > > Leak Tests:
> > > > Tested with switching between 3 multirate rm contents.
> > > > Tested with switching between 3 singlerate rm contents.
> > > > Added a HX_RELEASE to resolve a leak that was detected
> > > >
> > > > Performance Tests: n/a
> > > >
> > > > Build verified: win32-i386-vc7
> > > >
> > > > Platforms tested: Win32
> > > >
> > > > QA Hints
> > > > ===============
> > > > None
> > > >
> > > > Regards,
> > > > Yadnesh
> > > >
Index: clientsession.cpp
===================================================================
RCS file: /cvsroot/server/engine/session/clientsession.cpp,v
retrieving revision 1.72.2.40
retrieving revision 1.72.2.41
diff -u -d -r1.72.2.40 -r1.72.2.41
--- clientsession.cpp 18 Apr 2008 01:23:53 -0000 1.72.2.40
+++ clientsession.cpp 18 Apr 2008 10:48:39 -0000 1.72.2.41
@@ -5711,11 +5711,20 @@
HX_RESULT ClientSession::ConfigureSourceFCSSpecific()
{
- // A hack for bubbler only. For multistream clips, we will need to different \
things
- // for ppm and mdp. For ppm, we need to subscribe to the rules indicated by the
- // clients. For mdp, we need to get the RateDesc from the old source, and set it
- // in the new source.
- return HandleDefaultSubscription();
+ // For PPM, we need to subscribe to the rules indicated by the
+ // clients. This routine is not executed for MDP
+ HX_RESULT status = HXR_OK;
+
+ IHXUberStreamManager* pUberStreamMgr = NULL;
+ status = m_pSourceControl->QueryInterface(IID_IHXUberStreamManager,
+ (void**)&pUberStreamMgr);
+ if(SUCCEEDED(status))
+ {
+ status = pUberStreamMgr->CommitInitialAggregateRateDesc();
+ }
+
+ HX_RELEASE(pUberStreamMgr);
+ return status;
}
#endif //HELIX_FEATURE_SERVER_FCS
_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic