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

List:       helix-client-cvs
Subject:    [Client-cvs] simplecore hxplay.h, 1.2.4.1, 1.2.4.2 hxrender.cpp,
From:       ching_li () helixcommunity ! org
Date:       2011-08-22 2:37:07
Message-ID: 201108220237.p7M2bUPR002871 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/client/simplecore
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv23845

Modified Files:
      Tag: hxclient_3_6_1_atlas
	hxplay.h hxrender.cpp hxstrm.cpp 
Log Message:
There is a crash issue when simple core can not load any renderer, so add some logic \
to report NO_RENDERER error and avoid crash.


Index: hxstrm.cpp
===================================================================
RCS file: /cvsroot/client/simplecore/hxstrm.cpp,v
retrieving revision 1.3.4.2
retrieving revision 1.3.4.3
diff -u -d -r1.3.4.2 -r1.3.4.3
--- hxstrm.cpp	5 Jul 2011 06:13:39 -0000	1.3.4.2
+++ hxstrm.cpp	22 Aug 2011 02:37:04 -0000	1.3.4.3
@@ -531,7 +531,12 @@
             
             //wait for init done
             WaitForRelease();
-            
+            ret = m_pPlayer->GetLastError();
+            if ( FAILED(ret) )
+            {
+                return ret;
+            }
+
             //start the render loop
             HXThreadMessage msg1(HXMSG_SC_PLAY, NULL, NULL);
             m_pRenderThread->PostMessage(&msg1, NULL);            
@@ -717,13 +722,7 @@
         
         if (FAILED(ret))
         {
-            IHXErrorMessages* pErrorMessage = NULL;
-            m_pPlayer->QueryInterface(IID_IHXErrorMessages, (void**) \
                &pErrorMessage);
-            if (pErrorMessage)
-            {
-                pErrorMessage->Report(HXLOG_ERR, ret, 0, NULL, NULL);
-                pErrorMessage->Release();
-            }
+            m_pPlayer->ReportError(m_pSource, ret);
         }
     }
     return NULL;

Index: hxplay.h
===================================================================
RCS file: /cvsroot/client/simplecore/hxplay.h,v
retrieving revision 1.2.4.1
retrieving revision 1.2.4.2
diff -u -d -r1.2.4.1 -r1.2.4.2
--- hxplay.h	5 Jul 2011 06:13:39 -0000	1.2.4.1
+++ hxplay.h	22 Aug 2011 02:37:03 -0000	1.2.4.2
@@ -588,6 +588,10 @@
     void PostMessage(UINT32 ulMessage, void* pParam1, void* pParam2);
     
     ULONG32 GetLastEnqueuedPacketTS();
+    HX_RESULT GetLastError() const
+    {
+        return m_LastError;
+    }
     
 #if defined(HELIX_FEATURE_VIDEO)
     CHXSiteManager*	 m_pSiteManager;

Index: hxrender.cpp
===================================================================
RCS file: /cvsroot/client/simplecore/hxrender.cpp,v
retrieving revision 1.2.4.3
retrieving revision 1.2.4.4
diff -u -d -r1.2.4.3 -r1.2.4.4
--- hxrender.cpp	12 Aug 2011 02:39:34 -0000	1.2.4.3
+++ hxrender.cpp	22 Aug 2011 02:37:03 -0000	1.2.4.4
@@ -496,7 +496,7 @@
             HX_RELEASE(pUnkRenderer);
             break;
         }
-        else
+        else if (pRendererEnumerator)
         {
            //otherwise try next plugin claiming the same mime-type
            HX_RELEASE(pUnkRenderer);
@@ -507,6 +507,10 @@
 
     HX_RELEASE(pRendererEnumerator);
 
+    if ( FAILED(ret) )
+    {
+        ret = HXR_NO_RENDERER;
+    }
     return ret;
 }
 


_______________________________________________
Client-cvs mailing list
Client-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/client-cvs


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

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