Ticket #3466: 3466-v1.patch
File 3466-v1.patch, 6.7 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/NuppelVideoPlayer.cpp
1475 1475 } 1476 1476 } 1477 1477 1478 void NuppelVideoPlayer::DrawUnusedRects(bool sync) 1479 { 1480 if (videoOutput) 1481 videoOutput->DrawUnusedRects(sync); 1482 } 1483 1478 1484 void NuppelVideoPlayer::ResetCaptions(uint mode_override) 1479 1485 { 1480 1486 uint origMode = textDisplayMode; -
libs/libmythtv/guidegrid.h
86 86 void paintEvent(QPaintEvent *); 87 87 88 88 private slots: 89 void timeout(); 90 void jumpToChannelTimeout(); 89 void timeCheckTimeout(void); 90 void repaintVideoTimeout(void); 91 void jumpToChannelTimeout(void); 91 92 92 93 private: 93 94 void keyPressEvent(QKeyEvent *e); … … 174 175 QString currentTimeColor; 175 176 176 177 QTimer *timeCheck; 178 QTimer *videoRepaintTimer; 177 179 178 180 bool keyDown; 179 181 -
libs/libmythtv/tv_play.h
112 112 void StopEmbeddingOutput(void); 113 113 bool IsEmbedding(void); 114 114 void EPGChannelUpdate(uint chanid, QString channum); 115 void DrawUnusedRects(bool sync); 115 116 116 117 // Recording commands 117 118 int PlayFromRecorder(int recordernum); -
libs/libmythtv/guidegrid.cpp
261 261 262 262 timeCheck = NULL; 263 263 timeCheck = new QTimer(this); 264 connect(timeCheck, SIGNAL(timeout()), SLOT(time out()) );264 connect(timeCheck, SIGNAL(timeout()), SLOT(timeCheckTimeout()) ); 265 265 timeCheck->start(200); 266 266 267 videoRepaintTimer = new QTimer(this); 268 QObject::connect(videoRepaintTimer, SIGNAL(timeout()), 269 this, SLOT(repaintVideoTimeout())); 270 videoRepaintTimer->start(1000); 271 267 272 selectState = false; 268 273 269 274 updateBackground(); … … 281 286 for (int x = 0; x < MAX_DISPLAY_TIMES; x++) 282 287 { 283 288 if (m_timeInfos[x]) 289 { 284 290 delete m_timeInfos[x]; 291 m_timeInfos[x] = NULL; 292 } 285 293 } 286 294 287 295 for (int y = 0; y < MAX_DISPLAY_CHANS; y++) 288 296 { 289 297 if (m_programs[y]) 298 { 290 299 delete m_programs[y]; 300 m_programs[y] = NULL; 301 } 291 302 } 292 303 293 304 m_channelInfos.clear(); 294 305 295 delete theme; 306 if (theme) 307 { 308 delete theme; 309 theme = NULL; 310 } 311 312 if (jumpToChannelTimer) 313 { 314 jumpToChannelTimer->deleteLater(); 315 jumpToChannelTimer = NULL; 316 } 317 318 if (timeCheck) 319 { 320 timeCheck->deleteLater(); 321 timeCheck = NULL; 322 } 323 324 if (videoRepaintTimer) 325 { 326 videoRepaintTimer->deleteLater(); 327 videoRepaintTimer = NULL; 328 } 296 329 } 297 330 298 331 void GuideGrid::keyPressEvent(QKeyEvent *e) … … 533 566 return m_channelInfos[idx].chanid; 534 567 } 535 568 536 void GuideGrid::time out()569 void GuideGrid::timeCheckTimeout(void) 537 570 { 538 571 timeCheck->changeInterval((int)(60 * 1000)); 539 572 QTime new_time = QTime::currentTime(); … … 561 594 repaint(curInfoRect, false); 562 595 } 563 596 597 void GuideGrid::repaintVideoTimeout(void) 598 { 599 timeCheck->changeInterval(1000); 600 update(videoRect); 601 } 602 564 603 void GuideGrid::fillChannelInfos(bool gotostartchannel) 565 604 { 566 605 m_channelInfos.clear(); … … 974 1013 if (r.intersects(videoRect) && m_player) 975 1014 { 976 1015 timeCheck->changeInterval((int)(200)); 1016 m_player->DrawUnusedRects(false); 977 1017 } 978 1018 979 1019 qApp->unlock(); … … 1794 1834 ChannelInfo info = m_channelInfos[idx]; 1795 1835 1796 1836 if (m_player) 1837 { 1797 1838 m_player->EPGChannelUpdate(info.chanid, info.chanstr); 1839 videoRepaintTimer->start(200); 1840 } 1798 1841 } 1799 1842 1800 1843 // -
libs/libmythtv/NuppelVideoPlayer.h
118 118 void StopEmbedding(void); 119 119 void ExposeEvent(void); 120 120 bool IsEmbedding(void); 121 void DrawUnusedRects(bool sync); 121 122 122 123 // Audio Sets 123 124 void SetNoAudio(void) { no_audio_out = true; } -
libs/libmythtv/tv_play.cpp
5035 5035 return false; 5036 5036 } 5037 5037 5038 void TV::DrawUnusedRects(bool sync) 5039 { 5040 if (nvp) 5041 nvp->DrawUnusedRects(sync); 5042 } 5043 5038 5044 void TV::doEditSchedule(int editType) 5039 5045 { 5040 5046 if (!playbackinfo) -
libs/libmythtv/videoout_xv.cpp
2465 2465 } 2466 2466 2467 2467 if ((needrepaint || xv_need_bobdeint_repaint) && 2468 (VideoOutputSubType() >= XVideo) )2468 (VideoOutputSubType() >= XVideo) && !embedding) 2469 2469 { 2470 2470 DrawUnusedRects(/* don't do a sync*/false); 2471 2471 } … … 2480 2480 2481 2481 void VideoOutputXv::DrawUnusedRects(bool sync) 2482 2482 { 2483 // Unfortunately, this gets drawn in the wrong place on prebuffering2484 // pauses when embedding and this is rarely useful when embedding2485 // since the background is drawn in guidegrid so we bail here. -- dtk2486 if (embedding)2487 return;2488 2489 2483 // boboff assumes the smallest interlaced resolution is 480 lines - 5% 2490 2484 bool use_bob = (m_deinterlacing && m_deintfiltername == "bobdeint"); 2491 2485 int boboff_raw = (int)round(((double)display_video_rect.height()) / … … 2512 2506 2513 2507 X11L; 2514 2508 2515 if (xv_draw_colorkey && needrepaint) 2509 // This is used to avoid drawing the colorkey when embedding and 2510 // not using overlay. This is needed because we don't paint this 2511 // in the vertical retrace period when calling this from the EPG. 2512 bool clrdraw = xv_colorkey || !embedding; 2513 2514 if (xv_draw_colorkey && needrepaint && clrdraw) 2516 2515 { 2517 2516 XSetForeground(XJ_disp, XJ_gc, xv_colorkey); 2518 2517 XFillRectangle(XJ_disp, XJ_curwin, XJ_gc, … … 2521 2520 display_visible_rect.width(), 2522 2521 display_visible_rect.height() - 2 * boboff); 2523 2522 } 2524 else if (xv_draw_colorkey && xv_need_bobdeint_repaint )2523 else if (xv_draw_colorkey && xv_need_bobdeint_repaint && clrdraw) 2525 2524 { 2526 2525 // if this is only for deinterlacing mode switching, draw 2527 2526 // the border areas, presumably the main image is undamaged.