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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/session source_finder.cpp,1.12,1.13
From:       vijendrakumara () helixcommunity ! org
Date:       2007-06-28 13:43:42
Message-ID: 200706281343.l5SDhqNW020773 () mailer ! progressive-comp ! com
[Download RAW message or body]

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

Modified Files:
	source_finder.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: source_finder.cpp
===================================================================
RCS file: /cvsroot/server/engine/session/source_finder.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- source_finder.cpp	22 Jun 2007 05:47:50 -0000	1.12
+++ source_finder.cpp	28 Jun 2007 13:43:40 -0000	1.13
@@ -53,6 +53,8 @@
 #include "srcerrs.h"
 #include "server_request.h"
 #include "ff_source.h"
+#include "defslice.h"
+
 
 
 CServerSourceFinder::CServerSourceFinder
@@ -316,8 +318,6 @@
 
     PluginHandler::FileFormat::PluginInfo* pPluginInfo = NULL;
 
-    PluginHandler::FileSystem *pFSHandler = \
                m_pProc->pc->plugin_handler->m_file_sys_handler;
- 
     pFileFormatHandler = m_pProc->pc->plugin_handler->m_file_format_handler;
     if (pFileFormatHandler)
     {
@@ -352,23 +352,37 @@
 	      && (HXR_OK == pPlugin->InitPlugin(m_pProc->pc->server_context)) )
     {
         HX_RELEASE(pInstance);
-
-       IHXValues *pOptionInfo=NULL;
-       pFSHandler->GetPluginOptions(m_pURL->full,pOptionInfo);
-       ULONG32 ulValue;
-       if(pOptionInfo)
-       {
-            if( HXR_OK == pOptionInfo->GetPropertyULONG32("EnableContentRecording", \
ulValue )) +         IHXValues *pOptionInfo=NULL;
+        if (m_pFSManager)
+        {
+            PluginHandler::FileSystem::PluginInfo* pPluginInfo=NULL;
+            m_pFSManager->GetLastPlugin(pPluginInfo);
+            if (pPluginInfo)
             {
-                IHXContentRecordability *pContRecord=NULL;
-                pPlugin->QueryInterface(IID_IHXContentRecordability, \
                (void**)&pContRecord );
-                if(pContRecord)
+                pPluginInfo->GetOptions(pOptionInfo);
+            }
+            if (pOptionInfo)
+            {
+                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)  {
-                    pContRecord->SetEnableContentRecording( (HXBOOL)ulValue );
-                    HX_RELEASE(pContRecord);
+                    iLicenseContentMarker = 0;
+                }
+                ULONG32 ulValue;
+                if (iLicenseContentMarker  && HXR_OK == \
pOptionInfo->GetPropertyULONG32("ContentMarker", ulValue)) +                {
+                    IHXContentRecordability *pContRecord=NULL;
+                    pPlugin->QueryInterface(IID_IHXContentRecordability, \
(void**)&pContRecord ); +                    if (pContRecord)
+                    {
+                        pContRecord->SetContentMarker((UINT8)ulValue);
+                        HX_RELEASE(pContRecord);
+                    }
                 }
+                HX_RELEASE(pOptionInfo);
             }
-            HX_RELEASE(pOptionInfo);
        }
         pFileFormatSource = new FileFormatSource(m_pProc, pFileFormatObject, 
 						  m_pFSManager->m_mount_point_len, 


_______________________________________________
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