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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/session clientsession.cpp,1.193,1.194
From:       jzeng () helixcommunity ! org
Date:       2010-06-16 17:43:44
Message-ID: 201006161743.o5GHhl94023036 () mailer ! progressive-comp ! com
[Download RAW message or body]

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

Modified Files:
	clientsession.cpp 
Log Message:
Synopsis
============
Bug 260823: 3rd Party encoders do not live stream on Helix using RTP due to missing b=AS parameter
Branches:  head, SERVER_14_RN
Suggested Reviewer: Jamie

Description
===========
We b=AS is missing, the server doesn't expect it, so in a few places we have the check and return
failure.  The end result is 404 to the client.

To fix this bug, qtbcplin will set the average bitrate to 100k(I just pick a number), and force PPM
delivery as MDP will be screwed up by the inaccurate bw info.


Files Affected
==============
server/engine/session/clientsession.cpp,v
server/engine/session/pub/clientsession.h,v
server/broadcast/transport/rtp/recv/qtbcobj.cpp,v

Testing Performed
================= 

Unit Tests: 
None. 

Integration Tests: 
verify playback of wirecast broadcast.

Leak Tests: 
None. 

Performance Tests: 
- None 

Platforms Tested: win32-i386-vc7
Build verified: win32-i386-vc7 






Index: clientsession.cpp
===================================================================
RCS file: /cvsroot/server/engine/session/clientsession.cpp,v
retrieving revision 1.193
retrieving revision 1.194
diff -u -d -r1.193 -r1.194
--- clientsession.cpp	20 May 2010 22:54:22 -0000	1.193
+++ clientsession.cpp	16 Jun 2010 17:43:41 -0000	1.194
@@ -206,7 +206,8 @@
       m_bPerStreamAdaptationReceived(FALSE),
       m_bNullSetup(FALSE),
       m_bIsPlaylist(FALSE),
-      m_bIsPlaylistOBSeekable(FALSE)
+      m_bIsPlaylistOBSeekable(FALSE),
+      m_bForcePPM(FALSE)
 #ifdef HELIX_FEATURE_SERVER_FCS
       , m_pCurrentSwitch(NULL)
       , m_pCompletedSwitch(NULL)
@@ -936,6 +937,10 @@
     pRealheader->GetPropertyULONG32("IsRealDataType", ulIsRealDataType);
     m_bIsRealDataType = ulIsRealDataType ? TRUE : FALSE;
 
+    ULONG32 ulForcePPM = 0;
+    pRealheader->GetPropertyULONG32("ForcePPM", ulForcePPM);
+    m_bForcePPM = ulForcePPM ? TRUE : FALSE;
+
     /*
     * Set registry information
     */
@@ -3218,13 +3223,12 @@
 #endif
     }
 
-    if (m_bUseMDP && (!MDPIsLicensed() || m_bNullSetup))
+    if (m_bUseMDP && (!MDPIsLicensed() || m_bNullSetup || m_bForcePPM))
     {
         // uh-oh, fall back to PPM
         m_bUseMDP = FALSE;
     }
 
-
     // Set the update about MDP usage in the stats
     if (m_pStats)
     {


_______________________________________________
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