]> git.vomp.tv Git - vompclient.git/commitdiff
CWFs
authorChris Tallon <chris@vomp.tv>
Sun, 14 Aug 2022 17:54:02 +0000 (17:54 +0000)
committerChris Tallon <chris@vomp.tv>
Sun, 14 Aug 2022 17:54:02 +0000 (17:54 +0000)
src/playervideolive.cc
src/teletextdecodervbiebu.h

index 32db4a113b339d9965bf935ad4f7e38445e81096..7ec0bb26626700f4727764ce7723fc564cb0424d 100644 (file)
@@ -735,8 +735,8 @@ void PlayerVideoLive::threadMethod()
           video->seth264mode(h264);
 
           bool dolby = false;
-          int selected = -1;
-          int prefered = -1;
+          i4 selected = -1;     // FIXME: If selected were u4 none of these casts would be necessary
+          i4 prefered = -1;
 
           Control* control = Control::getInstance();
 
@@ -748,7 +748,7 @@ void PlayerVideoLive::threadMethod()
               int newpref = control->getLangPref(false, chan->dpids[j].desc);
               if (Audio::getInstance()->streamTypeSupported(toi4(chan->dpids[j].type)) && (prefered < 0 || newpref < prefered))
               {
-                selected = j;
+                selected = toi4(j);
                 dolby=true;
                 prefered = newpref;
               }
@@ -762,9 +762,9 @@ void PlayerVideoLive::threadMethod()
             while (j < chan->numAPids)
             {
               int newpref = control->getLangPref(false, chan->apids[j].desc);
-              if (Audio::getInstance()->streamTypeSupported(chan->apids[j].type) && (prefered < 0 || newpref < prefered))
+              if (Audio::getInstance()->streamTypeSupported(toi4(chan->apids[j].type)) && (prefered < 0 || newpref < prefered))
               {
-                selected = j;
+                selected = toi4(j);
                 dolby = false;
                 prefered = newpref;
               }
@@ -776,17 +776,17 @@ void PlayerVideoLive::threadMethod()
           {
             if (dolby)
             {
-              demuxer->setAID(chan->dpids[selected].pid, 1, chan->dpids[selected].type, true);
+              demuxer->setAID(toi4(chan->dpids[tou4(selected)].pid), 1, toi4(chan->dpids[tou4(selected)].type), true);
               audio->setStreamType(Audio::MPEG2_PES);
               logger->debug(TAG, "Demuxer pids: {} {} (ac3) {}",
-                          chan->vpid, chan->dpids[selected].pid, chan->dpids[selected].type);
+                          chan->vpid, chan->dpids[tou4(selected)].pid, chan->dpids[tou4(selected)].type);
             }
             else
             {
-              demuxer->setAID(chan->apids[selected].pid, 0, chan->apids[selected].type, true);
+              demuxer->setAID(toi4(chan->apids[tou4(selected)].pid), 0, toi4(chan->apids[tou4(selected)].type), true);
               audio->setStreamType(Audio::MPEG2_PES);
-              logger->debug(TAG, "Demuxer pids: {} {} {}", chan->vpid, chan->apids[selected].pid,
-              chan->apids[selected].type);
+              logger->debug(TAG, "Demuxer pids: {} {} {}", chan->vpid, chan->apids[tou4(selected)].pid,
+              chan->apids[tou4(selected)].type);
             }
           }
           else
@@ -804,7 +804,7 @@ void PlayerVideoLive::threadMethod()
               int newpref = control->getLangPref(true, chan->spids[j].desc);
               if ((prefered < 0 || newpref < prefered))
               {
-                selected = j;
+                selected = toi4(j);
                 prefered = newpref;
               }
               j++;
@@ -813,7 +813,7 @@ void PlayerVideoLive::threadMethod()
 
           if (selected >= 0)
           {
-            demuxer->setSubID(chan->spids[selected].pid);
+            demuxer->setSubID(toi4(chan->spids[tou4(selected)].pid));
 
             if (firstStart)
             {
@@ -835,7 +835,7 @@ void PlayerVideoLive::threadMethod()
             }
           }
 
-          demuxer->setTID(chan->tpid);
+          demuxer->setTID(toi4(chan->tpid));
           teletext->ResetDecoder();
           int streamSuccess = vdr->streamChannel(chan->number, this);
           if (!checkError() && !streamSuccess)
@@ -868,7 +868,7 @@ void PlayerVideoLive::threadMethod()
       {
         // logger->log("PlayerVideoLive", Log::DEBUG, "chunk mark3");
         ++preBufferCount;
-        u4 percentDone = (preBufferCount * 100) / preBufferAmount;
+        u4 percentDone = tou4((preBufferCount * 100) / preBufferAmount);
         logger->debug(TAG, "Prebuffering {}%", percentDone);
         
         Message* m = new Message();
index f4722efeed1bab1f6be59975e854677f2126ea0c..7cc32a386e61c5784ca2c6d55dc35092f247b73e 100644 (file)
@@ -181,16 +181,16 @@ public:
     inline enumTeletextColor GetFGColor() 
         { return static_cast<enumTeletextColor>((c&FGCOLOR) >> LowestSet32Bit(FGCOLOR)); }
     inline void SetFGColor(enumTeletextColor fgc) 
-        { c=(c&~FGCOLOR) | (fgc << LowestSet32Bit(FGCOLOR)); }
+        { c=(c&~FGCOLOR) | tou4(fgc << LowestSet32Bit(FGCOLOR)); }
     inline cTeletextChar ToFGColor(enumTeletextColor fgc) 
-        { return cTeletextChar((c&~FGCOLOR) | (fgc << LowestSet32Bit(FGCOLOR))); }
+        { return cTeletextChar((c&~FGCOLOR) | tou4(fgc << LowestSet32Bit(FGCOLOR))); }
     
     inline enumTeletextColor GetBGColor() 
         { return static_cast<enumTeletextColor>((c&BGCOLOR) >> LowestSet32Bit(BGCOLOR)); }
     inline void SetBGColor(enumTeletextColor bgc) 
-        { c=(c&~BGCOLOR) | (bgc << LowestSet32Bit(BGCOLOR)); }
+        { c=(c&~BGCOLOR) | tou4(bgc << LowestSet32Bit(BGCOLOR)); }
     inline cTeletextChar ToBGColor(enumTeletextColor bgc) 
-        { return cTeletextChar((c&~BGCOLOR) | (bgc << LowestSet32Bit(BGCOLOR))); }
+        { return cTeletextChar((c&~BGCOLOR) | tou4(bgc << LowestSet32Bit(BGCOLOR))); }
     
     inline bool GetBoxedOut() 
         { return c&BOXOUT; }