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

List:       helix-video-cvs
Subject:    [Video-cvs] sitelib/pub baseroot.h, 1.6, 1.7 basesite.h, 1.13,
From:       ehodge () helixcommunity ! org
Date:       2006-04-05 18:03:25
[Download RAW message or body]

Update of /cvsroot/video/sitelib/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv29177/pub

Modified Files:
	baseroot.h basesite.h basesurf.h surface.h vidsurf2.h 
Log Message:
At about 40 seconds into playback, a timer causes
hxmedpltfm.dll's Plugin2Handler::UnloadDeadDLLs()
to get called to get the plugin2Handler to see if
there are any DLLs that are loaded that have a
zero use count.  If it finds any, it unloads each.
Before the proposed changes in the below diff,
vidsite.dll's base counting object's m_lNumObjects
was 0 when this happened and it thus got unloaded
at around 40 seconds.  This caused a crash
accessing a no-longer-valid memory space whenever
any site user tried to do anything with a site
thereafter.

Solution here is to have all classes that
implement an interface in video/sitelib inherit
from CHXBaseCountingObject.  That way, the base
counting object's count goes up for users of those
vidsite.dll objects (IHXSite, ...etc.)

Reviewed by: nhart@real.com


Index: vidsurf2.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/vidsurf2.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- vidsurf2.h	11 Mar 2005 19:58:08 -0000	1.4
+++ vidsurf2.h	5 Apr 2006 18:03:22 -0000	1.5
@@ -59,6 +59,7 @@
 // Look at CWinSurface2 for reference.
 ///////////////////////////////////////////////////////////////////////////////
 class CVideoSurface2 : public IHXVideoSurface2
+                     , public CHXBaseCountingObject
 {
 public:
 

Index: basesite.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/basesite.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- basesite.h	23 Feb 2006 22:34:08 -0000	1.13
+++ basesite.h	5 Apr 2006 18:03:22 -0000	1.14
@@ -61,6 +61,7 @@
 #include "region.h"
 #include "sitetran.h"
 #include "coloracc.h"
+#include "baseobj.h"
 
 class   CHXBaseSite;
 class   CBaseSurface;
@@ -147,7 +148,9 @@
  public IHXSiteComposition,
  public IHXKeyBoardFocus,
  public IHXDrawFocus,
- public IHXSubRectSite
+ public IHXSubRectSite,
+ public CHXBaseCountingObject
+
 {
   public:
     

Index: baseroot.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/baseroot.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- baseroot.h	16 Feb 2006 23:08:38 -0000	1.6
+++ baseroot.h	5 Apr 2006 18:03:22 -0000	1.7
@@ -51,6 +51,7 @@
 #include "hxvsurf.h"
 #include "hxengin.h"
 #include "hxslist.h"
+#include "baseobj.h"
 
 #ifndef _BASEROOT_H_
 #define _BASEROOT_H_
@@ -80,6 +81,7 @@
 };
 
 class CBaseRootSurface : public IUnknown
+                       , public CHXBaseCountingObject
 {
 public:
     virtual ~CBaseRootSurface();

Index: surface.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/surface.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- surface.h	9 Jul 2004 18:34:59 -0000	1.3
+++ surface.h	5 Apr 2006 18:03:22 -0000	1.4
@@ -60,6 +60,7 @@
 
 class CHXSurface : public IHXVideoSurface,
 		    public IHXVideoControl
+                  , public CHXBaseCountingObject
 {
 protected:
 

Index: basesurf.h
===================================================================
RCS file: /cvsroot/video/sitelib/pub/basesurf.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- basesurf.h	17 Jan 2006 19:37:28 -0000	1.7
+++ basesurf.h	5 Apr 2006 18:03:22 -0000	1.8
@@ -56,6 +56,7 @@
 #include "region.h"
 #include "hxmap.h"
 #include "hxwin.h"
+#include "baseobj.h"
 
 #if !defined(_GOLD) && 0
 #include "timestmp.h"    
@@ -116,7 +117,8 @@
 class CBaseSurface :
 public IHXSubRectVideoSurface,
 public IHXVideoControl,
-public IHXOverlayResponse
+public IHXOverlayResponse,
+public CHXBaseCountingObject
 {
 public:
     friend class CHXBaseSite;



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

Configure | About | News | Add a list | Sponsored by KoreLogic