]> git.vomp.tv Git - vompclient.git/commitdiff
Updates for gcc 3.4.5. H3 updates to find mtd device (using kernel 2.4.31)
authorChris Tallon <chris@vomp.tv>
Fri, 26 Jan 2007 18:06:27 +0000 (18:06 +0000)
committerChris Tallon <chris@vomp.tv>
Fri, 26 Jan 2007 18:06:27 +0000 (18:06 +0000)
17 files changed:
GNUmakefile
Makefile.nmake
dsock.cc
main.cc
mtd.h
mtdmvp.cc
mtdmvp.h
mtdwin.cc
mtdwin.h
player.cc
player.h
playerradio.cc
playerradio.h
vchannellist.cc
vradiorec.cc
vvideolive.cc
vvideorec.cc

index 3ad83c088fdf96f953d05f6d42ef5cdc3bc47d96..ae83373fb32ff47393595e3e6e36884f9065e9c4 100644 (file)
@@ -1,10 +1,11 @@
-CC = /opt/crosstool/powerpc-405-linux-gnu/gcc-2.95.3-glibc-2.2.5/bin/powerpc-405-linux-gnu-g++
+CC=/home/chris/mvp/vomp/compiler/crosstool/gcc-3.4.5-glibc-2.2.5/powerpc-405-linux-gnu/bin/powerpc-405-linux-gnu-g++
+#CC = /opt/crosstool/powerpc-405-linux-gnu/gcc-2.95.3-glibc-2.2.5/bin/powerpc-405-linux-gnu-g++
 STRIP = /opt/crosstool/powerpc-405-linux-gnu/gcc-2.95.3-glibc-2.2.5/bin/powerpc-405-linux-gnu-strip
 
 CXX = $(CC)
 INCLUDES = -I../jpeg-6b
-CXXFLAGS_DEV = -g -O0 -Wall -Woverloaded-virtual -Wshadow -Werror -DDEV -D_GNU_SOURCE $(INCLUDES)
-CXXFLAGS_REL = -O3 -Wall -Woverloaded-virtual -Wshadow -Werror -D_GNU_SOURCE $(INCLUDES)
+CXXFLAGS_DEV = -g -O0 -Wall -Wshadow -Werror -DDEV -D_GNU_SOURCE $(INCLUDES)
+CXXFLAGS_REL = -O3 -Wall -Wshadow -Werror -D_GNU_SOURCE $(INCLUDES)
 LDFLAGS = -Wall -static
 
 LIBPATHS =
@@ -24,7 +25,7 @@ OBJECTS = $(OBJECTS1) $(OBJECTSMVP)
 default: dev
 fresh:   clean default
 
-vompclient: $(OBJECTS)
+vompclient: $(OBJECTS) $(CROSSLIBS)
        $(CC) $(LDFLAGS) $(LIBPATHS) $(RELEASE) -o vompclient $(OBJECTS) $(CROSSLIBS) $(LIBS)
 
 strip:
@@ -35,7 +36,7 @@ install:
        cp vompclient /diskless/nfs/mvp
        rm -f /diskless/nfs/wmvp/vompclient
        cp vompclient /diskless/nfs/wmvp
-       
+
 
 debug:
        ../../gdb/gdb-6.3-target-ppc/gdb/gdb /diskless/nfs/mvp/vompclient /diskless/nfs/mvp/core.*
index 013c4768257bb6f0835be524f9afef7b1fc9feb8..52fba99be651b0a4cec31c95729b2d6db65ca385 100644 (file)
@@ -1,3 +1,11 @@
+
+###############################
+
+#       ! Chris - WRONG FILE !
+
+###############################
+
+
 CXXFLAGS_DEV = -g -O0 -Wall -Woverloaded-virtual -Wshadow -Werror -DDEV -D_GNU_SOURCE $(INCLUDES)
 CXXFLAGS_REL = /I"$(DXSDK_DIR)\Include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "NEW_DEMUXER"  /nologo /EHsc /MD /GS   /W3  /c   /TP
 LDFLAGS =  /INCREMENTAL:NO /NOLOGO /NODEFAULTLIB  /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LIBPATH:"$(DXSDK_DIR)\Lib\x86"
index af6cf1e88360c56cd5a9348aeed6b6f59fbb1993..64f35acc8cec23e466b01c501af2f350adb5a9f6 100644 (file)
--- a/dsock.cc
+++ b/dsock.cc
@@ -205,6 +205,15 @@ void DatagramSocket::send(char *ipa, short port, char *message, int length)
 
 ULONG DatagramSocket::getIPNumber(ULONG num)
 {
+#ifndef WIN32
+  return INADDR_ANY;
+
+  // gcc 3.4 says:
+  // warning: Using 'gethostbyname' in statically linked applications requires at runtime
+  // the shared libraries from the glibc version used for linking
+
+#else
+
   char buffer[100];
   ULONG returnaddress;
 
@@ -225,4 +234,6 @@ ULONG DatagramSocket::getIPNumber(ULONG num)
   int get_ip=(num%num_ip);//Just wrap around, if no interface are present any more
   memcpy(&returnaddress, hosts->h_addr_list[get_ip], sizeof(ULONG));
   return returnaddress;
+
+#endif
 }
diff --git a/main.cc b/main.cc
index b5f56e8fb4d7d1e6064cc8c3d8463c815624d66a..0f96160d7ec555664926403f483cafd753fcdd8b 100644 (file)
--- a/main.cc
+++ b/main.cc
@@ -190,7 +190,7 @@ int main(int argc, char** argv)
     shutdown(1);
   }
 
-  success = mtd->init("/dev/mtd1");
+  success = mtd->init();
   if (success)
   {
     logger->log("Core", Log::INFO, "Mtd module initialised");
diff --git a/mtd.h b/mtd.h
index 0ab774970711abad4b6441f6102c82f3ac46cfd3..9784a16a72ea1308ac2cd8124d825ba3803d248f 100644 (file)
--- a/mtd.h
+++ b/mtd.h
@@ -30,7 +30,7 @@ class Mtd
     virtual ~Mtd();
     static Mtd* getInstance();
 
-    virtual int init(char* device)=0;
+    virtual int init()=0;
     virtual int shutdown()=0;
 
     virtual short getPALorNTSC()=0;
index 0860a16e9dcf0f9fde6a3c951ed4750181d6044a..24654ed08caed16e236ef07c0aaa088b898650dc 100644 (file)
--- a/mtdmvp.cc
+++ b/mtdmvp.cc
@@ -30,14 +30,47 @@ MtdMVP::~MtdMVP()
 {
 }
 
-int MtdMVP::init(char* device)
+int MtdMVP::init()
 {
   if (initted) return 0;
   initted = 1;
 
+  FILE* fp = fopen("/proc/mtd", "r");
+  if (!fp)
+  {
+    Log::getInstance()->log("MTD", Log::DEBUG, "Could not open /proc/mtd");
+    initted = 0;
+    return 0;
+  }
+
+  char buffer[1024];
+  char mtdNumberChar = '\0';
+
+  while(!feof(fp))
+  {
+    fgets(buffer, 1023, fp);
+    if (strstr(buffer, "HCW MediaMVP VPD"))
+    {
+      mtdNumberChar = buffer[3];
+    }
+  }
+  fclose(fp);
+
+  if (mtdNumberChar == '\0')
+  {
+    Log::getInstance()->log("MTD", Log::DEBUG, "Failed to find correct /dev/mtdX device");
+    initted = 0;
+    return 0;
+  }
+
+  strcpy(buffer, "/dev/mtd");
+  strncat(buffer, &mtdNumberChar, 1);
+  Log::getInstance()->log("MTD", Log::DEBUG, "Located MTD device: %s", buffer);
+
+
   int fd;
 
-  if ((fd = open("/dev/mtd1", O_RDONLY)) < 0)
+  if ((fd = open(buffer, O_RDONLY)) < 0)
   {
     Log::getInstance()->log("MTD", Log::DEBUG, "Open fail");
     initted = 0;
index 8b110d3b7de96c644d3a5d5349ee96a2326bb919..21d64048b282f5496f22e4daa3390bd07930e75c 100644 (file)
--- a/mtdmvp.h
+++ b/mtdmvp.h
@@ -52,7 +52,7 @@ class MtdMVP : public Mtd
     MtdMVP();
     ~MtdMVP();
 
-    int init(char* device);
+    int init();
     int shutdown();
 
     short getPALorNTSC();
index 51cc3c6761029deba971e63b3005d54b4fd01b16..401289d0201ff888c6ae762040a5b5949eea3ff7 100644 (file)
--- a/mtdwin.cc
+++ b/mtdwin.cc
@@ -30,7 +30,7 @@ MtdWin::~MtdWin()
 {
 }
 
-int MtdWin::init(char* device)
+int MtdWin::init()
 {
   if (initted) return 0;
   initted = 1;
index debd5d43eee72b753d760fc14dc68ef0c13bbc77..46ffb98d53ba40c516cd584692ab825022cd9d06 100644 (file)
--- a/mtdwin.h
+++ b/mtdwin.h
@@ -29,7 +29,7 @@ class MtdWin : public Mtd
     MtdWin();
     ~MtdWin();
 
- virtual   int init(char* device);
+ virtual   int init();
  virtual   int shutdown();
 
 virtual    short getPALorNTSC();
index 20ed763e69db7ef34f2b7b10caeb3570d48e7007..62660411eda204f9bde62e5fb28803bbac92908c 100644 (file)
--- a/player.cc
+++ b/player.cc
@@ -260,11 +260,11 @@ void Player::fastBackward()
   unLock();
 }
 
-void Player::jumpToPercent(int percent)
+void Player::jumpToPercent(double percent)
 {
   lock();
   logger->log("Player", Log::DEBUG, "JUMP TO %i%%", percent);
-  ULONG newFrame = percent * lengthFrames / 100;
+  ULONG newFrame = (ULONG)(percent * lengthFrames / 100);
   switchState(S_JUMP, newFrame);
 //  unLock(); - let thread unlock this
 }
@@ -1106,7 +1106,7 @@ void Player::threadFeedScan()
         // scan has got to the end of what we knew to be there before we started scanning
 
       baseFrameNumber = iframeNumber;
-      frameTimeOffset = abs(iframeNumber - currentFrameNumber) * 1000 / (video->getFPS() * ifactor);
+      frameTimeOffset = abs((int)iframeNumber - (int)currentFrameNumber) * 1000 / (video->getFPS() * ifactor);
 #ifndef WIN32
       gettimeofday(&clock0, NULL);
 #else
index c76eece3af5abbee37fb2776168e3a310f934f07..666cc17628a7db8fc0d49548b41fd50614cfa173 100644 (file)
--- a/player.h
+++ b/player.h
@@ -65,7 +65,7 @@ class Player : public Thread_TYPE, public Callback
     void pause();
     void fastForward();
     void fastBackward();
-    void jumpToPercent(int percent);
+    void jumpToPercent(double percent);
     void skipForward(int seconds);
     void skipBackward(int seconds);
     void jumpToMark(int mark);
index dfe79cf9bf00e9c8ce155761f2fa4eec1b72e14a..9f8f6e27d63dbb830ebbd209fd615761d1414e84 100644 (file)
@@ -237,11 +237,11 @@ void PlayerRadio::pause()
   unLock();
 }
 
-void PlayerRadio::jumpToPercent(int percent)
+void PlayerRadio::jumpToPercent(double percent)
 {
   lock();
   logger->log("PlayerRadio", Log::DEBUG, "JUMP TO %i%%", percent);
-  ULONG newPacket = percent * lengthPackets / 100;
+  ULONG newPacket = (ULONG)(percent * lengthPackets / 100);
   switchState(S_JUMP, newPacket);
   unLock();
 }
index ea6ac125893d78f3db59a2c177726e67fc9eceec..cb4802aef01956d750ec0a1aa268a92477c5e501 100644 (file)
@@ -59,7 +59,7 @@ class PlayerRadio : public Thread_TYPE, public Callback
     void play(ULONG apid);               // Live radio
     void stop();
     void pause();
-    void jumpToPercent(int percent);
+    void jumpToPercent(double percent);
     void skipForward(int seconds);
     void skipBackward(int seconds);
 
index e23a7f9cb1e7b2a277e00603490cfe7cd6c5c072..f9aa5d47bc369d32cb3efa977821458efb2e3201 100644 (file)
@@ -242,4 +242,4 @@ void VChannelList::processMessage(Message* m)
       }
     }
   }
-}
\ No newline at end of file
+}
index 989a37cbcfe0a003d83e8a64432f5b8038bc7792..8febeb4ee717546eae584dbdc7074a6506cad381 100644 (file)
@@ -289,19 +289,19 @@ void VRadioRec::processMessage(Message* m)
       case Player::CONNECTION_LOST: // connection lost detected
       {
         // I can't handle this, send it to command
-        Message* m = new Message();
-        m->to = Command::getInstance();
-        m->message = Message::CONNECTION_LOST;
-        Command::getInstance()->postMessageNoLock(m);
+        Message* m2 = new Message();
+        m2->to = Command::getInstance();
+        m2->message = Message::CONNECTION_LOST;
+        Command::getInstance()->postMessageNoLock(m2);
         break;
       }
       case Player::STOP_PLAYBACK:
       {
         // FIXME Obselete ish - improve this
-        Message* m = new Message(); // Must be done after this thread finishes, and must break into master mutex
-        m->to = Command::getInstance();
-        m->message = Message::STOP_PLAYBACK;
-        Command::getInstance()->postMessageNoLock(m);
+        Message* m2 = new Message(); // Must be done after this thread finishes, and must break into master mutex
+        m2->to = Command::getInstance();
+        m2->message = Message::STOP_PLAYBACK;
+        Command::getInstance()->postMessageNoLock(m2);
         break;
       }
     }
index c1703f3ae52017f4fe748a9db3358e41ce1ab724..aed193151e83b6d4c22246e99170f7292226d94d 100644 (file)
@@ -287,19 +287,19 @@ void VVideoLive::processMessage(Message* m)
       {
         Log::getInstance()->log("VVideoLive", Log::DEBUG, "Received connection lost from player");
         // I can't handle this, send it to command
-        Message* m = new Message();
-        m->to = Command::getInstance();
-        m->message = Message::CONNECTION_LOST;
-        Command::getInstance()->postMessageNoLock(m);
+        Message* m2 = new Message();
+        m2->to = Command::getInstance();
+        m2->message = Message::CONNECTION_LOST;
+        Command::getInstance()->postMessageNoLock(m2);
         break;
       }
       case Player::STREAM_END:
       {
         // I can't handle this, send it to command - improve this
-        Message* m = new Message(); // Must be done after this thread finishes, and must break into master mutex
-        m->to = Command::getInstance();
-        m->message = Message::STREAM_END;
-        Command::getInstance()->postMessageNoLock(m);
+        Message* m2 = new Message(); // Must be done after this thread finishes, and must break into master mutex
+        m2->to = Command::getInstance();
+        m2->message = Message::STREAM_END;
+        Command::getInstance()->postMessageNoLock(m2);
         break;
       }
       case Player::ASPECT43:
index fc13e0ccd6f358e3dc2ad454f8cda3e0412b62b3..afe0ef09a8d179d7096c29494097eaeb4a457af0 100644 (file)
@@ -436,19 +436,19 @@ void VVideoRec::processMessage(Message* m)
       case Player::CONNECTION_LOST: // connection lost detected
       {
         // I can't handle this, send it to command
-        Message* m = new Message();
-        m->to = Command::getInstance();
-        m->message = Message::CONNECTION_LOST;
-        Command::getInstance()->postMessageNoLock(m);
+        Message* m2 = new Message();
+        m2->to = Command::getInstance();
+        m2->message = Message::CONNECTION_LOST;
+        Command::getInstance()->postMessageNoLock(m2);
         break;
       }
       case Player::STOP_PLAYBACK:
       {
         // FIXME Obselete ish - improve this
-        Message* m = new Message(); // Must be done after this thread finishes, and must break into master mutex
-        m->to = Command::getInstance();
-        m->message = Message::STOP_PLAYBACK;
-        Command::getInstance()->postMessageNoLock(m);
+        Message* m2 = new Message(); // Must be done after this thread finishes, and must break into master mutex
+        m2->to = Command::getInstance();
+        m2->message = Message::STOP_PLAYBACK;
+        Command::getInstance()->postMessageNoLock(m2);
         break;
       }
       case Player::ASPECT43: