Scythe42's fixes for 1.4.0 (2 Viewers)

Status
Not open for further replies.

ripk

Portal Member
April 13, 2009
29
6
- System Specs used : AMD 3core
- How many displays : 2
- What resolution does each display use : D1:1080p D2:800x600 (max 1024x768)
- More than one GPU used : No
- How are displays connected : D1:TV via AVreceiver via HDMI D2:VGA
- How are they positioned : D1:top right D2:bottom left
- Which one is the primary one : D1: Primary D2: Secondary
- On which do you start MP : D1
- Where is the taskkbar positioned of Windows : D1
- Skin Used : StreamedMP

Experiencing twitches when going through the root menu, these are random and appear as if a redraw is being done more than once. Attached video and a log file. Note that I'm using a remote control, so not sure what all these mouse move events are doing in the log file...
 

Attachments

  • VID_20130421_211641.rar
    33.9 MB

Owlsroost

Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    Do we know if the people who had problems with Intel GPUs in the previous build have tested this one? 90 downloads so far and very few issues, so I guess we are close!
    No reply yet.

    Not tested this stuff before, but I installed the latest version on an old laptop running Win 8 and gave it a quick test.

    This has a 945GM chipset (GMA950 graphics, no hardware vertex shader support) and not seen any problems, except that with MP running in a window, playing 720 x 480 interlaced video, the CPU usage seemed higher than I remember with 1.3.0. I'll re-install 1.3.0 and check it. The screen resolution is 1680 x 1050.

    Just checked the CPU usage with 1.3.0 Final - it's about the same, maybe a bit lower in the new version, so all good news - well done, thank you Scythe42 (y)
     

    Lightning303

    MP Donator
  • Premium Supporter
  • September 12, 2009
    798
    577
    Home Country
    Germany Germany
    Apologies if this is a known issue, but I'm seeing issues with incorrect video aspect ratio in widowed mode.

    The display is 1680 x 1050 (16:10 aspect ratio), and a 16:9 video looks correct when played fullscreen (thin black bars top & bottom, as expected), but switch to windowed mode (Default Wide skin, so a 16:9 window) and the black bars are still present - see attached image . I think the video should fill the window, as it's now 16:9 video in a 16:9 window.

    EDIT - added logs (Start MP in windowed mode, play video, switch to fullscreen, switch back to windowed, stop play, close MP).

    As far as i know (from explanations @Scythe42 did before), the window aspact ratio is gathered from your skin aspect ratio. This doesnt change when you watch a movie, so the aspect ratio stays.
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    @Scythe42 - based on the new reports, how close are we? This is never going to be perfect, but we should ideally have no regression.
     

    Owlsroost

    Retired Team Member
  • Premium Supporter
  • October 28, 2008
    5,540
    5,038
    Cambridge
    Home Country
    United Kingdom United Kingdom
    the window aspact ratio is gathered from your skin aspect ratio. This doesnt change when you watch a movie, so the aspect ratio stays.

    Yes, that is what it's doing (correctly), the 'internal' window dimensions are in the correct 16:9 ratio (I've checked that it is 1280 x 720), it's the aspect ratio of the actual video playing that is wrong (it's squashed vertically when it shouldn't be).
     

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    50
    Berlin
    Home Country
    Germany Germany
    Have sorted out some of the issue. Sure, cannot get them all for now.

    Also facing some issues with recent changes in master that overwrote g_player.cs. Not sure if it is a regression. Going over the history in git what changes were done to g_player.cs and check if these are still valid, as well as over the full history of my branch. That will take me a few days.

    In addition, I am having huge problems to build the C++ side and therefore cannot create full installers I need to test some stuff with. Also the build scripts do not run for me properly anymore as they used to.

    I'd say I miss the 1.4.0 train here, because I need to sort both issues out.
     
    Last edited:

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    50
    Berlin
    Home Country
    Germany Germany
    Yes, that is what it's doing (correctly), the 'internal' window dimensions are in the correct 16:9 ratio (I've checked that it is 1280 x 720), it's the aspect ratio of the actual video playing that is wrong (it's squashed vertically when it shouldn't be).
    Problem in g_player.cs. Not caused by this series of build. Just one more thing that needs attention. Probably comes all down to the same root cause that you guys identified and is still left in some parts of MP.
     
    Last edited:

    SilentBob

    Portal Pro
    January 1, 2011
    67
    88
    Home Country
    Germany Germany
    I got the same issue with SVN source lol :

    Code:
    [2013-04-21 13:00:26,229] [Error  ] [20	  ] [ERROR] - Error initializing window:WindowPlugins.GUITVSeries.TVSeriesPlugin Collection was modified; enumeration operation may not execute. mscorlib	at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
      at System.Collections.Generic.Dictionary`2.KeyCollection.Enumerator.MoveNext()
      at WindowPlugins.GUITVSeries.DBOption.LogOptions() in D:\svnroot\!PLUGINS\mptvseries - Master_BD\MP-TVSeries\DB Classes\DBOptions.cs:line 730
      at WindowPlugins.GUITVSeries.TVSeriesPlugin.Init() in D:\svnroot\!PLUGINS\mptvseries - Master_BD\MP-TVSeries\TVSeriesPlugin.cs:line 475
      at MediaPortal.GUI.Library.PluginManager.LoadWindowPlugin(String strFile)
    Sorry for the spam, i will retest with 1.3.0Final to compare

    This one is a multi threading issue.

    When i quickly look into the code i see, that MP-TV Series is currently initializing and trying to write the DB Options to a log in a loop:

    Code:
     at WindowPlugins.GUITVSeries.DBOption.LogOptions() in D:\svnroot\!PLUGINS\mptvseries - Master_BD\MP-TVSeries\DB Classes\DBOptions.cs:line 730
     at WindowPlugins.GUITVSeries.TVSeriesPlugin.Init() in D:\svnroot\!PLUGINS\mptvseries - Master_BD\MP-TVSeries\TVSeriesPlugin.cs:line 475


    Within this Code:

    Code:
    public static void LogOptions() {
    	foreach (string key in optionsCache.Keys) 
    	{
    		// dont log private options
    		if (!key.Equals(DBOption.cTraktPassword) && !key.Equals(DBOption.cOnlineUserID))
    		{
    			MPTVSeriesLog.Write(string.Format("Option {0}: {1}", key, optionsCache[key].ToString()), MPTVSeriesLog.LogLevel.Debug);
    		}
    	}
    }


    using values from Dictionary

    Code:
    private static Dictionary<string, DBValue> optionsCache = new Dictionary<string, DBValue>();


    while another Thread (I think another Plugin, as the whole class is public) is currently also accesing and modifying the DB optionsCache. With this acces the Dictionary gets changed and that's the exception.

    Code:
    public static bool SetOptions(String property, DBValue value)
    public static DBValue GetOptions(String property)

    A quick fix would be to either comment the Call to LogOptions() in
    Code:
    WindowPlugins.GUITVSeries.TVSeriesPlugin.Init() in D:\svnroot\!PLUGINS\mptvseries - Master_BD\MP-TVSeries\TVSeriesPlugin.cs:line 475
    or to swith the foreach statement to a for loop, which just minimizes the error condition.


    The one related to imdb or movpic :

    Code:
    [2013-04-19 22:31:31,038] [Error  ] [25	  ] [ERROR] - Error initializing window:IMDb.IMDb Object reference not set to an instance of an object. MovingPictures	at MediaPortal.Plugins.MovingPictures.DataProviders.ScriptableProvider.get_ScriptID()
      at MediaPortal.Plugins.MovingPictures.Database.DBSourceInfo.GetFromScriptID(Int32 scriptID)
      at IMDb.IMDb.Init()
      at MediaPortal.GUI.Library.PluginManager.LoadWindowPlugin(String strFile)

    This is exactly the same root cause: IMDB Plugin Depends on an initialized MovingPicture Plugin.


    So the only real solution would be, to make all Plugin Initializations Thread Safe
     

    Scythe42

    Retired Team Member
  • Premium Supporter
  • June 20, 2009
    2,065
    2,703
    50
    Berlin
    Home Country
    Germany Germany
    Thanks for the offer.

    Problem: Stock Win8 installation, stock VS2012 isstallation, Win SDK 7.1 present. VS2012 does not pickup SDK 7.1 at all for the C++ part.
     
    Status
    Not open for further replies.

    Users who are viewing this thread

    Top Bottom