Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CRenderManager: fix GetAspectRatio at playback start #10071

Merged
merged 1 commit into from
Jul 6, 2016

Conversation

wiromare
Copy link
Contributor

@wiromare wiromare commented Jul 4, 2016

at playbackstart in CGUIInfoManager::UpdateAVInfo() the variables m_videoInfo and m_audioinfo are filled with the info from the player but when these info are requested the rendermanager is not already configured or at least it's not configured on Windows

so when CBaseRenderer::GetAspectRatio() is called m_sourceWidth and m_sourceHeight are not set with the right value but with 720x480

without this PR i have always the tag with the aspect ratio at 1.33:1

I don't know if this is a proper solution

@FernetMenta @afedchin

@FernetMenta
Copy link
Contributor

are you saying that AR is gets not set at all or just for a small period of time after start?

@wiromare
Copy link
Contributor Author

wiromare commented Jul 5, 2016

after that rendermanager is configured GetAspectRatio will return the proper value but it's too late because at this point in CGUIInfoManager::UpdateAVInfo()
if (CServiceBroker::GetDataCacheCore().HasAVInfoChanges()) will return always false so m_videoInfo and m_audioInfo (needed for the skin tags i suppose) cannot be updated, and the gui will show the wrong AR tag for ever

so why i added m_playerPort->VideoParamsChange() after the configure in rendermanager to make possible update m_videoInfo and m_audioInfo

ar

@FernetMenta
Copy link
Contributor

That does not really answer my question. Background:

  • CRenderManager::Configure sets m_bTriggerUpdateResolution
  • then CRenderManager::UpdateResolution is called
  • CRenderManager::UpdateResolution() calls m_playerPort->VideoParamsChange()

Moving m_playerPort->VideoParamsChange should not change anything. maybe an additional update some milliseconds earlier.

What goes different on your system?

@wiromare
Copy link
Contributor Author

wiromare commented Jul 5, 2016

ok i missed the trigger m_bTriggerUpdateResolution, now i know where is the problem

the problem come out only when the kodi is windowed because this

if (g_graphicsContext.IsFullScreenVideo() && g_graphicsContext.IsFullScreenRoot()) in CRenderManager::UpdateResolution

(I was debugging other things when i noticed the tag issue)

@FernetMenta
Copy link
Contributor

the problem come out only when the kodi is windowed because this

ahh, that is important info :)

this change is fine, thanks!

jenkins build this please

@FernetMenta FernetMenta added Type: Fix non-breaking change which fixes an issue v17 Krypton Component: Video labels Jul 6, 2016
@FernetMenta FernetMenta added this to the Krypton 17.0-alpha3 milestone Jul 6, 2016
@FernetMenta FernetMenta merged commit 482cde8 into xbmc:master Jul 6, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Video Type: Fix non-breaking change which fixes an issue v17 Krypton
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants