UI size resets after changing TV inputs (1 Viewer)

mrceolla

Portal Pro
December 11, 2010
169
27
Home Country
United States of America United States of America
Hello,

Sorry for the delay in reply. These two issues do seem related but mm is right, it is the overscan adjustments that don't get re-applied in my situation. I usually do not switch inputs while video is playing but will try that when I get home today.

As for the timing of things, I do not remember exactly when I switched the input back to MP on that day. I was going to reproduce the problem again last night while paying attention to time but of course it didn't happen this time. I'd say it happens about 80% of the time...perhaps more.

What I can tell you is that I exited MP right away after it occurred and then gathered up the logs. I believe it would have been one of:

18:06:04
18:06:05

I think the other times are when my TV is turned on or off but the input is not set to MP.

17:04:22 - got home (TV on, set to previous DTV channel)
17:11:29 - left for a quick run (TV off)
17:45:16 - got back from quick run (TV on, set to previous DTV channel)
18:06:04 - switched TV input to MP
18:06:05 - ???

I didn't want to confuse things but I am using an HDMI switcher between MP and my TV. The switcher is turned on/off along with my TV and receiver.

Even if there are brief resolutions changes or resyncing, it would seem that MP could be programmed to 'ignore' these things or at least attempt to re-apply the overscan settings once these events are over.

I will try to get you that xml file tonight. Additionally I will set to debug and try to reproduce the problem.

Thank you for your continued help. I greatly appreciate it.

Have a great day!

Mike
 

mrceolla

Portal Pro
December 11, 2010
169
27
Home Country
United States of America United States of America
Here's that xml file.

After looking at it, perhaps my use of the phrase 'overscan settings" may have been incorrect. As you can see it is the first 4 elements that have custom values.

<entry name="offsetx">62</entry>
<entry name="offsety">28</entry>
<entry name="zoomhorizontal">8992</entry>
<entry name="zoomvertical">9208</entry>

I don't adjust the overscan setting because then any playing video gets resized and I don't want that. I just need to adjust the UI. I hope that makes sense.

I've set my log level to 'Debug'. Would you still like to see the logs next time it happens?

Thanks,
Mike
 

Attachments

  • ScreenCalibration1280x720.fs.xml
    569 bytes

mm1352000

Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Hi again Mike

    After looking at it, perhaps my use of the phrase 'overscan settings" may have been incorrect.
    It doesn't worry me - I knew what you were referring to. :)

    Would you still like to see the logs next time it happens?
    Maybe...
    From the name of the file I can deduce that you usually run MP in 1280x720 full screen. The timing info you provided and the mantis from Tourettes also puts my suspicion squarely on those two last resize events:

    2011-10-12 18:06:04.560108 [Info.][MPMain(1)]: Main: OnSizeChanged - Resetting device
    2011-10-12 18:06:04.564108 [Info.][MPMain(1)]: TexturePacker: disposing texture:1999
    2011-10-12 18:06:04.588110 [Info.][MPMain(1)]: TexturePacker: disposing texture:1996
    2011-10-12 18:06:04.591110 [Info.][MPMain(1)]: TexturePacker: disposing texture:1995
    2011-10-12 18:06:04.603110 [Info.][MPMain(1)]: TexturePacker: disposing texture:1993
    2011-10-12 18:06:04.624112 [Info.][MPMain(1)]: Main: OnDeviceReset called
    2011-10-12 18:06:04.628112 [Info.][MPMain(1)]: Main: Resetting DX9 device
    2011-10-12 18:06:04.633112 [Info.][MPMain(1)]: Main: UnRoute - done
    2011-10-12 18:06:04.638112 [Info.][MPMain(1)]: TexturePacker:Dispose()
    2011-10-12 18:06:04.649113 [Info.][MPMain(1)]: fonts.SafeDispose()
    2011-10-12 18:06:04.655113 [Warn.][MPMain(1)]: GraphicContext: NO screen calibration file found for resolution 1024x768!
    2011-10-12 18:06:04.659114 [Info.][MPMain(1)]: GraphicContext: MP will render at 50 FPS, use animations = True
    2011-10-12 18:06:04.663114 [Info.][MPMain(1)]: fonts.SafeDispose()
    2011-10-12 18:06:04.667114 [Info.][MPMain(1)]: Load fonts from C:\ProgramData\Team MediaPortal\MediaPortal\Skin\StreamedMP\fonts.xml
    2011-10-12 18:06:05.390155 [Info.][MPMain(1)]: TexturePacker: Loaded C:\ProgramData\Team MediaPortal\MediaPortal\Cache\StreamedMP\packedgfx20.png texture:2048x2048 miplevels:1
    2011-10-12 18:06:05.760177 [Info.][MPMain(1)]: TexturePacker: fontengine add texure:1999
    2011-10-12 18:06:05.824180 [Info.][MPMain(1)]: Main: OnSizeChanged - Resetting device
    2011-10-12 18:06:05.829181 [Info.][MPMain(1)]: TexturePacker: disposing texture:1999
    2011-10-12 18:06:05.898184 [Info.][MPMain(1)]: Main: OnDeviceReset called
    2011-10-12 18:06:05.901185 [Info.][MPMain(1)]: Main: Resetting DX9 device
    2011-10-12 18:06:05.955188 [Info.][MPMain(1)]: Main: UnRoute - done
    2011-10-12 18:06:05.959188 [Info.][MPMain(1)]: TexturePacker:Dispose()
    2011-10-12 18:06:05.962188 [Info.][MPMain(1)]: fonts.SafeDispose()
    2011-10-12 18:06:05.968188 [Warn.][MPMain(1)]: GraphicContext: NO screen calibration file found for resolution 1280x720!

    The strange thing for me is that your settings file is not found when the last resize event matches the resolution for your calibration file. From the code, the only practical reason why it wouldn't be picked up is if MP thinks it is not running in full screen mode at the time:

    Code:
          string strFileName = Config.GetFile(Config.Dir.Config, String.Format("ScreenCalibration{0}x{1}", Width, Height));
          if (Fullscreen)
          {
            strFileName += ".fs.xml";
          }
          else
          {
            strFileName += ".xml";
          }
    
          if (!File.Exists(strFileName))
          {
            Log.Warn("GraphicContext: NO screen calibration file found for resolution {0}x{1}!", Width, Height);
          }
          else
          {
            Log.Debug("GraphicContext: Loading settings from {0}", strFileName);
          }

    That is the relevant code - hopefully you are able to follow it. Basically MP is looking for a calibration file named ScreenCalibrationXxY.fs.xml or ScreenCalibrationXxY.xml where X is the horizontal screen resolution and Y is the vertical screen resolution. Since your logs clearly indicate that MP was looking for a 1280x720 calibration in the last resize MP *had* to be operating in non-full-screen mode for it not to find your calibration file...

    So the simple thing that I would do to test and possibly workaround this problem is to copy the calibration file and rename the copy to ScreenCalibration1280x720.xml (note the missing ".fs"). That way MP should find a calibration file regardless of whether it thinks it is operating in full screen mode or not. If that still doesn't work then I'd *really* like to see the logs...

    mm
     

    globaldonkey

    MP Donator
  • Premium Supporter
  • April 23, 2007
    755
    79
    Home Country
    I'm experiencing something similar. When I change inputs on the TV and come back to the HTPC (after it has been running fullscreen), I hear the display reconnect, and MP resizes down to about a quarter of my screen. It is still in fullscreen mode, because there is no window around it. It just takes up the top quarter of the screen. If I press ALT-ENTER, it goes into a window, and if I press ALT-ENTER again, it goes back to full screen (proper fullscreen, filling the screen). Didn't have this problem with XP / MP1.1.2.
     

    mrceolla

    Portal Pro
    December 11, 2010
    169
    27
    Home Country
    United States of America United States of America
    Ahh, you beat me to it. I was planning to report back today after giving it some time. And so far, yes, creating a second screen config seems to have fixed it. I simply did a copy/paste on the ScreenCalibration1280x720.fs.xml then renamed the new file to ScreenCalibration1280x720.xml and I haven't had the problem once since making that change. I did it last weekend I believe. So it's been about a week.

    Thank you very much!

    I still wonder if my problem is isolated. If not, hopefully it can be avoided w/ a change to programming. Should I report a bug somewhere?
     

    mm1352000

    Retired Team Member
  • Premium Supporter
  • September 1, 2008
    21,544
    8,236
    Home Country
    New Zealand New Zealand
    Hi again

    That's good news! :)
    I think the issue is that MP can't properly detect whether it is running in full screen because the screen resolution reported by the video driver and/or Windows at the time are incorrect. This is where the link to the W7 half-screen thing comes in - that is the root cause of the problem there too I think. Any solution to that problem the properly detects the screen resolution would likely solve the problem for you as well. No need to report another bug in my opinion...

    mm
     

    Users who are viewing this thread

    Top Bottom