Ticket #368: mythtv_teletext_20060310.diff

File mythtv_teletext_20060310.diff, 2.9 KB (added by frankm, 14 years ago)

Patch to get it working again

  • libs/libmythtv/NuppelVideoPlayer.cpp

     
    118118    kDisplaySubtitle,
    119119    kDisplayCC608,
    120120    kDisplayCC708,
    121     kDisplayNone,
     121    kDisplayTeletextA,
    122122    kDisplayTeletextB,
    123123};
    124124
     
    13481348    }
    13491349}
    13501350
     1351uint NuppelVideoPlayer::GetCaptionMode(void)
     1352{
     1353    if (decoder->GetTeletextDecoderType() >= 0)
     1354        return kDisplayTeletextA;
     1355    else
     1356        return textDisplayMode;
     1357}
     1358
    13511359void NuppelVideoPlayer::ResetCaptions(uint mode_override)
    13521360{
    13531361    uint origMode   = textDisplayMode;
     
    28502858            osd->DisableFade();
    28512859        }
    28522860        osd->SetCC708Service(&CC708services[1]);
     2861   
     2862        OSDSet  *oset = osd->GetSet("teletext");
     2863        OSDType *traw = NULL;
     2864        if (oset)
     2865            traw = oset->GetType("teletext");
     2866
     2867        OSDTypeTeletext *tt_view = dynamic_cast<OSDTypeTeletext*>(traw);
     2868        if (tt_view)
     2869        {
     2870            decoder->SetTeletextDecoderViewer(tt_view);
     2871            tt_view->SetDisplaying(false);
     2872        }
    28532873    }
    28542874
    28552875    playing = true;
  • libs/libmythtv/NuppelVideoPlayer.h

     
    269269    void AddSubtitle(const AVSubtitle& subtitle);
    270270
    271271    // Closed caption and teletext stuff
    272     uint GetCaptionMode(void) const { return textDisplayMode; }
     272    uint GetCaptionMode(void);
    273273    void ResetCaptions(uint mode_override = 0);
    274274    void DisableCaptions(uint mode, bool osd_msg = true);
    275275    void EnableCaptions(uint mode);
  • libs/libmythtv/osdtypeteletext.cpp

     
    10071007            }
    10081008            else
    10091009            {
    1010                 char ch = CharConversion(ch, lang);
     1010                char ch2 = CharConversion(ch, lang);
    10111011                bool dh = doubleheight && row < (uint)kTeletextRows;
    10121012                int  rw = (dh) ? row + 1 : row;
    1013                 DrawCharacter(x, rw, ch, dh);
     1013                DrawCharacter(x, rw, ch2, dh);
    10141014            }
    10151015        }
    10161016    }
  • libs/libmythtv/tv_play.cpp

     
    17711771            ClearInputQueues(false);
    17721772            AddKeyToInputQueue(0);
    17731773        }
     1774        else if (activenvp->GetCaptionMode() & kDisplayTeletextA)
     1775        {
     1776            activenvp->ToggleCaptions(4);
     1777        }
    17741778        else
    17751779        {
    17761780            activenvp->ToggleCaptions();