From gwright at helixcommunity.org Mon Jul 3 11:57:45 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Mon Jul 3 13:35:47 2006
Subject: [Common-cvs] include hxcore.h,1.16,1.17
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv26820
Modified Files:
hxcore.h
Log Message:
Fix linux builds, BOOL is not defined, use HXBOOL instead.
Index: hxcore.h
===================================================================
RCS file: /cvsroot/common/include/hxcore.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- hxcore.h 30 Jun 2006 12:54:13 -0000 1.16
+++ hxcore.h 3 Jul 2006 18:57:42 -0000 1.17
@@ -2276,7 +2276,7 @@
* Purpose:
*
*/
- STDMETHOD_(BOOL,IsExternalClockUsed) (THIS) PURE;
+ STDMETHOD_(HXBOOL,IsExternalClockUsed) (THIS) PURE;
/************************************************************************
* Method:
From gwright at helixcommunity.org Wed Jul 5 10:52:57 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 5 12:30:30 2006
Subject: [Common-cvs] auth/authmgr cliauth.cpp,1.8,1.9
Message-ID:
Update of /cvsroot/common/auth/authmgr
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv18674/authmgr
Modified Files:
cliauth.cpp
Log Message:
Fixing linux build buster. This is an old CR that I forgot to check
in.
Index: cliauth.cpp
===================================================================
RCS file: /cvsroot/common/auth/authmgr/cliauth.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- cliauth.cpp 17 May 2006 21:17:38 -0000 1.8
+++ cliauth.cpp 5 Jul 2006 17:52:54 -0000 1.9
@@ -777,8 +777,6 @@
) spIHXClientAuthConversationPlugin;
DECLARE_SMART_POINTER(IHXBuffer) spIHXBufferPropValue;
DECLARE_SMART_POINTER(IHXValues) spIHXValuesResponseHeaders;
- HX_RESULT HX_RESULTRet = HXR_FAIL;
- const char* pcharPropName = NULL;
if(FAILED(m_HX_RESULTStatus) && HX_RESULTStatus != HXR_FAIL)
{
@@ -865,7 +863,6 @@
IHXValues* pIHXValuesCredentialRequest
)
{
- IHXBuffer* pRealm = NULL;
if(pIHXValuesCredentialRequest)
{
@@ -1101,7 +1098,7 @@
#ifdef HELIX_FEATURE_CLIENT
// Retrieve all plugins which support this search prop and data value.
- SPIHXPluginHandler3 spHandler = m_spIUnknownContext;
+ SPIHXPluginHandler3 spHandler(m_spIUnknownContext);
SPIHXPluginSearchEnumerator spIEnumerator;
if (spHandler.IsValid())
{
From gwright at helixcommunity.org Fri Jul 7 12:38:06 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Fri Jul 7 14:15:10 2006
Subject: [Common-cvs] include hxcore.h, 1.8.6.1, 1.8.6.2 hxiids.h, 1.78.2.4,
1.78.2.5 hxrendr.h, 1.8, 1.8.6.1
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv14658
Modified Files:
Tag: hxclient_1_5_0_cayenne
hxcore.h hxiids.h hxrendr.h
Log Message:
Adding support for QuickSeek(FrameScrubbing). See this thread:
http://lists.helixcommunity.org/pipermail/client-dev/2006-July/003759.html
Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.78.2.4
retrieving revision 1.78.2.5
diff -u -d -r1.78.2.4 -r1.78.2.5
--- hxiids.h 30 Jun 2006 12:45:05 -0000 1.78.2.4
+++ hxiids.h 7 Jul 2006 19:38:04 -0000 1.78.2.5
@@ -323,11 +323,12 @@
* IID_IHXPersistentRenderer: {00000301-0901-11d1-8B06-00A024406D59}
* IID_IHXUntimedRenderer: {00000303-0901-11d1-8B06-00A024406D59}
*/
-DEFINE_GUID_ENUM(IID_IHXRenderer, 0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXRenderer, 0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $Private:
-DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $EndPrivate.
-DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
/*
@@ -363,6 +364,7 @@
DEFINE_GUID_ENUM(IID_IHXStream2, 0x00000400, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
DEFINE_GUID_ENUM(IID_IHXStreamSource, 0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXPlayer, 0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
DEFINE_GUID_ENUM(IID_IHXClientEngine, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
#ifdef _UNIX
DEFINE_GUID_ENUM(IID_IHXClientEngineSelector, 0x00000404, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
Index: hxcore.h
===================================================================
RCS file: /cvsroot/common/include/hxcore.h,v
retrieving revision 1.8.6.1
retrieving revision 1.8.6.2
diff -u -d -r1.8.6.1 -r1.8.6.2
--- hxcore.h 30 Jun 2006 12:44:46 -0000 1.8.6.1
+++ hxcore.h 7 Jul 2006 19:38:04 -0000 1.8.6.2
@@ -53,37 +53,35 @@
/*
* Forward declarations of some interfaces defined or used here-in.
*/
-typedef _INTERFACE IUnknown IUnknown;
-typedef _INTERFACE IHXStream IHXStream;
-typedef _INTERFACE IHXStream2 IHXStream2;
-typedef _INTERFACE IHXStreamSource IHXStreamSource;
-typedef _INTERFACE IHXPlayer IHXPlayer;
-typedef _INTERFACE IHXClientEngine IHXClientEngine;
-typedef _INTERFACE IHXScheduler IHXScheduler;
-typedef _INTERFACE IHXClientAdviseSink IHXClientAdviseSink;
[...2924 lines suppressed...]
+ * Purpose:
* Call this method to lock the client engine's core mutex.
*/
- STDMETHOD(LockMacBlitMutex) (THIS) PURE;
+ STDMETHOD(LockMacBlitMutex) (THIS) PURE;
/************************************************************************
- * Method:
- * IHXMacBlitMutex::UnlockMacBlitMutex
- * Purpose:
+ * Method:
+ * IHXMacBlitMutex::UnlockMacBlitMutex
+ * Purpose:
* Call this method to unlock the client engine's core mutex.
*/
- STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
+ STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
};
/****************************************************************************
Index: hxrendr.h
===================================================================
RCS file: /cvsroot/common/include/hxrendr.h,v
retrieving revision 1.8
retrieving revision 1.8.6.1
diff -u -d -r1.8 -r1.8.6.1
--- hxrendr.h 5 Aug 2004 14:47:03 -0000 1.8
+++ hxrendr.h 7 Jul 2006 19:38:04 -0000 1.8.6.1
@@ -495,4 +495,28 @@
STDMETHOD_(HX_RESULT,SetUntimedRendering)(THIS_ BOOL) PURE;
};
+
+
+/*
+ * IHXFrameInfo. Used by the core to determine of a visual renderer
+ * is still waiting to display the first frame after playback
+ * begins or after a seek event. Current used by the QuickSeek
+ * interface to find out just
+ */
+DEFINE_GUID(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab,
+ 0x7b, 0x8f, 0xa5, 0xa, 0xee);
+
+
+#undef INTERFACE
+#define INTERFACE IHXFrameInfo
+DECLARE_INTERFACE_(IHXFrameInfo, IUnknown)
+{
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
+ STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
+ STDMETHOD_(ULONG32,Release) (THIS) PURE;
+ STDMETHOD_(BOOL,FirstFrameDisplayed)(THIS) PURE;
+};
+
+
+
#endif /* _HXRENDR_H_ */
From gwright at helixcommunity.org Fri Jul 7 13:31:54 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Fri Jul 7 15:08:57 2006
Subject: [Common-cvs] include hxcore.h, 1.17, 1.18 hxiids.h, 1.109,
1.110 hxrendr.h, 1.9, 1.10 platform.h, 1.38, 1.39
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20987
Modified Files:
hxcore.h hxiids.h hxrendr.h platform.h
Log Message:
Adding support for QuickSeek(FrameScrubbing). See this thread:
http://lists.helixcommunity.org/pipermail/client-dev/2006-July/003759.html
Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- hxiids.h 30 Jun 2006 12:54:13 -0000 1.109
+++ hxiids.h 7 Jul 2006 20:31:51 -0000 1.110
@@ -335,11 +335,12 @@
* IID_IHXPersistentRenderer: {00000301-0901-11d1-8B06-00A024406D59}
* IID_IHXUntimedRenderer: {00000303-0901-11d1-8B06-00A024406D59}
*/
-DEFINE_GUID_ENUM(IID_IHXRenderer, 0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXRenderer, 0x00000300, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $Private:
-DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $EndPrivate.
-DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
/*
@@ -376,6 +377,7 @@
DEFINE_GUID_ENUM(IID_IHXStreamSource, 0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXStreamSource2, 0xc5a25d4d, 0xcd2c, 0x4bab, 0xb8, 0x3, 0xe2, 0x9a, 0x4d, 0x20, 0x81, 0xb1)
DEFINE_GUID_ENUM(IID_IHXPlayer, 0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
DEFINE_GUID_ENUM(IID_IHXClientEngine, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXClientEngine2, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
#ifdef _UNIX
Index: hxcore.h
===================================================================
RCS file: /cvsroot/common/include/hxcore.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- hxcore.h 3 Jul 2006 18:57:42 -0000 1.17
+++ hxcore.h 7 Jul 2006 20:31:51 -0000 1.18
@@ -53,38 +53,35 @@
/*
* Forward declarations of some interfaces defined or used here-in.
*/
-typedef _INTERFACE IUnknown IUnknown;
-typedef _INTERFACE IHXStream IHXStream;
-typedef _INTERFACE IHXStream2 IHXStream2;
-typedef _INTERFACE IHXStreamSource IHXStreamSource;
-typedef _INTERFACE IHXStreamSource2 IHXStreamSource2;
-typedef _INTERFACE IHXPlayer IHXPlayer;
-typedef _INTERFACE IHXClientEngine IHXClientEngine;
-typedef _INTERFACE IHXScheduler IHXScheduler;
[...2811 lines suppressed...]
- * Purpose:
+ * Method:
+ * IHXMacBlitMutex::UnlockMacBlitMutex
+ * Purpose:
* Call this method to unlock the client engine's core mutex.
*/
- STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
+ STDMETHOD(UnlockMacBlitMutex) (THIS) PURE;
};
/****************************************************************************
*
@@ -2288,8 +2282,6 @@
};
-// $EndPrivate.
-
#include "hxcomptr.h"
DEFINE_SMART_PTR(IHXStream)
DEFINE_SMART_PTR(IHXStream2)
Index: platform.h
===================================================================
RCS file: /cvsroot/common/include/platform.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -d -r1.38 -r1.39
--- platform.h 6 Jun 2006 22:12:13 -0000 1.38
+++ platform.h 7 Jul 2006 20:31:51 -0000 1.39
@@ -45,10 +45,10 @@
*
* Contributor(s):
*
- * ***** END LICENSE BLOCK ***** */
-
-#ifndef _PLATFORM_H_
-#define _PLATFORM_H_
-#define TARVER_STR_PLATFORM "linux-2.2-libc6-gcc32-i586"
-#define TARVER_STR_BUILD_BRANCH "helix"
-#endif
+ * ***** END LICENSE BLOCK ***** */
+
+#ifndef _PLATFORM_H_
+#define _PLATFORM_H_
+#define TARVER_STR_PLATFORM "win32"
+#define TARVER_STR_BUILD_BRANCH "helix_restricted"
+#endif
Index: hxrendr.h
===================================================================
RCS file: /cvsroot/common/include/hxrendr.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- hxrendr.h 14 Mar 2005 19:27:09 -0000 1.9
+++ hxrendr.h 7 Jul 2006 20:31:51 -0000 1.10
@@ -495,4 +495,28 @@
STDMETHOD_(HX_RESULT,SetUntimedRendering)(THIS_ HXBOOL) PURE;
};
+
+
+/*
+ * IHXFrameInfo. Used by the core to determine of a visual renderer
+ * is still waiting to display the first frame after playback
+ * begins or after a seek event. Current used by the QuickSeek
+ * interface to find out just
+ */
+DEFINE_GUID(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab,
+ 0x7b, 0x8f, 0xa5, 0xa, 0xee);
+
+
+#undef INTERFACE
+#define INTERFACE IHXFrameInfo
+DECLARE_INTERFACE_(IHXFrameInfo, IUnknown)
+{
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
+ STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
+ STDMETHOD_(ULONG32,Release) (THIS) PURE;
+ STDMETHOD_(BOOL,FirstFrameDisplayed)(THIS) PURE;
+};
+
+
+
#endif /* _HXRENDR_H_ */
From gwright at helixcommunity.org Mon Jul 10 10:28:11 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Mon Jul 10 12:04:31 2006
Subject: [Common-cvs] include hxrendr.h,1.10,1.11
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv13988
Modified Files:
hxrendr.h
Log Message:
Fix typo, BOOL. Fixes linux builds.
Index: hxrendr.h
===================================================================
RCS file: /cvsroot/common/include/hxrendr.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- hxrendr.h 7 Jul 2006 20:31:51 -0000 1.10
+++ hxrendr.h 10 Jul 2006 17:28:05 -0000 1.11
@@ -514,7 +514,7 @@
STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
- STDMETHOD_(BOOL,FirstFrameDisplayed)(THIS) PURE;
+ STDMETHOD_(HXBOOL,FirstFrameDisplayed)(THIS) PURE;
};
From gwright at helixcommunity.org Wed Jul 12 10:24:58 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 12 12:00:48 2006
Subject: [Common-cvs] include hxiids.h,1.78.2.5,1.78.2.6
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv6580
Modified Files:
Tag: hxclient_1_5_0_cayenne
hxiids.h
Log Message:
Removing uneeded ';'s to fix symbian builds.
Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.78.2.5
retrieving revision 1.78.2.6
diff -u -d -r1.78.2.5 -r1.78.2.6
--- hxiids.h 7 Jul 2006 19:38:04 -0000 1.78.2.5
+++ hxiids.h 12 Jul 2006 17:24:56 -0000 1.78.2.6
@@ -328,7 +328,7 @@
DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $EndPrivate.
DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee)
/*
@@ -364,7 +364,7 @@
DEFINE_GUID_ENUM(IID_IHXStream2, 0x00000400, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
DEFINE_GUID_ENUM(IID_IHXStreamSource, 0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXPlayer, 0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15)
DEFINE_GUID_ENUM(IID_IHXClientEngine, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
#ifdef _UNIX
DEFINE_GUID_ENUM(IID_IHXClientEngineSelector, 0x00000404, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
From gwright at helixcommunity.org Wed Jul 12 10:25:55 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 12 12:01:45 2006
Subject: [Common-cvs] include hxiids.h,1.110,1.111
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv6875
Modified Files:
hxiids.h
Log Message:
Removing uneeded ';' to fix symbian builds.
Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -d -r1.110 -r1.111
--- hxiids.h 7 Jul 2006 20:31:51 -0000 1.110
+++ hxiids.h 12 Jul 2006 17:25:53 -0000 1.111
@@ -340,7 +340,7 @@
DEFINE_GUID_ENUM(IID_IHXPersistentRenderer, 0x00000301, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $EndPrivate.
DEFINE_GUID_ENUM(IID_IHXUntimedRenderer, 0x00000303, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee);
+DEFINE_GUID_ENUM(IID_IHXFrameInfo, 0x248e4030, 0x2cf1, 0x4b97, 0x82, 0xe1, 0xab, 0x7b, 0x8f, 0xa5, 0xa, 0xee)
/*
@@ -377,7 +377,7 @@
DEFINE_GUID_ENUM(IID_IHXStreamSource, 0x00000401, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXStreamSource2, 0xc5a25d4d, 0xcd2c, 0x4bab, 0xb8, 0x3, 0xe2, 0x9a, 0x4d, 0x20, 0x81, 0xb1)
DEFINE_GUID_ENUM(IID_IHXPlayer, 0x00000402, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
-DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15);
+DEFINE_GUID_ENUM(IID_IHXQuickSeek, 0x6eb157e9, 0xbfa3, 0x462c, 0xad, 0xac, 0x99, 0x54, 0xb6, 0x69, 0xed, 0x15)
DEFINE_GUID_ENUM(IID_IHXClientEngine, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXClientEngine2, 0x00000403, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x5a)
#ifdef _UNIX
From gwright at helixcommunity.org Wed Jul 12 11:18:08 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Wed Jul 12 12:53:57 2006
Subject: [Common-cvs] build/BIF helix.bif,1.583,1.584
Message-ID:
Update of /cvsroot/common/build/BIF
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv13101
Modified Files:
helix.bif
Log Message:
Fixing build buster on non windows machines. Missing dep for
tone generator.
Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.583
retrieving revision 1.584
diff -u -d -r1.583 -r1.584
--- helix.bif 15 Jun 2006 19:39:41 -0000 1.583
+++ helix.bif 12 Jul 2006 18:18:05 -0000 1.584
@@ -14032,7 +14032,7 @@
- win32
+ unix mac win32 symbian openwave wince
From jzeng at helixcommunity.org Fri Jul 14 14:02:21 2006
From: jzeng at helixcommunity.org (jzeng@helixcommunity.org)
Date: Fri Jul 14 15:37:39 2006
Subject: [Common-cvs] build/BIF helix.bif,1.584,1.585
Message-ID:
Update of /cvsroot/common/build/BIF
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv3213
Modified Files:
helix.bif
Log Message:
remove unnecessary dependency.
Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.584
retrieving revision 1.585
diff -u -d -r1.584 -r1.585
--- helix.bif 12 Jul 2006 18:18:05 -0000 1.584
+++ helix.bif 14 Jul 2006 21:02:18 -0000 1.585
@@ -11822,19 +11822,6 @@
-
-
-
- unix win32
-
-
-
- common_include
- common_dbgtool
- common_runtime
-
-
-
@@ -11985,7 +11972,6 @@
server_protocol_wmt_http
server_protocol_common
- server_datatype_asf_common
server_engine_config
server_engine_context
server_engine_registry
@@ -12074,7 +12060,6 @@
server_protocol_transport_rdt
server_protocol_common
- server_datatype_asf_common
server_engine_config
server_engine_context
server_engine_core
@@ -12138,7 +12123,6 @@
server_protocol_transport_rdt
server_protocol_common
- server_datatype_asf_common
server_engine_config
server_engine_context
server_engine_core
@@ -12280,7 +12264,6 @@
server_common_netio
server_common_struct
server_common_util
- server_datatype_asf_common
server_engine_config
server_engine_context
server_engine_core
@@ -12381,7 +12364,6 @@
server_common_netio
server_common_struct
server_common_util
- server_datatype_asf_common
server_engine_config
server_engine_context
server_engine_core
From kliu at helixcommunity.org Mon Jul 17 13:29:15 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Mon Jul 17 15:03:49 2006
Subject: [Common-cvs] CVSROOT avail,1.97,1.98
Message-ID:
Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24446/CVSROOT
Modified Files:
avail
Log Message:
giving lkimbro write access for the common project
Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -d -r1.97 -r1.98
--- avail 28 Jun 2006 22:07:50 -0000 1.97
+++ avail 17 Jul 2006 20:29:12 -0000 1.98
@@ -1,4 +1,5 @@
unavail
+avail|lkimbro
avail|krmccaw
avail|kliu
avail|mserver
From damann at helixcommunity.org Mon Jul 17 14:17:01 2006
From: damann at helixcommunity.org (damann@helixcommunity.org)
Date: Mon Jul 17 15:51:33 2006
Subject: [Common-cvs] include hxresult.h,1.37.2.3,1.37.2.4
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv31177/include
Modified Files:
Tag: hxclient_2_1_0_cayennes
hxresult.h
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."
Modified by:
darrin.mann@nokia.com
Reviewed by:
gwright@real.com
Date:
July-17-2006
Project:
Helix plug-in for Symbian
Error ID:
DMAN-6RMSWB
Synopsis:
When DevVideo has an error, it makes a calls MdvpoFatalError() on the MDF video
adapter. Since the video is lost, MDF issues an error on the IHXErrorMessages
interface. The error is propagated to the MMF and TLC and the player is closed.
A few memory leaks were removed also.
Files Modified:
clientapps/symbianMmf/hxmmfctrlimpl.cpp
common/include/hxresult.h
datatype/mdf/video/renderer/mdfpluginmanager.cpp
datatype/mdf/video/renderer/mdfvideoadapter.cpp
datatype/mdf/video/renderer/mdfvidrend.cpp
datatype/mdf/video/renderer/pub/mdfvideoadapter.h
Files Added:
None
Image Size and Heap Use impact:
None
Platforms and Profiles Build Verified:
helix-client-s60-mmf-mdf-arm
Platforms and Profiles Functionality verified:
winscw
armv5
Branch:
head and hxclient_2_1_0_cayennes
Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.37.2.3
retrieving revision 1.37.2.4
diff -u -d -r1.37.2.3 -r1.37.2.4
--- hxresult.h 7 Apr 2006 19:21:41 -0000 1.37.2.3
+++ hxresult.h 17 Jul 2006 21:16:58 -0000 1.37.2.4
@@ -169,7 +169,8 @@
#define HXR_S_FALSE MAKE_HX_RESULT(0,SS_GLO,34) // 00040022
#define HXR_WARNING MAKE_HX_RESULT(0,SS_GLO,35) // 00040023
#define HXR_PARTIALPLAYBACK MAKE_HX_RESULT(0,SS_GLO,36) // 00040024
-#define HXR_AUDIODEVICETAKEN MAKE_HX_RESULT(0,SS_GLO,37) // 80040025
+#define HXR_AUDIODEVICETAKEN MAKE_HX_RESULT(0,SS_GLO,37) // 00040025
+#define HXR_DEVVIDEO_FATAL_ERROR MAKE_HX_RESULT(1,SS_GLO,38) // 80040026
#define HXR_BUFFERING MAKE_HX_RESULT(0,SS_NET,0) // 00040040
#define HXR_PAUSED MAKE_HX_RESULT(0,SS_NET,1) // 00040041
From damann at helixcommunity.org Mon Jul 17 15:03:09 2006
From: damann at helixcommunity.org (damann@helixcommunity.org)
Date: Mon Jul 17 16:37:42 2006
Subject: [Common-cvs] include hxresult.h,1.41,1.42
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv25944
Modified Files:
hxresult.h
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."
Modified by:
darrin.mann@nokia.com
Reviewed by:
gwright@real.com
Date:
July-17-2006
Project:
Helix plug-in for Symbian
Error ID:
DMAN-6RMSWB
Synopsis:
When DevVideo has an error, it makes a calls MdvpoFatalError() on the MDF video
adapter. Since the video is lost, MDF issues an error on the IHXErrorMessages
interface. The error is propagated to the MMF and TLC and the player is closed.
A few memory leaks were removed also.
Files Modified:
clientapps/symbianMmf/hxmmfctrlimpl.cpp
common/include/hxresult.h
datatype/mdf/video/renderer/mdfpluginmanager.cpp
datatype/mdf/video/renderer/mdfvideoadapter.cpp
datatype/mdf/video/renderer/mdfvidrend.cpp
datatype/mdf/video/renderer/pub/mdfvideoadapter.h
Files Added:
None
Image Size and Heap Use impact:
None
Platforms and Profiles Build Verified:
helix-client-s60-mmf-mdf-arm
Platforms and Profiles Functionality verified:
winscw
armv5
Branch:
head and hxclient_2_1_0_cayennes
Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- hxresult.h 26 Jun 2006 13:53:46 -0000 1.41
+++ hxresult.h 17 Jul 2006 22:03:06 -0000 1.42
@@ -170,7 +170,8 @@
#define HXR_S_FALSE MAKE_HX_RESULT(0,SS_GLO,34) // 00040022
#define HXR_WARNING MAKE_HX_RESULT(0,SS_GLO,35) // 00040023
#define HXR_PARTIALPLAYBACK MAKE_HX_RESULT(0,SS_GLO,36) // 00040024
-#define HXR_AUDIODEVICETAKEN MAKE_HX_RESULT(0,SS_GLO,37) // 80040025
+#define HXR_AUDIODEVICETAKEN MAKE_HX_RESULT(0,SS_GLO,37) // 00040025
+#define HXR_DEVVIDEO_FATAL_ERROR MAKE_HX_RESULT(1,SS_GLO,38) // 80040026
#define HXR_BUFFERING MAKE_HX_RESULT(0,SS_NET,0) // 00040040
#define HXR_PAUSED MAKE_HX_RESULT(0,SS_NET,1) // 00040041
From kliu at helixcommunity.org Tue Jul 18 12:36:13 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Tue Jul 18 14:10:32 2006
Subject: [Common-cvs] CVSROOT avail,1.98,1.99
Message-ID:
Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19623/CVSROOT
Modified Files:
avail
Log Message:
giving srao write access for the common project
Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -d -r1.98 -r1.99
--- avail 17 Jul 2006 20:29:12 -0000 1.98
+++ avail 18 Jul 2006 19:36:11 -0000 1.99
@@ -1,4 +1,5 @@
unavail
+avail|srao
avail|lkimbro
avail|krmccaw
avail|kliu
From kliu at helixcommunity.org Tue Jul 18 12:36:19 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Tue Jul 18 14:10:38 2006
Subject: [Common-cvs] CVSROOT avail,1.99,1.100
Message-ID:
Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19649/CVSROOT
Modified Files:
avail
Log Message:
giving asrivastava write access for the common project
Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -d -r1.99 -r1.100
--- avail 18 Jul 2006 19:36:11 -0000 1.99
+++ avail 18 Jul 2006 19:36:17 -0000 1.100
@@ -1,4 +1,5 @@
unavail
+avail|asrivastava
avail|srao
avail|lkimbro
avail|krmccaw
From kliu at helixcommunity.org Wed Jul 19 09:34:29 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Wed Jul 19 11:08:36 2006
Subject: [Common-cvs] CVSROOT avail,1.100,1.101
Message-ID:
Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv12141/CVSROOT
Modified Files:
avail
Log Message:
granting vishnuk write access for the common project
Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -d -r1.100 -r1.101
--- avail 18 Jul 2006 19:36:17 -0000 1.100
+++ avail 19 Jul 2006 16:34:27 -0000 1.101
@@ -1,4 +1,5 @@
unavail
+avail|vishnuk
avail|asrivastava
avail|srao
avail|lkimbro
From milko at helixcommunity.org Thu Jul 20 16:15:17 2006
From: milko at helixcommunity.org (milko@helixcommunity.org)
Date: Thu Jul 20 17:49:04 2006
Subject: [Common-cvs] build/BIF helix.bif,1.585,1.586
Message-ID:
Update of /cvsroot/common/build/BIF
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv27369
Modified Files:
helix.bif
Log Message:
Added datatype_rtsp_fileformat target. ----------------------------------------------------------------------
Index: helix.bif
===================================================================
RCS file: /cvsroot/common/build/BIF/helix.bif,v
retrieving revision 1.585
retrieving revision 1.586
diff -u -d -r1.585 -r1.586
--- helix.bif 14 Jul 2006 21:02:18 -0000 1.585
+++ helix.bif 20 Jul 2006 23:15:10 -0000 1.586
@@ -7150,6 +7150,37 @@
+
+
+
+
+
+
+ unix mac win32 symbian openwave wince
+
+
+
+ helix-client-local-mp3
+ helix-client-local-ra-mp3
+ helix-client-local-ra
+ helix-client-local-ra-rv
+ helix-client-local-ra-rv-mp3
+
+
+
+ common_include
+ client_include
+
+
+
+ common_runtime
+ common_dbgtool
+ common_container
+ common_util
+ common_system
+ common_log_logutil
+
+
@@ -13882,6 +13913,7 @@
datatype_smil_renderer
datatype_text_realtext_fileformat
datatype_text_realtext_renderer
+ datatype_rtsp_fileformat
filesystem_http
filesystem_local
filesystem_memory
From cdunn at helixcommunity.org Thu Jul 20 18:40:31 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:14:18 2006
Subject: [Common-cvs] include hxiids.h,1.111,1.112 hxengin.h,1.29,1.30
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv14491
Modified Files:
hxiids.h hxengin.h
Log Message:
Add IHXAsyncTimer
Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -d -r1.111 -r1.112
--- hxiids.h 12 Jul 2006 17:25:53 -0000 1.111
+++ hxiids.h 21 Jul 2006 01:40:29 -0000 1.112
@@ -156,6 +156,7 @@
* IID_IHXMutex: {00000116-0901-11d1-8B06-00A024406D59}
* IID_IHXThread: {00000116-0911-11d1-8B06-00A024406D59}
* IID_IHXEvent: {00000116-0921-11d1-8B06-00A024406D59}
+ * IID_IHXAsyncTimer: {B9141021-E008-496b-8D78-7694E7274F8A}
* IID_IHXNetworkInterfaceEnumerator{00000121-0901-11d1-8B06-00A024406D59}
* IID_IHXUDPConnectedSocket {0000012A-0901-11d1-8B06-00A024406D59}
// $Private:
@@ -202,6 +203,7 @@
DEFINE_GUID_ENUM(IID_IHXMutex, 0x00000116, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXThread, 0x00000116, 0x911, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXEvent, 0x00000116, 0x921, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
+DEFINE_GUID_ENUM(IID_IHXAsyncTimer, 0xb9141021, 0xe008, 0x496b, 0x8d, 0x78, 0x76, 0x94, 0xe7, 0x27, 0x4f, 0x8a)
DEFINE_GUID_ENUM(IID_IHXNetworkInterfaceEnumerator,0x00000121, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
DEFINE_GUID_ENUM(IID_IHXUDPConnectedSocket, 0x0000012a, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
// $Private:
Index: hxengin.h
===================================================================
RCS file: /cvsroot/common/include/hxengin.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- hxengin.h 22 Jun 2006 20:42:37 -0000 1.29
+++ hxengin.h 21 Jul 2006 01:40:29 -0000 1.30
@@ -93,6 +93,14 @@
typedef _INTERFACE IHXAutoBWCalibrationAdviseSink IHXAutoBWCalibrationAdviseSink;
typedef _INTERFACE IHXPreferredTransport IHXPreferredTransport;
+// TIMERPROC used in IHXAsyncTimer
+#if defined( _WINDOWS )
+#include "hlxclib/windows.h"
+#endif
+#if !defined( _WIN32 ) && !defined( _WINDOWS )
+typedef void (*TIMERPROC)( void* , UINT32 , UINT32, ULONG32 );
+#endif
+
/*
* Address flags starting with PNR are depricated.
*/
@@ -2146,6 +2154,66 @@
UINT32 ulTimeoutPeriod) PURE;
};
+/****************************************************************************
+ *
+ * Interface:
+ *
+ * IHXAsyncTimer
+ *
+ * IID_IHXAsyncTimer:
+ * {B9141021-E008-496b-8D78-7694E7274F8A}
+ *
+ */
+DEFINE_GUID(IID_IHXAsyncTimer, 0xb9141021, 0xe008, 0x496b, 0x8d, 0x78, 0x76,
+ 0x94, 0xe7, 0x27, 0x4f, 0x8a);
+
+#undef INTERFACE
+#define INTERFACE IHXAsyncTimer
+
+/*
+ * The IHXCommonClassFactory supports creating an instance
+ * of this object.
+ */
+#define CLSID_IHXAsyncTimer IID_IHXAsyncTimer
+
+DECLARE_INTERFACE_(IHXAsyncTimer, IUnknown)
+{
+ /*
+ * IUnknown methods
+ */
+ STDMETHOD(QueryInterface) (THIS_
+ REFIID riid,
+ void** ppvObj) PURE;
+
+ STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
+
+ STDMETHOD_(ULONG32,Release) (THIS) PURE;
+
+ /*
+ * IHXAsyncTimer methods
+ */
+
+ // HXMSG_ASYNC_TIMER messages will be posted to
+ // pReceivingThread's message queue every ulTimeOut milliseconds.
+ // until KillTimer is called.
+ // NOTE: under _WIN32 pReceivingThread is IGNORED and the calling
+ // thread is the one to recieve the timer messages (WM_TIMER).
+ STDMETHOD(SetTimer) (THIS_
+ ULONG32 ulTimeOut,
+ IHXThread* pReceivingThread) PURE;
+
+ // pfExecFunc will be called every ulTimeOut ms
+ STDMETHOD(SetTimer) (THIS_
+ ULONG32 ulTimeOut,
+ TIMERPROC pfExecFunc) PURE;
+
+ // Get the timer id (thread id for non-windows platform), returns 0 for invalid timer
+ STDMETHOD_(ULONG32,GetID) (THIS) PURE;
+
+ // Timer is stopped
+ STDMETHOD(KillTimer) (THIS) PURE;
+};
+
// $Private:
/****************************************************************************
*
From cdunn at helixcommunity.org Thu Jul 20 18:42:08 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:15:54 2006
Subject: [Common-cvs] system chxthread.cpp,1.3,1.4
Message-ID:
Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv18026
Modified Files:
chxthread.cpp
Log Message:
Add CHXAsyncTimer
Index: chxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/chxthread.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- chxthread.cpp 8 Mar 2006 19:13:38 -0000 1.3
+++ chxthread.cpp 21 Jul 2006 01:42:06 -0000 1.4
@@ -49,6 +49,7 @@
#include "chxthread.h"
#include "hxthread.h"
+#include "pckunpck.h"
CHXThread::CHXThread()
:m_lRefCount(0)
@@ -77,12 +78,12 @@
return ::QIFind(qiList, QILISTSIZE(qiList), riid, ppvObj);
}
-ULONG32 CHXThread::AddRef()
+STDMETHODIMP_(ULONG32) CHXThread::AddRef()
{
return InterlockedIncrement(&m_lRefCount);
}
-ULONG32 CHXThread::Release()
+STDMETHODIMP_(ULONG32) CHXThread::Release()
{
if (InterlockedDecrement(&m_lRefCount) > 0)
{
@@ -419,3 +420,118 @@
}
return rc;
}
+
+
+//
+// CHXAsyncTimer
+//
+CHXAsyncTimer::CHXAsyncTimer(IUnknown* pContext)
+ :m_lRefCount(0)
+{
+#ifdef _WIN32
+ // Windows timer does not use a message pump or mutex lock
+ HXAsyncTimer::MakeAsyncTimer(m_pAsyncTimer);
+#else
+ // Create the message pump thread and the mutex
+ HX_ASSERT(pContext);
+
+ IHXThread* pMessagePump=NULL;
+ IHXMutex* pMutexMapLock=NULL;
+
+ CreateInstanceCCF(CLSID_IHXThread, (void**)&pMessagePump, pContext);
+ CreateInstanceCCF(CLSID_IHXMutex, (void**)&pMutexMapLock, pContext);
+
+ HX_ASSERT( pMessagePump );
+ HX_ASSERT( pMutexMapLock );
+
+ HXAsyncTimer::MakeAsyncTimer(m_pAsyncTimer, pMessagePump, pMutexMapLock);
+#endif
+
+ HX_ASSERT( m_pAsyncTimer );
+}
+
+CHXAsyncTimer::CHXAsyncTimer(IHXThread* pMessagePump, IHXMutex* pMutexMapLock)
+ :m_lRefCount(0)
+{
+ HXAsyncTimer::MakeAsyncTimer(m_pAsyncTimer, pMessagePump, pMutexMapLock);
+
+ HX_ASSERT( m_pAsyncTimer );
+
+}
+
+CHXAsyncTimer::~CHXAsyncTimer()
+{
+ KillTimer();
+ HX_DELETE(m_pAsyncTimer);
+}
+
+STDMETHODIMP CHXAsyncTimer::QueryInterface(REFIID riid, void** ppvObj)
+{
+ QInterfaceList qiList[] =
+ {
+ { GET_IIDHANDLE(IID_IHXAsyncTimer), (IHXAsyncTimer*)this },
+ { GET_IIDHANDLE(IID_IUnknown), (IUnknown*)(IHXAsyncTimer*)this },
+ };
+
+ return ::QIFind(qiList, QILISTSIZE(qiList), riid, ppvObj);
+}
+
+STDMETHODIMP_(ULONG32) CHXAsyncTimer::AddRef()
+{
+ return InterlockedIncrement(&m_lRefCount);
+}
+
+STDMETHODIMP_(ULONG32) CHXAsyncTimer::Release()
+{
+ if (InterlockedDecrement(&m_lRefCount) > 0)
+ {
+ return m_lRefCount;
+ }
+
+ delete this;
+ return 0;
+}
+
+STDMETHODIMP
+CHXAsyncTimer::SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread)
+{
+ HX_RESULT hr = HXR_FAIL;
+ if (m_pAsyncTimer)
+ {
+ hr = m_pAsyncTimer->SetTimer(ulTimeOut, pReceivingThread);
+ }
+ return hr;
+}
+
+STDMETHODIMP
+CHXAsyncTimer::SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc)
+{
+ HX_RESULT hr = HXR_FAIL;
+ if (m_pAsyncTimer)
+ {
+ hr = m_pAsyncTimer->SetTimer(ulTimeOut, pfExecFunc);
+ }
+ return hr;
+}
+
+STDMETHODIMP_(ULONG32)
+CHXAsyncTimer::GetID()
+{
+ ULONG32 ulID = 0;
+ if (m_pAsyncTimer)
+ {
+ ulID = m_pAsyncTimer->GetID();
+ }
+ return ulID;
+}
+STDMETHODIMP
+CHXAsyncTimer::KillTimer()
+{
+ HX_RESULT hr = HXR_FAIL;
+ if (m_pAsyncTimer)
+ {
+ hr = m_pAsyncTimer->KillTimer();
+ }
+ return hr;
+}
+
From cdunn at helixcommunity.org Thu Jul 20 18:42:08 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:15:54 2006
Subject: [Common-cvs] system/pub chxthread.h,1.3,1.4
Message-ID:
Update of /cvsroot/common/system/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv18026/pub
Modified Files:
chxthread.h
Log Message:
Add CHXAsyncTimer
Index: chxthread.h
===================================================================
RCS file: /cvsroot/common/system/pub/chxthread.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- chxthread.h 8 Mar 2006 19:13:39 -0000 1.3
+++ chxthread.h 21 Jul 2006 01:42:06 -0000 1.4
@@ -136,4 +136,36 @@
STDMETHOD(Wait) (THIS_
UINT32 ulTimeoutPeriod);
};
+
+class CHXAsyncTimer : public IHXAsyncTimer
+{
+public:
+
+ CHXAsyncTimer(IUnknown* pContext);
+ CHXAsyncTimer(IHXThread* pMessagePump, IHXMutex* pMutexMapLock);
+ ~CHXAsyncTimer();
+
+ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj);
+ STDMETHOD_(ULONG32,AddRef) (THIS);
+ STDMETHOD_(ULONG32,Release) (THIS);
+
+ // IHXAsyncTimer methods
+ STDMETHOD(SetTimer) (THIS_
+ ULONG32 ulTimeOut,
+ IHXThread* pReceivingThread);
+
+ STDMETHOD(SetTimer) (THIS_
+ ULONG32 ulTimeOut,
+ TIMERPROC pfExecFunc);
+
+ STDMETHOD_(ULONG32,GetID) (THIS);
+
+ STDMETHOD(KillTimer) (THIS);
+
+private:
+ INT32 m_lRefCount;
+ HXAsyncTimer* m_pAsyncTimer;
+
+};
+
#endif /*_CHXTHREAD_H_*/
From cdunn at helixcommunity.org Thu Jul 20 18:43:36 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:17:21 2006
Subject: [Common-cvs] system hxthread.cpp,1.12,1.13
Message-ID:
Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20423
Modified Files:
hxthread.cpp
Log Message:
Change HXAsyncTimer to non-static interface.
Index: hxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/hxthread.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- hxthread.cpp 23 Feb 2006 22:31:02 -0000 1.12
+++ hxthread.cpp 21 Jul 2006 01:43:33 -0000 1.13
@@ -254,46 +254,82 @@
//
-// HXAsyncTimer mehtods.
+// HXAsyncTimer methods.
//
-UINT32 HXAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread )
+UINT32 HXAsyncTimer::m_ulTimerID = 0;
+HXAsyncTimer::HXAsyncTimer()
+{
+ m_ulTimerID = 0;
+}
+
+HX_RESULT
+HXAsyncTimer::MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer,
+ IHXThread* pMessagePump, IHXMutex* pMutexMapLock)
{
+ HX_RESULT hr =HXR_OK;
+ pAsyncTimer = NULL;
#ifdef _WIN32
- return ::SetTimer( NULL, NULL, ulTimeOut, NULL );
+ pAsyncTimer = new HXAsyncTimer();
#elif defined( _UNIX_THREADS_SUPPORTED )
- return HXUnixAsyncTimer::SetTimer(pContext, ulTimeOut, pReceivingThread );
+ pAsyncTimer = new HXUnixAsyncTimer(pMessagePump, pMutexLock);
#elif defined _SYMBIAN
- return HXSymbianAsyncTimer::SetTimer(pContext, ulTimeOut, pReceivingThread );
+ //XXXctd TODO: pAsyncTimer = new HXSymbianAsyncTimer(pMessagePump, pMutexLock);
#else
- return 0;
-//# error HXAsyncTimer::SetTimer not defined on this platform.
+//# error HXAsyncTimer not defined on this platform.
+#endif
+ if (!pAsyncTimer)
+ {
+ return HXR_OUTOFMEMORY;
+ }
+
+ return HXR_OK;
+
+}
+
+HXAsyncTimer::~HXAsyncTimer()
+{
+ KillTimer();
+}
+
+HX_RESULT
+HXAsyncTimer::SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread )
+{
+ HX_RESULT hr=HXR_FAIL;
+#ifdef _WIN32
+ m_ulTimerID = ::SetTimer( NULL, NULL, ulTimeOut, NULL );
+ hr = (m_ulTimerID != 0) ? HXR_OK : HXR_FAIL;
#endif
+ return hr;
}
-UINT32 HXAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
+HX_RESULT
+HXAsyncTimer::SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
{
+ HX_RESULT hr=HXR_FAIL;
#ifdef _WIN32
- return ::SetTimer( NULL, NULL, ulTimeOut, pfExecFunc );
-#elif defined( _UNIX_THREADS_SUPPORTED )
- return HXUnixAsyncTimer::SetTimer(pContext, ulTimeOut, pfExecFunc );
-#elif defined _SYMBIAN
- return HXSymbianAsyncTimer::SetTimer(pContext, ulTimeOut, pfExecFunc );
-#else
- return 0;
-//# error HXAsyncTimer::SetTimer not defined on this platform.
+ m_ulTimerID = ::SetTimer( NULL, NULL, ulTimeOut, pfExecFunc );
+ hr = (m_ulTimerID != 0) ? HXR_OK : HXR_FAIL;
#endif
+ return hr;
}
-HXBOOL HXAsyncTimer::KillTimer(UINT32 ulTimerID )
+ULONG32
+HXAsyncTimer::GetID()
{
+ return m_ulTimerID;
+}
+
+HX_RESULT
+HXAsyncTimer::KillTimer()
+{
+ HX_RESULT hr=HXR_FAIL;
#ifdef _WIN32
- return ::KillTimer( NULL, ulTimerID );
-#elif defined( _UNIX_THREADS_SUPPORTED )
- return HXUnixAsyncTimer::KillTimer(ulTimerID );
-#elif defined _SYMBIAN
- return HXSymbianAsyncTimer::KillTimer(ulTimerID);
-#else
- return TRUE;
-//# error HXAsyncTimer::KillTimer not defined on this platform.
+ if (m_ulTimerID != 0)
+ {
+ hr = (::KillTimer( NULL, m_ulTimerID )) ? HXR_OK : HXR_FAIL;
+ m_ulTimerID = 0;
+ }
#endif
+ return hr;
}
+
From cdunn at helixcommunity.org Thu Jul 20 18:43:36 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:17:22 2006
Subject: [Common-cvs] system/pub hxthread.h,1.13,1.14
Message-ID:
Update of /cvsroot/common/system/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv20423/pub
Modified Files:
hxthread.h
Log Message:
Change HXAsyncTimer to non-static interface.
Index: hxthread.h
===================================================================
RCS file: /cvsroot/common/system/pub/hxthread.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- hxthread.h 24 Feb 2006 01:12:55 -0000 1.13
+++ hxthread.h 21 Jul 2006 01:43:34 -0000 1.14
@@ -57,13 +57,6 @@
#define ALLFS 0xFFFFFFFF
-#if defined( _WINDOWS )
-#include "hlxclib/windows.h"
-#endif
-#if !defined( _WIN32 ) && !defined( _WINDOWS )
-typedef void (*TIMERPROC)( void* , UINT32 , UINT32, ULONG32 );
-#endif
-
#if defined(HELIX_FEATURE_NETWORK_USE_SELECT)
class conn;
#endif //defined(HELIX_FEATURE_NETWORK_USE_SELECT)
@@ -176,18 +169,30 @@
class HXAsyncTimer
{
public:
+ static HX_RESULT MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer, IHXThread* pMessagePump=NULL, IHXMutex* pMutex=NULL);
+ virtual ~HXAsyncTimer();
+
// HXMSG_ASYNC_TIMER messages will be posted to
// pReceivingThread's message queue every ulTimeOut milliseconds.
// until KillTimer is called.
// NOTE: under _WIN32 pReceivingThread is IGNORED and the calling
- // thread is the one to recieve the timer messages (WM_TIMER).
- static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread );
+ // thread is the one to receive the timer messages (WM_TIMER).
+ virtual HX_RESULT SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread );
// pfExecFunc will be called every ulTimeOut milliseconds.
- static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
+ virtual HX_RESULT SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
- // ulTimeOut timer is killed/removed.
- static HXBOOL KillTimer(UINT32 ulTimerID );
+ // Get the timer id
+ virtual ULONG32 GetID();
+
+ // timer is stopped.
+ virtual HX_RESULT KillTimer();
+
+protected:
+ HXAsyncTimer();
+
+private:
+ static UINT32 m_ulTimerID;
};
#define HX_LOCK(x) \
From cdunn at helixcommunity.org Thu Jul 20 18:45:43 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:19:31 2006
Subject: [Common-cvs] system/pub/platform/unix UnixThreads.h,1.9,1.10
Message-ID:
Update of /cvsroot/common/system/pub/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv23064/pub/platform/unix
Modified Files:
UnixThreads.h
Log Message:
Change async timer interface, derive from HXAsyncTimer.
Index: UnixThreads.h
===================================================================
RCS file: /cvsroot/common/system/pub/platform/unix/UnixThreads.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- UnixThreads.h 24 Feb 2006 01:12:56 -0000 1.9
+++ UnixThreads.h 21 Jul 2006 01:45:41 -0000 1.10
@@ -291,32 +291,21 @@
};
-class HXUnixAsyncTimer
+class HXUnixAsyncTimer : public HXAsyncTimer
{
public:
-
- //
- // These two methods are the main interface into this class. It
- // make it work just like the windows ::SetTimer and ::KillTimer
- // functions.
- static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread );
- static UINT32 SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
- static HXBOOL KillTimer(UINT32 ulTimerID );
-
-protected:
-
- //This starts the message pump sending HXMSG_ASYNC_TIMER messages
- //to pReceivingThread's queue every ulThreadId milliseconds.
- HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread );
-
- //This starts the timer and calls pfExecFunc every ulTimeOut milliseconds.
- HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
-
+ HXUnixAsyncTimer(IHXThread* pMessagePump, IHXMutex* pMutexMapLock);
//this kills the timer and stops pumping messages/func calls.
~HXUnixAsyncTimer();
+ HX_RESULT SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread );
+ HX_RESULT SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc );
+ HX_RESULT KillTimer();
+
//This returns that ID of this timer (threadID).
- inline ULONG32 GetID();
+ ULONG32 GetID();
+
+protected:
//This is the actual message pump.
static void* _ActualMessagePump(void* pArg);
@@ -326,14 +315,11 @@
ULONG32 m_ulTimeOut;
IHXThread* m_pReceivingThread;
IHXThread* m_pMessagePump;
+ IHXMutex* m_pmtxMapLock;
HXThreadMessage* m_pMsg;
HXThreadMessage m_msgTmp; //This is a per-class msg to be used by the message pump.
TIMERPROC m_pfExecFunc;
- //Support for setting/killing timers by ID.
- static IHXMutex* m_pmtxMapLock;
- static CHXMapLongToObj m_mapTimers;
-
//Don't allow default/copy ctors or assignment oper. You can't dup this class.
HXUnixAsyncTimer();
HXUnixAsyncTimer( const HXUnixAsyncTimer& it );
From cdunn at helixcommunity.org Thu Jul 20 18:45:44 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:19:31 2006
Subject: [Common-cvs] system/platform/unix UnixThreads.cpp,1.17,1.18
Message-ID:
Update of /cvsroot/common/system/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv23064/platform/unix
Modified Files:
UnixThreads.cpp
Log Message:
Change async timer interface, derive from HXAsyncTimer.
Index: UnixThreads.cpp
===================================================================
RCS file: /cvsroot/common/system/platform/unix/UnixThreads.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- UnixThreads.cpp 24 Feb 2006 01:53:35 -0000 1.17
+++ UnixThreads.cpp 21 Jul 2006 01:45:41 -0000 1.18
@@ -814,54 +814,32 @@
//
//=======================================================================
-//Static data initializers
-IHXMutex* HXUnixAsyncTimer::m_pmtxMapLock = NULL;
-CHXMapLongToObj HXUnixAsyncTimer::m_mapTimers;
-
//Timeouts are in miliseconds.
-HXUnixAsyncTimer::HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread )
- : m_ulTimeOut( ulTimeOut ),
- m_pReceivingThread( pReceivingThread ),
- m_pMessagePump( NULL ),
+HXUnixAsyncTimer::HXUnixAsyncTimer( IHXThread* pMessagePump, IHXMutex* pmtxMapLock )
+ : m_ulTimeOut( 0 ),
+ m_pReceivingThread( NULL ),
+ m_pMessagePump( pMessagePump ),
+ m_pmtxMapLock( pmtxMapLock ),
m_pMsg(NULL),
m_pfExecFunc(NULL)
{
//Make the message to pump.
m_pMsg = new HXThreadMessage( HXMSG_ASYNC_TIMER, (void*)m_ulTimeOut, NULL, NULL );
- //Start the thread. We have to do this weird casting because
- //the HXThread::MakeThread takes HXThread*&....
- CreateInstanceCCF(CLSID_IHXThread, (void**)&m_pMessagePump, pContext);
- HX_ASSERT( m_pMessagePump );
- m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
-}
+ HX_ASSERT(m_pMessagePump);
+
+ HX_ADDREF(m_pMessagePump);
+ HX_ADDREF(m_pmtxMapLock);
-HXUnixAsyncTimer::HXUnixAsyncTimer( IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
- : m_ulTimeOut( ulTimeOut ),
- m_pReceivingThread(NULL),
- m_pMessagePump(NULL),
- m_pMsg(NULL),
- m_pfExecFunc( pfExecFunc )
-{
- //we need non-null pfExecFunc
- HX_ASSERT( m_pfExecFunc != NULL );
-
- //Start the thread.
- CreateInstanceCCF(CLSID_IHXThread, (void**)&m_pMessagePump, pContext);
- HX_ASSERT( m_pMessagePump );
- m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
}
HXUnixAsyncTimer::~HXUnixAsyncTimer()
{
- //Tell the message pump to quit.
- HXThreadMessage msgQuit(HXMSG_QUIT, NULL, NULL);
- m_pMessagePump->PostMessage( &msgQuit, NULL );
-
- //Wait for it to stop.
- m_pMessagePump->Terminate();
+ KillTimer();
HX_RELEASE(m_pMessagePump);
HX_DELETE(m_pMsg);
+
+ HX_RELEASE(m_pmtxMapLock);
}
ULONG32 HXUnixAsyncTimer::GetID()
@@ -898,92 +876,76 @@
}
#undef PARG
-UINT32 HXUnixAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, IHXThread* pReceivingThread )
+HX_RESULT
+HXUnixAsyncTimer::SetTimer(ULONG32 ulTimeOut, IHXThread* pReceivingThread )
{
- if( m_pmtxMapLock == NULL )
- {
- CreateInstanceCCF(CLSID_IHXMutex, (void**)&m_pmtxMapLock, pContext);
- HX_ASSERT( m_pmtxMapLock );
- }
-
+ HX_RESULT hr=HXR_OK;
+
//lock it.
HX_LOCK(m_pmtxMapLock);
-
- ULONG32 ulTimerID = 0;
HX_ASSERT( ulTimeOut != 0 );
HX_ASSERT( pReceivingThread != NULL );
-
- HXUnixAsyncTimer* pTimer = new HXUnixAsyncTimer(pContext, ulTimeOut, pReceivingThread );
- HX_ASSERT( pTimer != NULL );
- if( pTimer != NULL )
- {
- //Add new timer to map.
- ulTimerID = pTimer->GetID();
- m_mapTimers.SetAt( ulTimerID, (void*)pTimer );
- }
+
+ // Set the timout value (ms), and the receiving thread
+ m_ulTimeOut = ulTimeOut;
+ m_pReceivingThread = pReceivingThread;
+ HX_ADDREF(m_pReceivingThread);
+
+ // Start the thread
+ hr = m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
//unlock the map.
HX_UNLOCK(m_pmtxMapLock);
- return ulTimerID;
+ return hr;
}
-UINT32 HXUnixAsyncTimer::SetTimer(IUnknown* pContext, ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
+HX_RESULT
+HXUnixAsyncTimer::SetTimer(ULONG32 ulTimeOut, TIMERPROC pfExecFunc )
{
- if( m_pmtxMapLock == NULL )
- {
- CreateInstanceCCF(CLSID_IHXMutex, (void**)&m_pmtxMapLock, pContext);
- HX_ASSERT( m_pmtxMapLock );
- }
-
+ HX_RESULT hr=HXR_OK;
+
//lock it.
HX_LOCK(m_pmtxMapLock);
-
- ULONG32 ulTimerID = 0;
HX_ASSERT( ulTimeOut != 0 );
HX_ASSERT( pfExecFunc != NULL );
-
- HXUnixAsyncTimer* pTimer = new HXUnixAsyncTimer(pContext, ulTimeOut, pfExecFunc );
- HX_ASSERT( pTimer != NULL );
- if( pTimer != NULL )
- {
- //Add new timer to map.
- ulTimerID = pTimer->GetID();
- m_mapTimers.SetAt( ulTimerID, (void*)pTimer );
- }
+
+ // Set the timout value (ms), and the function pointer to be called
+ m_ulTimeOut = ulTimeOut;
+ m_pfExecFunc = pfExecFunc;
+
+ // Start the thread
+ hr = m_pMessagePump->CreateThread( _ActualMessagePump, (void*)this, 0 );
//unlock the map.
HX_UNLOCK(m_pmtxMapLock);
- return ulTimerID;
+ return hr;
}
-HXBOOL HXUnixAsyncTimer::KillTimer(UINT32 ulTimerID )
+HX_RESULT
+HXUnixAsyncTimer::KillTimer()
{
+ HX_RESULT hr=HXR_OK;
+
//lock it.
HX_LOCK(m_pmtxMapLock);
- HXBOOL bRetVal = FALSE;
- void* pTimer = NULL;
+ //Tell the message pump to quit.
+ HXThreadMessage msgQuit(HXMSG_QUIT, NULL, NULL);
+ m_pMessagePump->PostMessage( &msgQuit, NULL );
+ //Wait for it to stop.
+ hr = m_pMessagePump->Terminate();
- HX_ASSERT( ulTimerID != 0 );
-
- if( m_mapTimers.Lookup( ulTimerID, pTimer ) )
- {
- //Found it.
- bRetVal = TRUE;
- HXUnixAsyncTimer* pTmp = (HXUnixAsyncTimer*)pTimer;
- HX_DELETE(pTmp);
- m_mapTimers.RemoveKey( ulTimerID );
- }
+ HX_RELEASE(m_pReceivingThread);
//unlock the map.
HX_UNLOCK(m_pmtxMapLock);
- return bRetVal;
+ return hr;
}
From cdunn at helixcommunity.org Thu Jul 20 18:47:08 2006
From: cdunn at helixcommunity.org (cdunn@helixcommunity.org)
Date: Thu Jul 20 20:20:54 2006
Subject: [Common-cvs] netio threngin.cpp,1.11,1.12
Message-ID:
Update of /cvsroot/common/netio
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24785
Modified Files:
threngin.cpp
Log Message:
Update usage of the async timer.
Index: threngin.cpp
===================================================================
RCS file: /cvsroot/common/netio/threngin.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- threngin.cpp 8 Mar 2006 19:13:37 -0000 1.11
+++ threngin.cpp 21 Jul 2006 01:47:05 -0000 1.12
@@ -394,7 +394,8 @@
ULONG32 ulLastTimerCallback = HX_GET_TICKCOUNT();
#if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
- UINT32 ulTimerId = 0;
+ IHXAsyncTimer* pAsyncTimer=NULL;
+ CreateInstanceCCF(CLSID_IHXAsyncTimer, (void**)&pAsyncTimer, pContext);
#endif /*_WIN32 || _UNIX_THREADED_NETWORK_IO */
#if defined(HELIX_FEATURE_NETWORK_USE_SELECT)
@@ -468,11 +469,11 @@
)
{ // process connect and accept messages, then use select
pEngine->m_pNetworkThread->m_bUseReaderWriter = FALSE;
- if (ulTimerId <= 0)
- {
- ulSleepTime = 20;
- ulTimerId = HXAsyncTimer::SetTimer( ulSleepTime, pThread );
- }
+ if (pAsyncTimer && pAsyncTimer->GetID() == 0)
+ {
+ ulSleepTime = 20;
+ pAsyncTimer->SetTimer(ulSleepTime, pThread);
+ }
if (pThread->GetMessage(&msg, 0, 0) != HXR_OK)
break;
}
@@ -482,10 +483,9 @@
{ // process messages in queue
if (!bRWStartup)
{
- if (ulTimerId > 0)
+ if (pAsyncTimer)
{
- HXAsyncTimer::KillTimer(ulTimerId);
- ulTimerId = 0;
+ pAsyncTimer->KillTimer();
}
msg.m_ulMessage = HXMSG_ASYNC_START_READERWRITER;
theErr = pEngine->m_pNetworkThread->PostMessage(&msg, NULL);
@@ -592,14 +592,17 @@
case HXMSG_ASYNC_RESUME:
#if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
{
- if (ulTimerId > 0)
- {
- HXAsyncTimer::KillTimer(ulTimerId);
- ulTimerId = 0;
- }
+ if (pAsyncTimer)
+ {
+ pAsyncTimer->KillTimer();
+ }
ulSleepTime = (UINT32)(PTR_INT)msg.m_pParam1;
- ulTimerId = HXAsyncTimer::SetTimer( pContext, ulSleepTime, pThread );
+
+ if (pAsyncTimer)
+ {
+ pAsyncTimer->SetTimer(ulSleepTime, pThread);
+ }
}
#endif /* _WIN32 || _UNIX_THREADED_NETWORK_IO */
break;
@@ -607,11 +610,10 @@
case HXMSG_ASYNC_STOP:
#if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
{
- if (ulTimerId > 0)
- {
- HXAsyncTimer::KillTimer( ulTimerId );
- ulTimerId = 0;
- ulSleepTime = 0;
+ if (pAsyncTimer && pAsyncTimer->GetID() > 0)
+ {
+ pAsyncTimer->KillTimer();
+ ulSleepTime = 0;
}
}
#endif /* _WIN32 || _UNIX_THREADED_NETWORK_IO */
@@ -623,10 +625,7 @@
}
#if defined( _WIN32 ) || defined( _UNIX_THREADED_NETWORK_IO ) || defined(THREADS_SUPPORTED)
- if (ulTimerId > 0)
- {
- HXAsyncTimer::KillTimer( ulTimerId );
- }
+ HX_RELEASE(pAsyncTimer);
#endif /* _WIN32 || _UNIX_THREADED_NETWORK_IO */
pEngine->m_pQuitEvent->SignalEvent();
From jrmoore at helixcommunity.org Thu Jul 20 19:34:12 2006
From: jrmoore at helixcommunity.org (jrmoore@helixcommunity.org)
Date: Thu Jul 20 21:07:58 2006
Subject: [Common-cvs] netio/platform/posix sockimp.cpp, 1.61.2.24.14.1,
1.61.2.24.14.1.6.1
Message-ID:
Update of /cvsroot/common/netio/platform/posix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv21164
Modified Files:
Tag: SERVER_11_1_1_LR_RN
sockimp.cpp
Log Message:
Synopsis
========
BBC: 11.1 Rss Output reports incorrect HTTP/Player connections
Fix for: https://bugs.dev.prognet.com/show_bug.cgi?id=164711
Branches: SERVER_11_1, SERVER_11_1_1_LR_RN
Reviewers: dlew, skharkar
Description
===========
The HTTP connections are never logged in 'rss' output.
Solution: Add missing call to report http connections.
Since this uses WMT Http Protocol and the rss was not updated at
all, we simply put in the appropriate calls to update the Protocol and
Transport. Had to handle the case where the socket closes.
Notes: RTSP using just HTTP showing up as 100% RTSP Protocol with 100% cloaked
instead of as 100%HTTP is by design.
Files Affected
==============
Modified:
server/protocol/http/httpprot.cpp
server/protocol/http/http_demux.cpp
server_rn/protocol/wmt/http/wmt_httpprot.cpp
server/engine/session/client.cpp
common/netio/platform/posix/sockimp.cpp
Testing Performed
=================
Unit Tests: Tested that server runs.
Integration Tests: Tested that http connections showed up in rss until
the connection was dropped.
Leak Tests: n/a
Performance Tests: n/a
Platforms Tested: linux-rhel4-i686
Build verified: linux-rhel4-i686, win32-i386-vc7
QA Hints
========
Procedure to test HTTP protocol:
1.) Add a mount point to your HTTPDeliverable list in your rmserver.cfg.
2.) Create that directory under your "Content" dir.
3.) Copy a piece of RealMedia content to it that is *not* SureStream/multirate.
4.) Using a player, request: http://server:http_port/newmountpoint/content.rm
5.) Use windows media instead in step 4) content.wmv
For real media, the http connection will go away quickly so make sure you have
a long clip and a small rss value.
Index: sockimp.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/posix/sockimp.cpp,v
retrieving revision 1.61.2.24.14.1
retrieving revision 1.61.2.24.14.1.6.1
diff -u -d -r1.61.2.24.14.1 -r1.61.2.24.14.1.6.1
--- sockimp.cpp 23 Sep 2005 19:01:56 -0000 1.61.2.24.14.1
+++ sockimp.cpp 21 Jul 2006 02:34:09 -0000 1.61.2.24.14.1.6.1
@@ -2717,6 +2717,10 @@
{
HX_RELEASE(*ppAddr);
}
+ if (hxr == HXR_SOCK_CONNRESET)
+ {
+ m_pWriteQueue->Discard();
+ }
}
}
return hxr;
From jrmoore at helixcommunity.org Thu Jul 20 20:23:07 2006
From: jrmoore at helixcommunity.org (jrmoore@helixcommunity.org)
Date: Thu Jul 20 21:56:53 2006
Subject: [Common-cvs] netio/platform/posix sockimp.cpp, 1.61.2.24.14.1,
1.61.2.24.14.2
Message-ID:
Update of /cvsroot/common/netio/platform/posix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv26886
Modified Files:
Tag: SERVER_11_1
sockimp.cpp
Log Message:
:VS: ----------------------------------------------------------------------
Synopsis
========
BBC: 11.1 Rss Output reports incorrect HTTP/Player connections
Fix for: https://bugs.dev.prognet.com/show_bug.cgi?id=164711
Branches: SERVER_11_1, SERVER_11_1_1_LR_RN
Reviewers: dlew, skharkar
Description
===========
The HTTP connections are never logged in 'rss' output.
Solution: Add missing call to report http connections.
Since this uses WMT Http Protocol and the rss was not updated at
all, we simply put in the appropriate calls to update the Protocol and
Transport. Had to handle the case where the socket closes.
Notes: RTSP using just HTTP showing up as 100% RTSP Protocol with 100% cloaked
instead of as 100%HTTP is by design.
Files Affected
==============
Modified:
server/protocol/http/httpprot.cpp
server/protocol/http/http_demux.cpp
server_rn/protocol/wmt/http/wmt_httpprot.cpp
server/engine/session/client.cpp
common/netio/platform/posix/sockimp.cpp
Testing Performed
=================
Unit Tests: Tested that server runs.
Integration Tests: Tested that http connections showed up in rss until
the connection was dropped.
Leak Tests: n/a
Performance Tests: n/a
Platforms Tested: linux-rhel4-i686
Build verified: linux-rhel4-i686, win32-i386-vc7
QA Hints
========
Procedure to test HTTP protocol:
1.) Add a mount point to your HTTPDeliverable list in your rmserver.cfg.
2.) Create that directory under your "Content" dir.
3.) Copy a piece of RealMedia content to it that is *not* SureStream/multirate.
4.) Using a player, request: http://server:http_port/newmountpoint/content.rm
5.) Use windows media instead in step 4) content.wmv
For real media, the http connection will go away quickly so make sure you have
a long clip and a small rss value.
Index: sockimp.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/posix/sockimp.cpp,v
retrieving revision 1.61.2.24.14.1
retrieving revision 1.61.2.24.14.2
diff -u -d -r1.61.2.24.14.1 -r1.61.2.24.14.2
--- sockimp.cpp 23 Sep 2005 19:01:56 -0000 1.61.2.24.14.1
+++ sockimp.cpp 21 Jul 2006 03:23:04 -0000 1.61.2.24.14.2
@@ -2717,6 +2717,10 @@
{
HX_RELEASE(*ppAddr);
}
+ if (hxr == HXR_SOCK_CONNRESET)
+ {
+ m_pWriteQueue->Discard();
+ }
}
}
return hxr;
From pankajgupta at helixcommunity.org Thu Jul 20 21:02:55 2006
From: pankajgupta at helixcommunity.org (pankajgupta@helixcommunity.org)
Date: Thu Jul 20 22:36:39 2006
Subject: [Common-cvs] log/logutil/pub hxtlogutil.h,1.14,1.15
Message-ID:
Update of /cvsroot/common/log/logutil/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19698
Modified Files:
hxtlogutil.h
Log Message:
Modified by: pgupta@real.com
Date : 20 July 2006
Reviewed By: ping@real.com
Issue : Fix for build errors in head for symbian-81
Overview:
Following fix are suggested to resolve build errors for symbian 81
- Symbian81 also needs same definition of HX_I64d_ARG as symbian 9
- renamed rmcomlib to rmcommonlib
- hxmedpltfmdll_symbian.pcf file added to include efsrv.lib system library.
Platform: symbian-81
Branch : Head
File Modified:
- common/log/logutil/pub/hxtlogutil.h
- datatype/group/video/Umakefil
Files Added:
- client/medpltfm/hxmedpltfmdll_symbian.pcf
Index: hxtlogutil.h
===================================================================
RCS file: /cvsroot/common/log/logutil/pub/hxtlogutil.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- hxtlogutil.h 16 Jun 2006 19:26:20 -0000 1.14
+++ hxtlogutil.h 21 Jul 2006 04:02:53 -0000 1.15
@@ -117,7 +117,7 @@
// Support for 64-bit arguments varies.
//
#if defined(_SYMBIAN)
-#if defined(HELIX_CONFIG_SYMBIAN_PLATFORM_SECURITY)
+#if defined(HELIX_CONFIG_SYMBIAN_PLATFORM_SECURITY) || defined (_SYMBIAN_81_)
#define HX_I64d_ARG(x) INT64_TO_UINT32(x >>32), INT64_TO_UINT32(x)
#define HX_I64d_SUBST "%p%X"
#else
From jgordon at helixcommunity.org Fri Jul 21 08:24:52 2006
From: jgordon at helixcommunity.org (jgordon@helixcommunity.org)
Date: Fri Jul 21 09:58:29 2006
Subject: [Common-cvs] system hxthread.cpp,1.13,1.14
Message-ID:
Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24149
Modified Files:
hxthread.cpp
Log Message:
Fix trivial build buster on Unix platforms.
Index: hxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/hxthread.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- hxthread.cpp 21 Jul 2006 01:43:33 -0000 1.13
+++ hxthread.cpp 21 Jul 2006 15:24:45 -0000 1.14
@@ -264,7 +264,8 @@
HX_RESULT
HXAsyncTimer::MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer,
- IHXThread* pMessagePump, IHXMutex* pMutexMapLock)
+ IHXThread* pMessagePump,
+ IHXMutex* pMutexLock)
{
HX_RESULT hr =HXR_OK;
pAsyncTimer = NULL;
From suramakr at helixcommunity.org Fri Jul 21 12:04:12 2006
From: suramakr at helixcommunity.org (suramakr@helixcommunity.org)
Date: Fri Jul 21 13:37:47 2006
Subject: [Common-cvs] netio/platform/symbian hxsymbiansocket.cpp, 1.1,
1.1.2.1
Message-ID:
Update of /cvsroot/common/netio/platform/symbian
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv9133
Modified Files:
Tag: hxclient_2_1_0_cayennes
hxsymbiansocket.cpp
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."
Modified by:
sunitha.ramakrishna@nokia.com
Reviewed by:
Date:
July-17-2006
Project:
Helix plug-in for Symbian
Error ID:
EAVZ-6QCRNW
Synopsis:
While streaming with a WLAN APN, if the user turns the phone to offline mode, the UI would display "System Error" instead of notifying the user with " Connection lost, reconnect?"
In this case we were getting a -36 which is the symbian error code for KErrDisconnected. This error code was not being mapped to appropriate Helix error codes. As a result the UI would display general error
This CR adds the mapping for KErrDisconnected.
Files Modified:
common/netio/platform/symbian/hxsymbiansocket.cpp
clientapps/symbianmmf/hxctrlimpl.cpp
Files Added:
None
Image Size and Heap Use impact:
None
Platforms and Profiles Build Verified:
helix-client-s60-mmf-mdf-arm
helix-client-s60-mmf-mdf-dsp
Platforms and Profiles Functionality verified:
armv5
Branch:
head and hxclient_2_1_0_cayennes
Index: hxsymbiansocket.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/symbian/hxsymbiansocket.cpp,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -d -r1.1 -r1.1.2.1
--- hxsymbiansocket.cpp 29 Sep 2005 21:02:47 -0000 1.1
+++ hxsymbiansocket.cpp 21 Jul 2006 19:04:10 -0000 1.1.2.1
@@ -1148,6 +1148,10 @@
{
res = HXR_OUTOFMEMORY;
}
+ else if(iStatus.Int() == KErrDisconnected)
+ {
+ res = HXR_SOCK_DISCON;
+ }
else
{
HXLOGL1(HXLOG_NETW, "CHXSymbianSocketWriter::RunL iStatus=%d",
@@ -1224,6 +1228,10 @@
{
res = HXR_OUTOFMEMORY;
}
+ else if(iStatus.Int() == KErrDisconnected)
+ {
+ res = HXR_SOCK_DISCON;
+ }
else
{
HXLOGL1(HXLOG_NETW, "CHXSymbianSocketReader::RunL iStatus=%d",
From suramakr at helixcommunity.org Fri Jul 21 12:15:57 2006
From: suramakr at helixcommunity.org (suramakr@helixcommunity.org)
Date: Fri Jul 21 13:49:32 2006
Subject: [Common-cvs] netio/platform/symbian hxsymbiansocket.cpp,1.1,1.2
Message-ID:
Update of /cvsroot/common/netio/platform/symbian
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv19211
Modified Files:
hxsymbiansocket.cpp
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks, and I am authorized to contribute this code under said agreement."
Modified by:
sunitha.ramakrishna@nokia.com
Reviewed by:
Date:
July-17-2006
Project:
Helix plug-in for Symbian
Error ID:
EAVZ-6QCRNW
Synopsis:
While streaming with a WLAN APN, if the user turns the phone to offline mode, the UI would display "System Error" instead of notifying the user with " Connection lost, reconnect?"
In this case we were getting a -36 which is the symbian error code for KErrDisconnected. This error code was not being mapped to appropriate Helix error codes. As a result the UI would display general error
This CR adds the mapping for KErrDisconnected.
Files Modified:
common/netio/platform/symbian/hxsymbiansocket.cpp
clientapps/symbianmmf/hxctrlimpl.cpp
Files Added:
None
Image Size and Heap Use impact:
None
Platforms and Profiles Build Verified:
helix-client-s60-mmf-mdf-arm
helix-client-s60-mmf-mdf-dsp
Platforms and Profiles Functionality verified:
armv5
Branch:
head and hxclient_2_1_0_cayennes
Index: hxsymbiansocket.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/symbian/hxsymbiansocket.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- hxsymbiansocket.cpp 29 Sep 2005 21:02:47 -0000 1.1
+++ hxsymbiansocket.cpp 21 Jul 2006 19:15:54 -0000 1.2
@@ -1148,6 +1148,10 @@
{
res = HXR_OUTOFMEMORY;
}
+ else if(iStatus.Int() == KErrDisconnected)
+ {
+ res = HXR_SOCK_DISCON;
+ }
else
{
HXLOGL1(HXLOG_NETW, "CHXSymbianSocketWriter::RunL iStatus=%d",
@@ -1224,6 +1228,10 @@
{
res = HXR_OUTOFMEMORY;
}
+ else if(iStatus.Int() == KErrDisconnected)
+ {
+ res = HXR_SOCK_DISCON;
+ }
else
{
HXLOGL1(HXLOG_NETW, "CHXSymbianSocketReader::RunL iStatus=%d",
From tknox at helixcommunity.org Mon Jul 24 14:06:58 2006
From: tknox at helixcommunity.org (tknox@helixcommunity.org)
Date: Mon Jul 24 15:39:47 2006
Subject: [Common-cvs] include hxiids.h,1.112,1.113
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv30579/include
Modified Files:
hxiids.h
Log Message:
Synopsis
========
Create an interface for server_info, IHXServerInfo
Branches: head
Reviewer: dlew
Description
===========
In order to make transports pluggable, it is necessary to break
dependencies on core objects. As part of this effort, I have split out
an interface for server_info, IHXServerInfo. Note: This is only the
code to create the interface, and return it from the server_context,
but not to actually use it in any transports.
Files Affected
==============
common/include/hxiids.h
server/engine/core/pub/server_info.h
server/engine/core/server_context.cpp
server/engine/core/server_info.cpp
server/engine/session/client.cpp
server/include/hxservinfo.h <-- added
Testing Performed
=================
Streamed static content (rm && mp3) over TCP and UDP. Streamed live
(rm && mp3) using slta. Statistics were correct in all cases.
Platforms Tested: linux-rhel4-i686
Build verified: linux-rhel4-i686, sunos-5.10-sparc-server, win32-i386-vc7
QA Hints
===============
Verify that statistics continue to be correctly reported.
Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -d -r1.112 -r1.113
--- hxiids.h 21 Jul 2006 01:40:29 -0000 1.112
+++ hxiids.h 24 Jul 2006 21:06:55 -0000 1.113
@@ -2068,5 +2068,9 @@
DEFINE_GUID_ENUM( IID_IHXObserver, 0x5de44ba5, 0xd435, 0x11d3, 0xb6, 0x54, 0x0, 0x10, 0x5a, 0x12, 0x11, 0x85 )
#endif /* _IHXOBSERVER_H */
+#if ( !defined(_IHX_SERVER_INFO_H_) || !defined(HELIX_FEATURE_FULLGUID) )
+DEFINE_GUID_ENUM(IID_IHXServerInfo, 0xe3b2ce09, 0x52b4, 0x457a, 0xb7, 0x9a, 0xc9, 0xcc, 0x93, 0x73, 0x57, 0xc7)
+#endif /* _IHX_SERVER_INFO_H_ */
+
#endif /* _HXIIDS_H_ */
From gwright at helixcommunity.org Tue Jul 25 10:53:06 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Tue Jul 25 12:25:43 2006
Subject: [Common-cvs] system hxthread.cpp,1.14,1.15
Message-ID:
Update of /cvsroot/common/system
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv15785
Modified Files:
hxthread.cpp
Log Message:
Took a while to find this, but the player on HEAD could not
play more then 1 clip in a row without hanging. The hanging
came from HXPlayer::SetupAudioPlayer() never completing. It
would just get called from scheduler over and over again. Turns
out it wants to be called on a certain thread. This thread
was never getting time in the scheduler. The problem was our
scheduler was only being driven by the EventOccured() calls
from splay, the other thread was not pumping out OnTimeSync()
calls. This was happening because the timer that was suppose
to generate our HXMSG_ASYNC_TIMER messages was being killed
by another thread. If you look at the diff you will see that
the timer id member var was static, so all timers shared the
same ID and the first time kill was called (from a timeline
pause) it deleted all timers.
Fix is simple, just don't make it static.
For HEAD only.
Index: hxthread.cpp
===================================================================
RCS file: /cvsroot/common/system/hxthread.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- hxthread.cpp 21 Jul 2006 15:24:45 -0000 1.14
+++ hxthread.cpp 25 Jul 2006 17:53:03 -0000 1.15
@@ -82,9 +82,9 @@
#include "hxheap.h"
#ifdef _DEBUG
-#undef HX_THIS_FILE
+#undef HX_THIS_FILE
static const char HX_THIS_FILE[] = __FILE__;
-#endif
+#endif
HXThread::~HXThread()
{
@@ -92,7 +92,7 @@
//XXXLCM consider moving static function definitions to
// platform files to get rid of ifdefs
-HX_RESULT
+HX_RESULT
HXThread::MakeThread(HXThread*& pThread)
{
pThread = 0;
@@ -113,20 +113,20 @@
#endif
if (!pThread)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
}
-HX_RESULT
+HX_RESULT
HXThread::MakeStubThread(HXThread*& pThread)
{
pThread = 0;
pThread = new HXGenThread;
if (!pThread)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
@@ -136,7 +136,7 @@
{
}
-HX_RESULT
+HX_RESULT
HXMutex::MakeNamedMutex(HXMutex*& pMutex, char* name)
{
pMutex = NULL;
@@ -147,14 +147,14 @@
#endif
if (!pMutex)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
}
-HX_RESULT
+HX_RESULT
HXMutex::MakeMutex(HXMutex*& pMutex)
{
pMutex = 0;
@@ -176,24 +176,24 @@
#endif
if (!pMutex)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
}
-HX_RESULT
+HX_RESULT
HXMutex::MakeStubMutex(HXMutex*& pMutex)
{
pMutex = 0;
#if defined(_CARBON) && !defined(THREADS_SUPPORTED)
- pMutex = new HXGenMacMutex;
+ pMutex = new HXGenMacMutex;
#else
pMutex = new HXGenMutex;
#endif
if (!pMutex)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
@@ -204,7 +204,7 @@
}
-HX_RESULT
+HX_RESULT
HXEvent::MakeEvent(HXEvent*& pEvent, const char* pEventName, HXBOOL bManualReset)
{
pEvent = 0;
@@ -217,11 +217,11 @@
#ifdef THREADS_SUPPORTED
if (bManualReset)
{
- pEvent = new HXCarbonManualEvent(pEventName);
+ pEvent = new HXCarbonManualEvent(pEventName);
}
else
{
- pEvent = new HXCarbonEvent(pEventName, bManualReset);
+ pEvent = new HXCarbonEvent(pEventName, bManualReset);
}
#else
pEvent = new HXMacEvent(pEventName, bManualReset);
@@ -233,20 +233,20 @@
#endif
if (!pEvent)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
}
-HX_RESULT
+HX_RESULT
HXEvent::MakeStubEvent(HXEvent*& pEvent, const char* pEventName, HXBOOL bManualReset)
{
pEvent = 0;
pEvent = new HXGenEvent(pEventName, bManualReset);
if (!pEvent)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
@@ -256,16 +256,16 @@
//
// HXAsyncTimer methods.
//
-UINT32 HXAsyncTimer::m_ulTimerID = 0;
+
HXAsyncTimer::HXAsyncTimer()
+ : m_ulTimerID(0)
{
- m_ulTimerID = 0;
}
-HX_RESULT
+HX_RESULT
HXAsyncTimer::MakeAsyncTimer(HXAsyncTimer*& pAsyncTimer,
- IHXThread* pMessagePump,
- IHXMutex* pMutexLock)
+ IHXThread* pMessagePump,
+ IHXMutex* pMutexLock)
{
HX_RESULT hr =HXR_OK;
pAsyncTimer = NULL;
@@ -280,7 +280,7 @@
#endif
if (!pAsyncTimer)
{
- return HXR_OUTOFMEMORY;
+ return HXR_OUTOFMEMORY;
}
return HXR_OK;
@@ -328,7 +328,7 @@
if (m_ulTimerID != 0)
{
hr = (::KillTimer( NULL, m_ulTimerID )) ? HXR_OK : HXR_FAIL;
- m_ulTimerID = 0;
+ m_ulTimerID = 0;
}
#endif
return hr;
From gwright at helixcommunity.org Tue Jul 25 10:53:06 2006
From: gwright at helixcommunity.org (gwright@helixcommunity.org)
Date: Tue Jul 25 12:25:43 2006
Subject: [Common-cvs] system/pub hxthread.h,1.14,1.15
Message-ID:
Update of /cvsroot/common/system/pub
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv15785/pub
Modified Files:
hxthread.h
Log Message:
Took a while to find this, but the player on HEAD could not
play more then 1 clip in a row without hanging. The hanging
came from HXPlayer::SetupAudioPlayer() never completing. It
would just get called from scheduler over and over again. Turns
out it wants to be called on a certain thread. This thread
was never getting time in the scheduler. The problem was our
scheduler was only being driven by the EventOccured() calls
from splay, the other thread was not pumping out OnTimeSync()
calls. This was happening because the timer that was suppose
to generate our HXMSG_ASYNC_TIMER messages was being killed
by another thread. If you look at the diff you will see that
the timer id member var was static, so all timers shared the
same ID and the first time kill was called (from a timeline
pause) it deleted all timers.
Fix is simple, just don't make it static.
For HEAD only.
Index: hxthread.h
===================================================================
RCS file: /cvsroot/common/system/pub/hxthread.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- hxthread.h 21 Jul 2006 01:43:34 -0000 1.14
+++ hxthread.h 25 Jul 2006 17:53:04 -0000 1.15
@@ -192,7 +192,7 @@
HXAsyncTimer();
private:
- static UINT32 m_ulTimerID;
+ UINT32 m_ulTimerID;
};
#define HX_LOCK(x) \
From junhliu at helixcommunity.org Thu Jul 27 09:48:21 2006
From: junhliu at helixcommunity.org (junhliu@helixcommunity.org)
Date: Thu Jul 27 11:20:27 2006
Subject: [Common-cvs] include hxresult.h,1.37.2.4,1.37.2.5
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv23789
Modified Files:
Tag: hxclient_2_1_0_cayennes
hxresult.h
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks,
and I am authorized to contribute this code under said agreement."
Modified by:
Junhong.Liu@nokia.com
Reviewed by:
Date:
July-24-2006
Project:
Helix plug-in for Symbian
Error ID: EOVL-6PNL6H
SRAA-6NLSU8
EAVZ-6Q5LY5
EAVZ-6RZM4T
Synopsis: Wrong error note for invalid access point
Currently if access point connection fails, UI always shows "Configurae a default access point" instead of "Unable to connect".
This CR is to remap the connection fail error code to KErrCouldNotConnect, so UI can show "Unable to connect". For access point
is not found situation, a new error code is defined. This error code is mapped to KErrAbor, allowing UI to show "Configure a default
access point".
In addition, some cleanup has been made aslo.
Files Modified:
clientapps\symbianMmf\hxmmfctrlimpl.cpp
common\include\hxresult.h
client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianapman.h
client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianbearermonitor.h
client\netwksvc\pub\platform\symbian\hxsymbianapman.cpp
client\netwksvc\pub\platform\symbian\hxsymbianbearermonitor.cpp
Files Added:
None
Image Size and Heap Use impact:
None
Platforms and Profiles Build Verified:
helix-client-s60-mmf-mdf-arm
helix-client-s60-mmf-mdf-dsp
Platforms and Profiles Functionality verified:
armv5
Branch:
head and hxclient_2_1_0_cayennes
Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.37.2.4
retrieving revision 1.37.2.5
diff -u -d -r1.37.2.4 -r1.37.2.5
--- hxresult.h 17 Jul 2006 21:16:58 -0000 1.37.2.4
+++ hxresult.h 27 Jul 2006 16:48:19 -0000 1.37.2.5
@@ -224,6 +224,7 @@
#define HXR_SOCKET_NOBUFS MAKE_HX_RESULT(1,SS_NET,51) // 80040073
#define HXR_NET_SUSPENDED MAKE_HX_RESULT(1,SS_NET,52) // 80040074
#define HXR_NET_RESOURCES_IN_USE MAKE_HX_RESULT(1,SS_NET,53) // 80040075
+#define HXR_ACCESSPOINT_NOT_FOUND MAKE_HX_RESULT(1,SS_NET,54) // 80040076
#define HXR_AT_END MAKE_HX_RESULT(0,SS_FIL,0) // 00040080
#define HXR_INVALID_FILE MAKE_HX_RESULT(1,SS_FIL,1) // 80040081
From junhliu at helixcommunity.org Thu Jul 27 09:49:32 2006
From: junhliu at helixcommunity.org (junhliu@helixcommunity.org)
Date: Thu Jul 27 11:21:39 2006
Subject: [Common-cvs] include hxresult.h,1.43,1.44
Message-ID:
Update of /cvsroot/common/include
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv25323
Modified Files:
hxresult.h
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with Real Networks,
and I am authorized to contribute this code under said agreement."
Modified by:
Junhong.Liu@nokia.com
Reviewed by:
Date:
July-24-2006
Project:
Helix plug-in for Symbian
Error ID: EOVL-6PNL6H
SRAA-6NLSU8
EAVZ-6Q5LY5
EAVZ-6RZM4T
Synopsis: Wrong error note for invalid access point
Currently if access point connection fails, UI always shows "Configurae a default access point" instead of "Unable to connect".
This CR is to remap the connection fail error code to KErrCouldNotConnect, so UI can show "Unable to connect". For access point
is not found situation, a new error code is defined. This error code is mapped to KErrAbor, allowing UI to show "Configure a default
access point".
In addition, some cleanup has been made aslo.
Files Modified:
clientapps\symbianMmf\hxmmfctrlimpl.cpp
common\include\hxresult.h
client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianapman.h
client\netwksvc\pub\platform\pub\platform\symbian\hxsymbianbearermonitor.h
client\netwksvc\pub\platform\symbian\hxsymbianapman.cpp
client\netwksvc\pub\platform\symbian\hxsymbianbearermonitor.cpp
Files Added:
None
Image Size and Heap Use impact:
None
Platforms and Profiles Build Verified:
helix-client-s60-mmf-mdf-arm
helix-client-s60-mmf-mdf-dsp
Platforms and Profiles Functionality verified:
armv5
Branch:
head and hxclient_2_1_0_cayennes
Index: hxresult.h
===================================================================
RCS file: /cvsroot/common/include/hxresult.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- hxresult.h 20 Jul 2006 19:52:15 -0000 1.43
+++ hxresult.h 27 Jul 2006 16:49:30 -0000 1.44
@@ -225,6 +225,7 @@
#define HXR_SOCKET_NOBUFS MAKE_HX_RESULT(1,SS_NET,51) // 80040073
#define HXR_NET_SUSPENDED MAKE_HX_RESULT(1,SS_NET,52) // 80040074
#define HXR_NET_RESOURCES_IN_USE MAKE_HX_RESULT(1,SS_NET,53) // 80040075
+#define HXR_ACCESSPOINT_NOT_FOUND MAKE_HX_RESULT(1,SS_NET,54) // 80040076
#define HXR_AT_END MAKE_HX_RESULT(0,SS_FIL,0) // 00040080
#define HXR_INVALID_FILE MAKE_HX_RESULT(1,SS_FIL,1) // 80040081
From dyek at helixcommunity.org Thu Jul 27 15:54:49 2006
From: dyek at helixcommunity.org (dyek@helixcommunity.org)
Date: Thu Jul 27 17:26:54 2006
Subject: [Common-cvs] system/pub/platform/unix pthreadthreads.h,1.8,1.8.6.1
Message-ID:
Update of /cvsroot/common/system/pub/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv30860/common/system/pub/platform/unix
Modified Files:
Tag: hxclient_1_5_0_cayenne
pthreadthreads.h
Log Message:
Integrate fixes for g2mp4combo piacpu, sem_t, and math64.h into 150 Cay to fix GCC 4.x issues.
Index: pthreadthreads.h
===================================================================
RCS file: /cvsroot/common/system/pub/platform/unix/pthreadthreads.h,v
retrieving revision 1.8
retrieving revision 1.8.6.1
diff -u -d -r1.8 -r1.8.6.1
--- pthreadthreads.h 27 Oct 2004 23:41:10 -0000 1.8
+++ pthreadthreads.h 27 Jul 2006 22:54:45 -0000 1.8.6.1
@@ -102,10 +102,7 @@
#ifndef _MAC_UNIX
-struct HXsem_t : public sem_t
-{
- char padding[64]; /* Flawfinder: ignore */ // different linux versions have different binary reps blechhhh!
-};
+typedef sem_t HXsem_t;
//=======================================================================
//
From vishnuk at helixcommunity.org Thu Jul 27 22:38:41 2006
From: vishnuk at helixcommunity.org (vishnuk@helixcommunity.org)
Date: Fri Jul 28 00:10:40 2006
Subject: [Common-cvs] netio/platform/unix unix_net.cpp,1.12,1.12.30.1
Message-ID:
Update of /cvsroot/common/netio/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv24510
Modified Files:
Tag: helixsim-perf-05SEPT6
unix_net.cpp
Log Message:
Vishnu:Fixed bug#139355, close the pipe in DoStartAsyncConn() before exit when unreachable server provided.
Index: unix_net.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/unix/unix_net.cpp,v
retrieving revision 1.12
retrieving revision 1.12.30.1
diff -u -d -r1.12 -r1.12.30.1
--- unix_net.cpp 11 Jan 2005 00:09:05 -0000 1.12
+++ unix_net.cpp 28 Jul 2006 05:38:38 -0000 1.12.30.1
@@ -661,6 +661,17 @@
//printf("Bad host or some other nasty\n");
//Send back \0 for now.
::write( m_anDNSPipe[1], "\0", 1 );
+ if ( 0 != ::close( m_anDNSPipe[1]) )
+ {
+ //Unlikly, but if it does happen then we won't get
+ //an EOF written to the pipe and the AsyncDNS will
+ //never complete.
+#ifdef _DEBUG
+ fprintf( stderr, "AsyncDNS can't close pipe. Disable AsyncDNS with NoAsyncDNS=1\n");
+ fprintf( stderr, "If you have problems connecting.\n");
+#endif
+
+ }
exit(1);
}
//Got good IP, send it back in dot format.
From jagmeet at helixcommunity.org Fri Jul 28 00:32:02 2006
From: jagmeet at helixcommunity.org (jagmeet@helixcommunity.org)
Date: Fri Jul 28 02:04:00 2006
Subject: [Common-cvs] netio/platform/unix unix_net.cpp,1.20,1.21
Message-ID:
Update of /cvsroot/common/netio/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv11564
Modified Files:
unix_net.cpp
Log Message:
Vishnu:Fixed Bug#139355, Close the pipe in DoStartAsyncConn() before exit when unreachable server provided.
Index: unix_net.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/unix/unix_net.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- unix_net.cpp 12 Apr 2006 01:09:00 -0000 1.20
+++ unix_net.cpp 28 Jul 2006 07:31:59 -0000 1.21
@@ -678,6 +678,17 @@
//printf("Bad host or some other nasty\n");
//Send back \0 for now.
::write( m_anDNSPipe[1], "\0", 1 );
+ if ( 0 != ::close( m_anDNSPipe[1]) )
+ {
+ //Unlikly, but if it does happen then we won't get
+ //an EOF written to the pipe and the AsyncDNS will
+ //never complete.
+#ifdef _DEBUG
+ fprintf( stderr, "AsyncDNS can't close pipe. Disable AsyncDNS with NoAsyncDNS=1\n");
+ fprintf( stderr, "If you have problems connecting.\n");
+#endif
+
+ }
exit(1);
}
//Got good IP, send it back in dot format.
From vishnuk at helixcommunity.org Fri Jul 28 00:33:50 2006
From: vishnuk at helixcommunity.org (vishnuk@helixcommunity.org)
Date: Fri Jul 28 02:05:49 2006
Subject: [Common-cvs] netio/platform/unix unix_net.cpp,1.12,1.12.2.1
Message-ID:
Update of /cvsroot/common/netio/platform/unix
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv12047
Modified Files:
Tag: hxclient_1_5_0_cayenne
unix_net.cpp
Log Message:
Vishnu:Fixed Bug#139355, Close pipe in DoStartAsyncConn() begore exit when unreachable server is provided.
Index: unix_net.cpp
===================================================================
RCS file: /cvsroot/common/netio/platform/unix/unix_net.cpp,v
retrieving revision 1.12
retrieving revision 1.12.2.1
diff -u -d -r1.12 -r1.12.2.1
--- unix_net.cpp 11 Jan 2005 00:09:05 -0000 1.12
+++ unix_net.cpp 28 Jul 2006 07:33:48 -0000 1.12.2.1
@@ -661,6 +661,17 @@
//printf("Bad host or some other nasty\n");
//Send back \0 for now.
::write( m_anDNSPipe[1], "\0", 1 );
+ if ( 0 != ::close( m_anDNSPipe[1]) )
+ {
+ //Unlikly, but if it does happen then we won't get
+ //an EOF written to the pipe and the AsyncDNS will
+ //never complete.
+#ifdef _DEBUG
+ fprintf( stderr, "AsyncDNS can't close pipe. Disable AsyncDNS with NoAsyncDNS=1\n");
+ fprintf( stderr, "If you have problems connecting.\n");
+#endif
+
+ }
exit(1);
}
//Got good IP, send it back in dot format.
From kliu at helixcommunity.org Fri Jul 28 13:08:55 2006
From: kliu at helixcommunity.org (kliu@helixcommunity.org)
Date: Fri Jul 28 14:40:45 2006
Subject: [Common-cvs] CVSROOT avail,1.101,1.102
Message-ID:
Update of /cvsroot/common/CVSROOT
In directory cvs02.internal.helixcommunity.org:/tmp/cvs-serv3711/CVSROOT
Modified Files:
avail
Log Message:
granting imakandar write access for the common project
Index: avail
===================================================================
RCS file: /cvsroot/common/CVSROOT/avail,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- avail 19 Jul 2006 16:34:27 -0000 1.101
+++ avail 28 Jul 2006 20:08:52 -0000 1.102
@@ -1,4 +1,5 @@
unavail
+avail|imakandar
avail|vishnuk
avail|asrivastava
avail|srao
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.