[Player-cvs] app/plugin hxbackend.cpp, 1.32.2.3, 1.32.2.4 hxbackend.h, 1.17.2.3, 1.17.2.4

[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.org
Thu Jul 8 16:12:47 PDT 2004


Update 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;
 }
 
 




More information about the Player-cvs mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

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.