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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/inputsource srcfinder.cpp, 1.21.2.3.20.3,
From:       vijendrakumara () helixcommunity ! org
Date:       2007-06-28 14:05:35
Message-ID: 200706281405.l5SE5jxL009845 () dommarcmx ! xen ! 10east ! com
[Download RAW message or body]

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

Modified Files:
      Tag: SERVER_11_1
	srcfinder.cpp 
Log Message:
Hello,

This CR contains the changes according to updated spec.

Note : SERVER_11_1_RN : doesn’t have any changes plgnhand.h (that’s a part
of AMP).


Synopsis

========


Record-Blocking Feature Development for server

Branches: SERVER_CURRENT_RN, SERVER_11_1_RN

Suggested Reviewer: Jamie Gordon, Chytanya Karusala


Description

===========

Contain changes according to updated spec.
1. Change the datatype of variable from bool to int
2. Change the string from EnableContentRecording to ContentMarker
3. Change the condition 1: Record blocking 0:Record enable anything
else:Record enable

Added Licensing check
Fix Bug 197983: Server Do Not Record broken with Alternate Mount Points

Files Affected
==============

common/include/hxfiles.h
datatype-restrcited/rm/fileformat/rmffplin.cpp
datatype-restrcited/rm/fileformat/rmffplin.h
server/common/util/plgnhand.cpp
server/common/util/pub/plgnhand.h
server/engine/dataflow/fsmanager.cpp
server/engine/dataflow/pub/fsmanager.h
server/engine/inputsource/srcfinder.cpp
server/engine/session/source_finder.cpp
server-restricted/broadcast/transport/bcng/recv/breceiver.cpp
server-restricted/broadcast/transport/bcng/recv/strmsess.cpp
server-restricted/broadcast/transport/bcng/recv/pub/breceiver.h
server-restricted/broadcast/transport/bcng/recv/pub/strmsess.h


Testing Performed

=================

Functional Tests:
-----------------

Testing perform for various kinds of request using RealPlayer 11.
Tested on SERVER_CURRENT_RN , SERVER_11_1_RN

1. Testing for simple mount points – License is enabled
-  Send a request for mount point where Contentmarker is 1
   e.g rtsp://127.0.0.1/realvideo10.rm ; output: player shows
   recording button disabled.
-  Send a request for mount points where ContentMarker is 0
   e.g rtsp://127.0.0.1/tst/realvideo10.rm ; output: player
   shows recording button enabled.

2. Testing for simple mount points – Licensing is disabled
-  Send a request for mount point where Contentmarker is 1
   e.g rtsp://127.0.0.1/realvideo10.rm ; output: player shows
   recording button enabled.
-  Send a request for mount points where Contentmarker is 0
   e.g rtsp://127.0.0.1/tst/realvideo10.rm ; output: player
   shows recording button enabled.

3.Testing for Live Broadcast – License is enabled
- Send a request for push split e.g
  Setup: encoder-receiver1-transmitter1-receiver2-player
  rtsp://127.0.0.1/broadcast/source-name/broadcast/live.rm

  Note: Receiver2 has entry as ContentMarker=1
  Output: player shows recording button disabled.
- Send a request for push split e.g
  Setup: encoder-receiver1-transmitter1-receiver2-player
  rtsp://127.0.0.1/broadcast/source-name/broadcast/live.rm

  Note: Receiver2 has entry as ContentMarker=0
  Output: player shows recording button enabled.

4.Testing for Live Broadcast – License is disabled
- Send a request for push split e.g
  Setup: encoder-receiver1-transmitter1-receiver2-player
  rtsp://127.0.0.1/broadcast/source-name/broadcast/live.rm

  Note: Receiver2 has entry as ContentMarker=1
  Output: player shows recording button enabled.
- Send a request for push split e.g
  Setup: encoder-receiver1-transmitter1-receiver2-player
  rtsp://127.0.0.1/broadcast/source-name/broadcast/live.rm

  Note: Receiver2 has entry as ContentMarker=0
  Output: player shows recording button enabled.

Integration Tests:

n/a

Leak Tests:

n/a


Performance Tests:

n/a


Platforms Tested: win32-i386-vc7

Build verified: linux-rhel4-i686, win32-i386-vc7, sunos-5.10-sparc-server

QA Hints

========

None

Thanks and Regards
Vijendra


Index: srcfinder.cpp
===================================================================
RCS file: /cvsroot/server/engine/inputsource/srcfinder.cpp,v
retrieving revision 1.21.2.3.20.3
retrieving revision 1.21.2.3.20.4
diff -u -d -r1.21.2.3.20.3 -r1.21.2.3.20.4
--- srcfinder.cpp	21 Jun 2007 14:14:41 -0000	1.21.2.3.20.3
+++ srcfinder.cpp	28 Jun 2007 14:05:32 -0000	1.21.2.3.20.4
@@ -61,6 +61,8 @@
 #include "fileformat_handler.h"
 #include "asmstreamfilter.h"
 #include "srcfinder.h"
+#include "defslice.h"
+
 
 BasicSourceFinder::BasicSourceFinder(Process* pProc, Player::Session* \
pPlayerSession)  : m_ulRefCount(0)
@@ -536,7 +538,6 @@
 
     PluginHandler::FileFormat*  pFFHandler =
         m_pProc->pc->plugin_handler->m_file_format_handler;
-    PluginHandler::FileSystem *pFSHandler = \
m_pProc->pc->plugin_handler->m_file_sys_handler;  PluginHandler::Errors	pluginResult \
= PluginHandler::PLUGIN_NOT_FOUND;  IUnknown*			pInstance = NULL;
     IHXPlugin*			pPlugin = NULL;;
@@ -582,20 +583,33 @@
     {
         theErr = pPlugin->InitPlugin(m_pProc->pc->server_context);
     }
-    if (HXR_OK == theErr)
+    if (HXR_OK == theErr && m_pFSManager)
     {
         IHXValues *pOptionInfo=NULL;
-        pFSHandler->GetPluginOptions(m_pURL->full,pOptionInfo);
+        PluginHandler::FileSystem::PluginInfo* pPluginInfo=NULL;
+        m_pFSManager->GetLastPlugin( pPluginInfo );
+        if (pPluginInfo)
+        {
+            pPluginInfo->GetOptions(pOptionInfo);
+        }
         ULONG32 ulValue;
-        if(pOptionInfo)
+        if (pOptionInfo)
         {
-            if( HXR_OK == pOptionInfo->GetPropertyULONG32("EnableContentRecording", \
ulValue )) +            IHXRegistry *pRegistry=NULL;
+            m_pProc->pc->server_context->QueryInterface(IID_IHXRegistry, \
(void**)&pRegistry); +
+            INT32 iLicenseContentMarker=0;
+            if (!pRegistry || pRegistry->GetIntByName(REGISTRY_CDIST_PUBLISHER, \
iLicenseContentMarker) != HXR_OK) +            {
+                iLicenseContentMarker = 0;
+            }
+            if (iLicenseContentMarker && HXR_OK == \
pOptionInfo->GetPropertyULONG32("ContentMarker", ulValue))  { 
                 IHXContentRecordability *pContRecord=NULL;
                 pPlugin->QueryInterface(IID_IHXContentRecordability, \
                (void**)&pContRecord );
-                if(pContRecord)
+                if (pContRecord)
                 {
-                    pContRecord->SetEnableContentRecording( (BOOL)ulValue );
+                    pContRecord->SetContentMarker((UINT8)ulValue);
                     HX_RELEASE(pContRecord);
                 }
             }


_______________________________________________
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