[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