[Player-cvs] app/plugin hxbackend.cpp, 1.32.2.3, 1.32.2.4 hxbackend.h, 1.17.2.3, 1.17.2.4
rggammon at helixcommunity.org rggammon at helixcommunity.orgUpdate of /cvsroot/player/app/plugin
In directory cvs-new:/tmp/cvs-serv30888
Modified Files:
Tag: bingo-beta
hxbackend.cpp hxbackend.h
Log Message:
merging back bug fixes
Index: hxbackend.h
===================================================================
RCS file: /cvsroot/player/app/plugin/hxbackend.h,v
retrieving revision 1.17.2.3
retrieving revision 1.17.2.4
diff -u -d -r1.17.2.3 -r1.17.2.4
--- hxbackend.h 7 Jul 2004 20:37:08 -0000 1.17.2.3
+++ hxbackend.h 8 Jul 2004 23:12:45 -0000 1.17.2.4
@@ -77,14 +77,6 @@
// mozilla process. */
// #warning "using extended IPC timeout"
-typedef enum
-{
- FIND_PLAYER_STATE_INIT,
- FIND_PLAYER_STATE_OVERRIDE,
- FIND_PLAYER_STATE_REALPLAY,
- FIND_PLAYER_STATE_HXPLAY,
- FIND_PLAYER_STATE_FAILED
-} FindPlayerState;
/* This is a dummy class that we pass off any outstanding timer references
to when we shut down. */
@@ -162,8 +154,6 @@
nsHXPlayer **m_pPlayersList;
int m_nPlayerCount;
int m_nMaxPlayers;
-
- FindPlayerState m_findPlayerState;
static const int m_iBackendVersion;
static const int m_iPlayerVersion;
Index: hxbackend.cpp
===================================================================
RCS file: /cvsroot/player/app/plugin/hxbackend.cpp,v
retrieving revision 1.32.2.3
retrieving revision 1.32.2.4
diff -u -d -r1.32.2.3 -r1.32.2.4
--- hxbackend.cpp 7 Jul 2004 20:37:08 -0000 1.32.2.3
+++ hxbackend.cpp 8 Jul 2004 23:12:45 -0000 1.32.2.4
@@ -77,10 +77,19 @@
#define EXIT_CODE_UNKNOWN 0
#define EXIT_CODE_HXPLAY_NOT_FOUND 10
-
const int CHXPlayerBackend::m_iBackendVersion = 1;
const int CHXPlayerBackend::m_iPlayerVersion = 1;
+typedef enum
+{
+ FIND_PLAYER_STATE_INIT,
+ FIND_PLAYER_STATE_OVERRIDE,
+ FIND_PLAYER_STATE_REALPLAY,
+ FIND_PLAYER_STATE_HXPLAY,
+ FIND_PLAYER_STATE_FAILED
+} FindPlayerState;
+
+
CHXPlayerBackend::CHXPlayerBackend()
: m_bCallbackTimerRunning(FALSE),
m_pTimerFob(NULL),
@@ -99,8 +108,7 @@
m_pMemory(NULL),
m_pPlayersList(NULL),
m_nPlayerCount(0),
- m_nMaxPlayers(0),
- m_findPlayerState(FIND_PLAYER_STATE_INIT)
+ m_nMaxPlayers(0)
{
m_pTimerFob = new CHXTimerFob;
NS_ADDREF(m_pTimerFob);
@@ -380,15 +388,16 @@
nsresult CHXPlayerBackend::OpenEmbeddedPlayer(void)
{
int apisockets[2], cbsockets[2];
+ FindPlayerState findPlayerState = FIND_PLAYER_STATE_INIT;
- while(m_findPlayerState != FIND_PLAYER_STATE_FAILED)
+ while(findPlayerState != FIND_PLAYER_STATE_FAILED)
{
const char* szAppName;
- switch(m_findPlayerState)
+ switch(findPlayerState)
{
case FIND_PLAYER_STATE_INIT:
/* New state */
- m_findPlayerState = FIND_PLAYER_STATE_OVERRIDE;
+ findPlayerState = FIND_PLAYER_STATE_OVERRIDE;
szAppName = getenv("HELIX_PLUGIN_PLAYER_OVERRIDE");
if(szAppName)
{
@@ -397,24 +406,24 @@
/* failed to find an override, fall through */
case FIND_PLAYER_STATE_OVERRIDE:
- m_findPlayerState = FIND_PLAYER_STATE_REALPLAY;
+ findPlayerState = FIND_PLAYER_STATE_REALPLAY;
szAppName = "realplay";
break;
case FIND_PLAYER_STATE_REALPLAY:
- m_findPlayerState = FIND_PLAYER_STATE_HXPLAY;
+ findPlayerState = FIND_PLAYER_STATE_HXPLAY;
szAppName = "hxplay";
break;
case FIND_PLAYER_STATE_HXPLAY:
case FIND_PLAYER_STATE_FAILED:
default:
- m_findPlayerState = FIND_PLAYER_STATE_FAILED;
+ findPlayerState = FIND_PLAYER_STATE_FAILED;
szAppName = NULL;
break;
}
- if(m_findPlayerState == FIND_PLAYER_STATE_FAILED)
+ if(findPlayerState == FIND_PLAYER_STATE_FAILED)
{
break;
}
@@ -515,7 +524,7 @@
close(cbsockets[1]);
/* Embedded player is now open until proved otherwise */
- m_bEmbeddedPlayerOpen = TRUE;
+ m_bEmbeddedPlayerOpen = PR_TRUE;
// Check for protocol version
char szRequest[32];
@@ -563,13 +572,13 @@
} // while(m_findPlayerState != FIND_PLAYER_STATE_FAILED)
- if(m_findPlayerState == FIND_PLAYER_STATE_FAILED)
+ if(findPlayerState == FIND_PLAYER_STATE_FAILED)
{
ShowError("Could not find an appropriate hxplay or realplay in the "
"system path to use as an embedded player");
/* Shutdown will clean up after Init() */
- Shutdown(PR_TRUE);
+ Shutdown(PR_FALSE);
return NS_ERROR_FAILURE;
}
@@ -693,6 +702,11 @@
int nLen;
int i;
+ if(!m_bEmbeddedPlayerOpen)
+ {
+ return;
+ }
+
if(bSendShutdownCommand)
{
/* Tell the player to quit */
@@ -785,6 +799,8 @@
m_nChildPid = 0;
}
+
+ m_bEmbeddedPlayerOpen = FALSE;
}