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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/session clientsession.cpp,1.199,1.200
From:       skharkar () helixcommunity ! org
Date:       2011-06-15 19:09:45
Message-ID: 201106151909.p5FJ9o2T013679 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/engine/session
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv7608

Modified Files:
	clientsession.cpp 
Log Message:
Synopsis
========
Bug 269546: MT: Low video bitrate won't play with all queryparameters filled in 

Reviewer: Chytanya
 
Branches: HEAD,SERVER_14_2
 
Description
===========
With QT player.
In ClientSession::Subscribe we were passing in stream number for method which expects \
a group number. For multiplex case stream number and group number would very likely \
be different and as a result wrong rule was getting subscribed.

With RealPlayer.
For multiplexer stream, we have to ignore set parameter requests or else Real Player \
will always subscribe to highest bitrate, irrespective   of vidbr or audbr parameter.
Fix was to check in CRTSPBaseProtocol::HandleSubscribe to see if it is multiplexed \
stream and if yes then ignore.

Files affected
===============
server/protocol/rtsp/crtspbase.cpp
server/engine/session/clientsession.cpp

Tested
======
Tested following with Real and QT player.
Tested with multiplexed video stream encoded @252kps, @122kbps & @76kps
and audio encoded @96kbps, 64kbps & 48 kbps.
Tested various combinationts of audio and video bitrate in playbacks.
Tested various combination of video only and audio only playback.
Tested default multiplexed stream with no vidbr and audbr and confirmed that it is \
lowest bitrate stream. Tested multi-rate 3GP and RM encode.

QA hints
=========
Test different combinations audio and video bitrate in multirate multiplexed stream.
Test normal live mult rate playback with PPM.

Index: clientsession.cpp
===================================================================
RCS file: /cvsroot/server/engine/session/clientsession.cpp,v
retrieving revision 1.199
retrieving revision 1.200
diff -u -d -r1.199 -r1.200
--- clientsession.cpp	12 Apr 2011 22:36:39 -0000	1.199
+++ clientsession.cpp	15 Jun 2011 19:09:43 -0000	1.200
@@ -2525,7 +2525,14 @@
 ClientSession::Subscribe(UINT16 uStreamNumber, UINT16 uRuleNumber)
 {
     HX_ASSERT(!m_bUseMDP);
+    if(uStreamNumber < m_num_streams && m_ppStreams && m_ppStreams[uStreamNumber])
+    {
+        handle_subscribe(uRuleNumber, \
m_ppStreams[uStreamNumber]->m_uStreamGroupNumber); +    }
+    else
+    {
     handle_subscribe(uRuleNumber, uStreamNumber);
+    }
     return HXR_OK;
 }
 


_______________________________________________
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