[Common-cvs] include hxfiles.h,1.8.30.3,1.8.30.4

[Common-cvs] include hxfiles.h,1.8.30.3,1.8.30.4

rdolas at helixcommunity.org rdolas at helixcommunity.org
Sun Nov 25 21:43:39 PST 2007


Update of /cvsroot/common/include
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv3926

Modified Files:
      Tag: SERVER_11_1
	hxfiles.h 
Log Message:
Synopsis
========
 
This CR includes fix for PR 198654: QA: ContentMarker: Unable to block the 
content recording when subscriber serves the content from Publisher.
 
Quick link to the PR:
https://bugs.dev.prognet.com/show_bug.cgi?id=198654
 
Branch: SERVER_11_1_RN, HEAD, BORABORA
Suggested Reviewer: Darrick, Srinivasa Rao, Vijendra
 
Description
===========

In content caching scenario, When subscriber caches the content from Publisher and 
serves it to the client, Content recording does not get blocked even if it is  
blocked on publisher as well as subscriber.
 
There are fixes for Subscriber as well as Publisher code as described below:
 
FIX for Publisher: 

   When the ContentMarker is set on Publisher we should set the Flags for disabling the
   content recording in the SDP Describe response from the publisher. We need to set the 
   5th bit of the flags variable of the SDP Description for disabling the content 
   recording.  For updating this flags I have implemented the IHXContentRecordability 
   for the MEI File Format Plugin. So when we have ContentMarker set in the config file 
   for the Content / mountpoint then we are setting the m_ucContentMarker as 1 for the 
   MEI FF Plugin. When the m_ucContentMarker is set then we are adding the Flags as 16 
   to the file header.


   Files Affected
   ==============
   server_rn/cache/meiffpln/meiffpln.h
   server_rn/cache/meiffpln/meiffpln.cpp
   common/include/hxfiles.h
 

FIX for Subscriber:

   After getting the Flags from the SDP Description sent by the publisher we need to
   store this Flags value. Now the real problem was to propagate the stored Flags value 
   to the player from the Subscriber. For propagating this value I am using the 
   m_fileAccessTime variable as this value does not seems to be used anywhere and anyway 
   we are overwriting the file access time inside the CMIIFileObject::RemoteStatDone() 
   with the current system time.

   When we call the MEIStatDone() method for sending the stat of the file from the Subscriber,
   we are now sending the Flags for disabling the Content Recording as m_fileAccessTime. And 
   now we are not overwriting the file access time with the system time and instead we are 
   setting the Flags which we send as m_fileAccessTime. 

   Then this Flags value eventually propagates to the Player::Session::StatDone() method where
   we are storing this Flags value to the Player::Session::m_ulFlags member variable.

   After that we will get the actual file header inside of Player::Session::FileHeaderReady() 
   method and then we will get the Flags from the file header. Then we will OR the Flags got 
   from the file header with the m_ulFlags got from the meiffpln and then sets the Flags 
   property of the file header with the m_ulFlags.
 

   Files Affected
   ==============
   server_rn/cache/miiplin/miifile.cpp
   server_rn/cache/miiplin/rtspconn.cpp
   server_rn/cache/miiplin/rtspconn.h 

   common/include/hxfiles.h
   server/engine/session/player.cpp
   server/engine/session/pub/player.h

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

Unit Tests: 
- Tested that the Content Recording is getting blocked when the ContentMarker is set
  at both the publisher and subscriber or when set at the publisher end only.

 
Integration Tests: 
- None

Leak Tests:
- None

Performance Tests:
- None


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

Platforms Tested: win32-i386-vc7


QA Hints
========
Please verify that the content recording is getting blocked when the ContentMarker 
is set at both the publisher and subscriber or at the publisher end only.



Index: hxfiles.h
===================================================================
RCS file: /cvsroot/common/include/hxfiles.h,v
retrieving revision 1.8.30.3
retrieving revision 1.8.30.4
diff -u -d -r1.8.30.3 -r1.8.30.4
--- hxfiles.h	28 Jun 2007 13:59:47 -0000	1.8.30.3
+++ hxfiles.h	26 Nov 2007 05:43:37 -0000	1.8.30.4
@@ -275,6 +275,15 @@
                         ULONG32 ulInfo) PURE;
 };
 
+
+/****************************************************************************
+ *  Defines:
+ *      CONTENT_RECORD_BLOCKING
+ *  Purpose:
+ *      Flags for Content Record Blocking Feature
+ */
+#define CONTENT_RECORD_BLOCKING (1<<4)
+
 /****************************************************************************
  *
  *  Interface:




More information about the Common-cvs mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.