From: Marten Richter Date: Sat, 17 Nov 2012 18:40:43 +0000 (+0100) Subject: Updates on mode switching code, still turned off X-Git-Tag: 0-4-0^2~12^2~20 X-Git-Url: https://git.vomp.tv/gitweb/?a=commitdiff_plain;h=9de556dad6c509437abcb0e0a02b7f5e2ac09a4b;p=vompclient.git Updates on mode switching code, still turned off --- diff --git a/videoomx.cc b/videoomx.cc index c3456d9..695c547 100644 --- a/videoomx.cc +++ b/videoomx.cc @@ -682,27 +682,30 @@ int VideoOMX::sync() void VideoOMX::interlaceSwitch4Demux() { return; Demuxer *demux=Demuxer::getInstance(); - if ( (outputinterlaced && !demux->getInterlaced()) - || (!outputinterlaced && demux->getInterlaced())) { - if (hdmi && (demux->getHorizontalSize()>720 || demux->getInterlaced() )) { // only switch if hdmi and HD or interlaced SD material - Log::getInstance()->log("Video", Log::NOTICE, "switch interlacing %d",demux->getInterlaced()); - - //OMX_Deinit(); - int set_interlaced=0; - if (demux->getHorizontalSize()>720 && demux->getInterlaced()) { - set_interlaced=1; - } + + if (hdmi) { // only switch if hdmi and HD or interlaced SD material + + + //OMX_Deinit(); + int set_interlaced=0; + if (demux->getHorizontalSize()>720 && demux->getInterlaced()) { + set_interlaced=1; + } + Log::getInstance()->log("Video", Log::NOTICE, "switch interlacing %d %d %d",demux->getInterlaced(),outputinterlaced,set_interlaced); + if (outputinterlaced!=set_interlaced) { selectVideoMode(set_interlaced); - //OMX_Init(); Osd::getInstance()->shutdown(); Osd::getInstance()->restore(); Osd::getInstance()->init((void*)""); BoxStack::getInstance()->redrawAllBoxes(); initted=1; - } + //OMX_Init(); + } + + }